{"id":21338669,"url":"https://github.com/frequenz-floss/frequenz-repo-config-python","last_synced_at":"2026-03-05T10:05:16.193Z","repository":{"id":163372198,"uuid":"621830883","full_name":"frequenz-floss/frequenz-repo-config-python","owner":"frequenz-floss","description":"Frequenz repository setup tools and common configuration for Python","archived":false,"fork":false,"pushed_at":"2024-11-04T09:27:47.000Z","size":5496,"stargazers_count":4,"open_issues_count":72,"forks_count":7,"subscribers_count":1,"default_branch":"v0.x.x","last_synced_at":"2024-11-16T17:44:56.414Z","etag":null,"topics":["config","frequenz","grpc","lib","library","mkdocs","nox","project","protobuf","python","repo-config","repository","setuptools","tool"],"latest_commit_sha":null,"homepage":"https://frequenz-floss.github.io/frequenz-repo-config-python/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/frequenz-floss.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":"CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-03-31T13:33:11.000Z","updated_at":"2024-11-04T09:20:44.000Z","dependencies_parsed_at":null,"dependency_job_id":"620e0b01-ba12-470e-8dac-91d179a52068","html_url":"https://github.com/frequenz-floss/frequenz-repo-config-python","commit_stats":null,"previous_names":[],"tags_count":22,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/frequenz-floss%2Ffrequenz-repo-config-python","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/frequenz-floss%2Ffrequenz-repo-config-python/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/frequenz-floss%2Ffrequenz-repo-config-python/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/frequenz-floss%2Ffrequenz-repo-config-python/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/frequenz-floss","download_url":"https://codeload.github.com/frequenz-floss/frequenz-repo-config-python/tar.gz/refs/heads/v0.x.x","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225592719,"owners_count":17493495,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["config","frequenz","grpc","lib","library","mkdocs","nox","project","protobuf","python","repo-config","repository","setuptools","tool"],"created_at":"2024-11-22T00:34:29.324Z","updated_at":"2026-03-05T10:05:16.152Z","avatar_url":"https://github.com/frequenz-floss.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Frequenz Repository Configuration\n\n[![Build Status](https://github.com/frequenz-floss/frequenz-repo-config-python/actions/workflows/ci.yaml/badge.svg)](https://github.com/frequenz-floss/frequenz-repo-config-python/actions/workflows/ci.yaml)\n[![PyPI Package](https://img.shields.io/pypi/v/frequenz-repo-config)](https://pypi.org/project/frequenz-repo-config/)\n[![Docs](https://img.shields.io/badge/docs-latest-informational)](https://frequenz-floss.github.io/frequenz-repo-config-python/)\n\n## Introduction\n\nThis is a highly opinionated set of tools and configurations to set up a Python\nrepository for [Frequenz](https://frequenz.com) projects.\n\nIt offers:\n\n* [Cookiecutter] templates for scaffolding new projects\n* Trivial build of `noxfile.py` with some predefined sessions that include all\n  common checks.\n* Tools to build protobuf/grpc files as Python, including type information.\n\n## Supported Platforms\n\nThe following platforms are officially supported (tested):\n\n- **Python:** 3.11\n- **Operating System:** Ubuntu Linux 20.04\n- **Architectures:** amd64, arm64\n\n## Quick Example\n\nTo start a new project, you should first [install\nCookiecutter](https://cookiecutter.readthedocs.io/en/stable/installation.html).\nIt is normally available in any Linux distribution, but some have a very old\nversion (for example, Ubuntu/Debian). You can [check which version your distro\nhas on Repology](https://repology.org/project/cookiecutter/versions). You need\n**at least version 2.4.0**. To ensure you get an up-to-date version, you can\nalways use `pip` and install it in a `venv`:\n\n```console\n$ python -m venv cookiecutter\n$ cd cookiecutter\n$ . bin/activate\n(venv) $ pip install cookiecutter\nCollecting cookiecutter\n...\n```\n\nThen simply run [Cookiecutter] where you want to create the new project. A new\ndirectory will be created with the generated project name. For example:\n\n```sh\ncd ~/devel\ncookiecutter gh:frequenz-floss/frequenz-repo-config-python --directory=cookiecutter\n```\n\nThis command will prompt you for the project type, name, and other\nconfiguration options, and it will generate the entire project for you.\n\nIt is recommended to use a released version, you can do that by adding the\noption `--checkout \u003cversion\u003e` to the command above. You can check which is the\nlatest version\n[here](https://github.com/frequenz-floss/frequenz-repo-config-python/releases/latest).\n\nAfter completing the project and fixing the `TODO`s, you can either amend the\nprevious commit using `git commit --amend` or create a new commit for the\nchanges using `git commit`.\n\n## Documentation\n\nFor more detailed documentation, please check the [project's\nwebsite](https://frequenz-floss.github.io/frequenz-repo-config-python/).\n\n## Contributing\n\nIf you want to know how to build this project and contribute to it, please\nrefer to the [Contributing Guide](CONTRIBUTING.md).\n\n\n[Cookiecutter]: https://cookiecutter.readthedocs.io/en/stable\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffrequenz-floss%2Ffrequenz-repo-config-python","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffrequenz-floss%2Ffrequenz-repo-config-python","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffrequenz-floss%2Ffrequenz-repo-config-python/lists"}