11# bootstrap-python-package
2+ ![ Static Badge] ( https://img.shields.io/badge/Python-3.8_%7C_3.9_%7C_3.10_%7C_3.11_%7C_3.12-blue?logo=python&logoColor=white )
3+ [ ![ Stable Version] ( https://img.shields.io/pypi/v/bootstrap-python-package?color=blue )] ( https://pypi.org/project/bootstrap-python-package/ )
4+ [ ![ stability-beta] ( https://img.shields.io/badge/stability-beta-33bbff.svg )] ( https://github.com/mkenney/software-guides/blob/master/STABILITY-BADGES.md#beta )
5+
6+ [ ![ Python tests] ( https://github.com/febus982/bootstrap-python-package/actions/workflows/python-tests.yml/badge.svg?branch=main )] ( https://github.com/febus982/bootstrap-python-package/actions/workflows/python-tests.yml )
7+ [ ![ Maintainability] ( https://api.codeclimate.com/v1/badges/593e78ec96ed5ebb0dd3/maintainability )] ( https://codeclimate.com/github/febus982/bootstrap-python-package/maintainability )
8+ [ ![ Test Coverage] ( https://api.codeclimate.com/v1/badges/593e78ec96ed5ebb0dd3/test_coverage )] ( https://codeclimate.com/github/febus982/bootstrap-python-package/test_coverage )
9+
10+ [ ![ Checked with mypy] ( https://www.mypy-lang.org/static/mypy_badge.svg )] ( https://mypy-lang.org/ )
11+ [ ![ Ruff] ( https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/charliermarsh/ruff/main/assets/badge/v1.json )] ( https://github.com/charliermarsh/ruff )
12+ [ ![ Code style: black] ( https://img.shields.io/badge/code%20style-black-000000.svg )] ( https://github.com/psf/black )
13+ [ ![ security: bandit] ( https://img.shields.io/badge/security-bandit-yellow.svg )] ( https://github.com/PyCQA/bandit )
214
315This template repository provides the boilerplate to create a python package.
416It is configured with all the following features:
517
6- * Test suite using [ pytest] ( https://docs.pytest.org/en/7.4.x/ )
18+ * Test suite using [ tox ] ( https://tox.wiki/en/latest/index.html ) and [ pytest] ( https://docs.pytest.org/en/7.4.x/ )
719* Typing using [ mypy] ( https://mypy.readthedocs.io/en/stable/ )
820* Linting, security and code format using [ ruff] ( https://github.com/astral-sh/ruff ) (using [ black] ( https://pypi.org/project/black/ )
921 code style and [ bandit] ( https://github.com/PyCQA/bandit ) security rules)
@@ -12,21 +24,23 @@ It is configured with all the following features:
1224 * testing against multiple python versions
1325 * releases on [ PyPI] ( https://pypi.org )
1426 * GitHub pages documentation using [ mkdocs] ( https://www.mkdocs.org )
27+ * PyCharm profile basic configuration
1528
1629## How to use this repository template to create a new package
1730
1831* Create your github repository using this template. (The big green ` Use this template ` button)
1932* Rename the ` bootstrap_python_package ` directory
2033* Search and replace all the occurrences of ` bootstrap-python-package ` and ` bootstrap_python_package `
2134* Configure a pending trusted publisher on [ pypi] ( https://pypi.org/manage/account/publishing ) using the following values:
22- * PyPI Project Name: what you renamed the directory ` bootstrap_python_package ` to (Double check ` _ ` and ` - ` )
35+ * PyPI Project Name: The github repository name (in this case ` bootstrap-python-package ` )
2336 * Owner: The github repository owner (in this case ` febus982 ` )
2437 * Repository name: The github repository name (in this case ` bootstrap-python-package ` )
2538 * Workflow name: ` release.yml `
2639* Create a GitHub Actions secret named ` CODECLIMATE_REPORTER_ID ` (at URL ` https://github.com/GITHUB_NAME_OR_ORGANIZATION/GITHUB_REPOSITORY/settings/secrets/actions ` )
2740 containing the codeclimate reporter id (you can find it at ` https://codeclimate.com/repos/YOUR_REPO_ID/settings/test_reporter ` ).
2841 If you don't want to use CodeClimate just delete ` workflows/python-quality.yml ` .
2942* Update the badges in ` README.md ` ! (check [ shields.io] ( https://shields.io/ ) for extra badges)
43+ * Update the PyCharm Copyright profile in the IDE settings: Editor | Copyright | Copyright Profiles (if you want to use it)
3044* Setup local development:
3145 * Clone the repository
3246 * Install poetry ` pip install poetry `
0 commit comments