python-project-template-poetry


Namepython-project-template-poetry JSON
Version 0.1.0.dev8 PyPI version JSON
download
home_pagehttps://github.com/azataiot/python-project-template
SummaryA project template to use for new Python Github repositories with best practices.
upload_time2023-09-11 16:55:45
maintainer
docs_urlNone
authorAzat
requires_python>=3.9,<4.0
licenseMIT
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # A project template for Python

<a href="https://github.com/azataiot/python-project-template/generate"><img src="https://img.shields.io/badge/use%20this-template-blue?logo=github" alt="use-this-repo-badge"></a>
[![Code Quality](https://github.com/azataiot/python-project-template/actions/workflows/code-quality.yml/badge.svg)](https://github.com/azataiot/python-project-template/actions/workflows/code-quality.yml)
[![pre-commit](https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit)](https://github.com/pre-commit/pre-commit)
[![security: bandit](https://img.shields.io/badge/security-bandit-yellow.svg)](https://github.com/PyCQA/bandit)
[![latest release](https://img.shields.io/github/v/release/azataiot/python-project-template)](https://github.com/azataiot/python-project-template/releases)

**Introduction**: This repository provides a comprehensive project template for GitHub repositories. It's designed to
streamline the setup process, ensuring best practices and essential components are included. By using this template, you
can ensure a consistent and professional structure for your projects, making them more accessible and maintainable.

## Usage

### Create a new repository from this template

1. [Click here](https://github.com/azataiot/project-template/generated) to create a new repository with this template.
2. Select and Add a license.

### Initialize and install `pre-commit` hooks

1. Install [pre-commit](https://pre-commit.com/#install). (skip this step if you already have pre-commit installed)
2. Run `pre-commit install` to install the pre-commit hooks.
3. Run `make pre-commit` to run the pre-commit hooks on all files.

### Setup GitHub Branch Protection

1. Go to `Settings` > `Branches` > `Branch protection rules` > `Add rule`
2. Add the following rules:
    - `main`
        - Require a pull request before merging
        - Require status checks to pass before merging
        - Require branches to be up-to-date before merging
        - Add `linting` status checks ( and others if you created them )
        - Do not allow bypassing the above settings
    - `dev`
        - Require a pull request before merging
        - Require status checks to pass before merging
        - Add `linting` status checks ( and others if you created them )

**Why Branch Protection?**: Branch protection ensures that changes to important branches undergo a review process. This
maintains code quality and prevents potential issues from being merged.

## Branching Strategy

- `main`: The main branch. This branch is protected and cannot be pushed directly. (PRs must be made to `dev` instead
  of `main`)
- `dev`: The development branch. This branch is protected and cannot be pushed directly. (PRs must be made to this
  branch)
- `feature/*`: The 'feature/*' branches are used to develop new features for the upcoming or a distant future release.
  These branches are branched off from 'dev' and must merge back into `dev`.
- `release/*`: The 'release/*' branches are used to prepare the next release. They allow for last-minute changes and
  minor bug fixes. These branches are branched off from 'dev' and must merge back into `main` and `dev`.
- `hotfix/*`: The 'hotfix/*' branches are used to develop fixes for the current release. These branches are branched off
  from `main` and must merge back into `main`.

## How to create a python package with this template? (WIP)

1. Create a new repository from this template. (
   see [Create a new repository from this template](#create-a-new-repository-from-this-template))
2. Place your package code in the `src` directory.
3. Update the `pyproject.toml` file with your package details.
4. Set up your PyPI account and create a new API token. (see [PyPI Help #api-token](https://pypi.org/help/#apitoken))
   1. Go to [PyPI](https://pypi.org/) and create an account, if you don't have one already.
   2. Generate a PyPI API token. (see [PyPI Help #api-token](https://pypi.org/help/#apitoken)), this gives you something similar to this:
    ![](https://raw.githubusercontent.com/azataiot/images/master/2023/09/upgit_20230910_1694355387.png)
   3. run `poetry config pypi-token.pypi <your-api-token>` to set the API token.
5. run `poetry build` to build the package.
6. run `poetry publish` to publish the package to PyPI.

## Contributing

Contributions are always welcome! Whether it's bug reports, feature requests, or pull requests, all contributions are
appreciated. For more details, see [CONTRIBUTING.md](CONTRIBUTING.md).

## License

This project is licensed under some License. For more details, see [LICENSE](LICENSE.md).

## Code of Conduct

We believe in fostering an inclusive and respectful community. For guidelines and reporting information,
see [CODE_OF_CONDUCT.md](CODE_OF_CONDUCT.md).

## Security

Your security is paramount. If you discover any security-related issues, please follow the guidelines
in [SECURITY.md](SECURITY.md).

## Founding

For information about the project's founding and backers, see [FOUNDING](https://github.com/sponsors/azataiot).

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/azataiot/python-project-template",
    "name": "python-project-template-poetry",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.9,<4.0",
    "maintainer_email": "",
    "keywords": "",
    "author": "Azat",
    "author_email": "8280770+azataiot@users.noreply.github.com",
    "download_url": "https://files.pythonhosted.org/packages/db/62/2f946fae66261e42a44f62e0df33e95769830602e3b5adba6cd4ac568a6e/python_project_template_poetry-0.1.0.dev8.tar.gz",
    "platform": null,
    "description": "# A project template for Python\n\n<a href=\"https://github.com/azataiot/python-project-template/generate\"><img src=\"https://img.shields.io/badge/use%20this-template-blue?logo=github\" alt=\"use-this-repo-badge\"></a>\n[![Code Quality](https://github.com/azataiot/python-project-template/actions/workflows/code-quality.yml/badge.svg)](https://github.com/azataiot/python-project-template/actions/workflows/code-quality.yml)\n[![pre-commit](https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit)](https://github.com/pre-commit/pre-commit)\n[![security: bandit](https://img.shields.io/badge/security-bandit-yellow.svg)](https://github.com/PyCQA/bandit)\n[![latest release](https://img.shields.io/github/v/release/azataiot/python-project-template)](https://github.com/azataiot/python-project-template/releases)\n\n**Introduction**: This repository provides a comprehensive project template for GitHub repositories. It's designed to\nstreamline the setup process, ensuring best practices and essential components are included. By using this template, you\ncan ensure a consistent and professional structure for your projects, making them more accessible and maintainable.\n\n## Usage\n\n### Create a new repository from this template\n\n1. [Click here](https://github.com/azataiot/project-template/generated) to create a new repository with this template.\n2. Select and Add a license.\n\n### Initialize and install `pre-commit` hooks\n\n1. Install [pre-commit](https://pre-commit.com/#install). (skip this step if you already have pre-commit installed)\n2. Run `pre-commit install` to install the pre-commit hooks.\n3. Run `make pre-commit` to run the pre-commit hooks on all files.\n\n### Setup GitHub Branch Protection\n\n1. Go to `Settings` > `Branches` > `Branch protection rules` > `Add rule`\n2. Add the following rules:\n    - `main`\n        - Require a pull request before merging\n        - Require status checks to pass before merging\n        - Require branches to be up-to-date before merging\n        - Add `linting` status checks ( and others if you created them )\n        - Do not allow bypassing the above settings\n    - `dev`\n        - Require a pull request before merging\n        - Require status checks to pass before merging\n        - Add `linting` status checks ( and others if you created them )\n\n**Why Branch Protection?**: Branch protection ensures that changes to important branches undergo a review process. This\nmaintains code quality and prevents potential issues from being merged.\n\n## Branching Strategy\n\n- `main`: The main branch. This branch is protected and cannot be pushed directly. (PRs must be made to `dev` instead\n  of `main`)\n- `dev`: The development branch. This branch is protected and cannot be pushed directly. (PRs must be made to this\n  branch)\n- `feature/*`: The 'feature/*' branches are used to develop new features for the upcoming or a distant future release.\n  These branches are branched off from 'dev' and must merge back into `dev`.\n- `release/*`: The 'release/*' branches are used to prepare the next release. They allow for last-minute changes and\n  minor bug fixes. These branches are branched off from 'dev' and must merge back into `main` and `dev`.\n- `hotfix/*`: The 'hotfix/*' branches are used to develop fixes for the current release. These branches are branched off\n  from `main` and must merge back into `main`.\n\n## How to create a python package with this template? (WIP)\n\n1. Create a new repository from this template. (\n   see [Create a new repository from this template](#create-a-new-repository-from-this-template))\n2. Place your package code in the `src` directory.\n3. Update the `pyproject.toml` file with your package details.\n4. Set up your PyPI account and create a new API token. (see [PyPI Help #api-token](https://pypi.org/help/#apitoken))\n   1. Go to [PyPI](https://pypi.org/) and create an account, if you don't have one already.\n   2. Generate a PyPI API token. (see [PyPI Help #api-token](https://pypi.org/help/#apitoken)), this gives you something similar to this:\n    ![](https://raw.githubusercontent.com/azataiot/images/master/2023/09/upgit_20230910_1694355387.png)\n   3. run `poetry config pypi-token.pypi <your-api-token>` to set the API token.\n5. run `poetry build` to build the package.\n6. run `poetry publish` to publish the package to PyPI.\n\n## Contributing\n\nContributions are always welcome! Whether it's bug reports, feature requests, or pull requests, all contributions are\nappreciated. For more details, see [CONTRIBUTING.md](CONTRIBUTING.md).\n\n## License\n\nThis project is licensed under some License. For more details, see [LICENSE](LICENSE.md).\n\n## Code of Conduct\n\nWe believe in fostering an inclusive and respectful community. For guidelines and reporting information,\nsee [CODE_OF_CONDUCT.md](CODE_OF_CONDUCT.md).\n\n## Security\n\nYour security is paramount. If you discover any security-related issues, please follow the guidelines\nin [SECURITY.md](SECURITY.md).\n\n## Founding\n\nFor information about the project's founding and backers, see [FOUNDING](https://github.com/sponsors/azataiot).\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "A project template to use for new Python Github repositories with best practices.",
    "version": "0.1.0.dev8",
    "project_urls": {
        "Homepage": "https://github.com/azataiot/python-project-template"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "e45bb4f23a00f455a9d6600047739d2b8e6777374c5b86da541c6a3be3b171eb",
                "md5": "8b52df27d0bb7efba92bf97d07d9fbb9",
                "sha256": "96d0bcba8f8a90b0e77a6b31fbd8e4e736083560cc4ded10c6b972a906109509"
            },
            "downloads": -1,
            "filename": "python_project_template_poetry-0.1.0.dev8-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "8b52df27d0bb7efba92bf97d07d9fbb9",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.9,<4.0",
            "size": 3862,
            "upload_time": "2023-09-11T16:55:42",
            "upload_time_iso_8601": "2023-09-11T16:55:42.375623Z",
            "url": "https://files.pythonhosted.org/packages/e4/5b/b4f23a00f455a9d6600047739d2b8e6777374c5b86da541c6a3be3b171eb/python_project_template_poetry-0.1.0.dev8-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "db622f946fae66261e42a44f62e0df33e95769830602e3b5adba6cd4ac568a6e",
                "md5": "f4864c8ac0aa49cc0485b13e10fe1c81",
                "sha256": "4119911dd55b3490e88953806f578abbcc51edfa368fcc21bf1aab385a0125c8"
            },
            "downloads": -1,
            "filename": "python_project_template_poetry-0.1.0.dev8.tar.gz",
            "has_sig": false,
            "md5_digest": "f4864c8ac0aa49cc0485b13e10fe1c81",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.9,<4.0",
            "size": 3248,
            "upload_time": "2023-09-11T16:55:45",
            "upload_time_iso_8601": "2023-09-11T16:55:45.680302Z",
            "url": "https://files.pythonhosted.org/packages/db/62/2f946fae66261e42a44f62e0df33e95769830602e3b5adba6cd4ac568a6e/python_project_template_poetry-0.1.0.dev8.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-09-11 16:55:45",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "azataiot",
    "github_project": "python-project-template",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "python-project-template-poetry"
}
        
Elapsed time: 0.13198s