frequenz-repo-config


Namefrequenz-repo-config JSON
Version 0.10.0 PyPI version JSON
download
home_pageNone
SummaryFrequenz repository setup tools and common configuration
upload_time2024-07-10 11:35:03
maintainerNone
docs_urlNone
authorNone
requires_python<4,>=3.11
licenseMIT
keywords config frequenz grpc lib library mkdocs nox project protobuf python repo-config repository setuptools tool
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Frequenz Repository Configuration

[![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)
[![PyPI Package](https://img.shields.io/pypi/v/frequenz-repo-config)](https://pypi.org/project/frequenz-repo-config/)
[![Docs](https://img.shields.io/badge/docs-latest-informational)](https://frequenz-floss.github.io/frequenz-repo-config-python/)

## Introduction

This is a highly opinionated set of tools and configurations to set up a Python
repository for [Frequenz](https://frequenz.com) projects.

It offers:

* [Cookiecutter] templates for scaffolding new projects
* Trivial build of `noxfile.py` with some predefined sessions that include all
  common checks.
* Tools to build protobuf/grpc files as Python, including type information.

## Supported Platforms

The following platforms are officially supported (tested):

- **Python:** 3.11
- **Operating System:** Ubuntu Linux 20.04
- **Architectures:** amd64, arm64

## Quick Example

To start a new project, you should first [install
Cookiecutter](https://cookiecutter.readthedocs.io/en/stable/installation.html).
It is normally available in any Linux distribution, but some have a very old
version (for example, Ubuntu/Debian). You can [check which version your distro
has on Repology](https://repology.org/project/cookiecutter/versions). You need
**at least version 2.4.0**. To ensure you get an up-to-date version, you can
always use `pip` and install it in a `venv`:

```console
$ python -m venv cookiecutter
$ cd cookiecutter
$ . bin/activate
(venv) $ pip install cookiecutter
Collecting cookiecutter
...
```

Then simply run [Cookiecutter] where you want to create the new project. A new
directory will be created with the generated project name. For example:

```sh
cd ~/devel
cookiecutter gh:frequenz-floss/frequenz-repo-config-python --directory=cookiecutter
```

This command will prompt you for the project type, name, and other
configuration options, and it will generate the entire project for you.

It is recommended to use a released version, you can do that by adding the
option `--checkout <version>` to the command above. You can check which is the
latest version
[here](https://github.com/frequenz-floss/frequenz-repo-config-python/releases/latest).

After completing the project and fixing the `TODO`s, you can either amend the
previous commit using `git commit --amend` or create a new commit for the
changes using `git commit`.

## Documentation

For more detailed documentation, please check the [project's
website](https://frequenz-floss.github.io/frequenz-repo-config-python/).

## Contributing

If you want to know how to build this project and contribute to it, please
refer to the [Contributing Guide](CONTRIBUTING.md).


[Cookiecutter]: https://cookiecutter.readthedocs.io/en/stable

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "frequenz-repo-config",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "<4,>=3.11",
    "maintainer_email": null,
    "keywords": "config, frequenz, grpc, lib, library, mkdocs, nox, project, protobuf, python, repo-config, repository, setuptools, tool",
    "author": null,
    "author_email": "Frequenz Energy-as-a-Service GmbH <floss@frequenz.com>",
    "download_url": "https://files.pythonhosted.org/packages/c6/18/7ef7219550da35b92b40e17f0bdb7c27421736283ba4a3b65a4c0d871138/frequenz-repo-config-0.10.0.tar.gz",
    "platform": null,
    "description": "# 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 <version>` 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",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Frequenz repository setup tools and common configuration",
    "version": "0.10.0",
    "project_urls": {
        "Changelog": "https://github.com/frequenz-floss/frequenz-repo-config-python/releases",
        "Documentation": "https://frequenz-floss.github.io/frequenz-repo-config-python/",
        "Issues": "https://github.com/frequenz-floss/frequenz-repo-config-python/issues",
        "Repository": "https://github.com/frequenz-floss/frequenz-repo-config-python",
        "Support": "https://github.com/frequenz-floss/frequenz-repo-config-python/discussions/categories/support"
    },
    "split_keywords": [
        "config",
        " frequenz",
        " grpc",
        " lib",
        " library",
        " mkdocs",
        " nox",
        " project",
        " protobuf",
        " python",
        " repo-config",
        " repository",
        " setuptools",
        " tool"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "7a2787ea44f57728a9947b4efdf320704b07795630ae9e21431edd3b13fc5dba",
                "md5": "ab07a0c6fb97a0c57c1d1f35e259b810",
                "sha256": "de19830e5d9656b1df4eb071fb5a3776f6ed5f956c0249381ed34d0051b713ee"
            },
            "downloads": -1,
            "filename": "frequenz_repo_config-0.10.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "ab07a0c6fb97a0c57c1d1f35e259b810",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<4,>=3.11",
            "size": 39736,
            "upload_time": "2024-07-10T11:35:01",
            "upload_time_iso_8601": "2024-07-10T11:35:01.279471Z",
            "url": "https://files.pythonhosted.org/packages/7a/27/87ea44f57728a9947b4efdf320704b07795630ae9e21431edd3b13fc5dba/frequenz_repo_config-0.10.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "c6187ef7219550da35b92b40e17f0bdb7c27421736283ba4a3b65a4c0d871138",
                "md5": "8602500299013409e27139dff7085fc7",
                "sha256": "99d6b79ff0bca710ebb916fa5d309d15a241f43227b9d63bba919af48c78ddc1"
            },
            "downloads": -1,
            "filename": "frequenz-repo-config-0.10.0.tar.gz",
            "has_sig": false,
            "md5_digest": "8602500299013409e27139dff7085fc7",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<4,>=3.11",
            "size": 36793,
            "upload_time": "2024-07-10T11:35:03",
            "upload_time_iso_8601": "2024-07-10T11:35:03.537147Z",
            "url": "https://files.pythonhosted.org/packages/c6/18/7ef7219550da35b92b40e17f0bdb7c27421736283ba4a3b65a4c0d871138/frequenz-repo-config-0.10.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-07-10 11:35:03",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "frequenz-floss",
    "github_project": "frequenz-repo-config-python",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "frequenz-repo-config"
}
        
Elapsed time: 0.33288s