https://github.com/dylanhogg/poetry-python-project-template
A quick-start Poetry Python project template with helpful functionality and common libraries.
https://github.com/dylanhogg/poetry-python-project-template
poetry-python python python-poetry template
Last synced: 9 months ago
JSON representation
A quick-start Poetry Python project template with helpful functionality and common libraries.
- Host: GitHub
- URL: https://github.com/dylanhogg/poetry-python-project-template
- Owner: dylanhogg
- Created: 2024-01-30T01:53:23.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2024-03-04T06:24:35.000Z (almost 2 years ago)
- Last Synced: 2025-02-14T11:52:45.573Z (10 months ago)
- Topics: poetry-python, python, python-poetry, template
- Language: Python
- Homepage:
- Size: 20.5 KB
- Stars: 2
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Poetry Python Project Template

[](https://github.com/dylanhogg/poetry-python-project-template/tags)
[](https://github.com/dylanhogg/poetry-python-project-template/actions/workflows/python-poetry-app.yml)
[](https://badge.fury.io/py/poetry-python-project-template)


[](https://opensource.org/licenses/MIT)
[](https://colab.research.google.com/github/dylanhogg/poetry-python-project-template/blob/master/notebooks/notebook.ipynb)
A quick-start [Poetry](https://python-poetry.org/) Python project template with helpful functionality and common libraries.
## Usage
- Ensure you rename all instances of `your_project_name` including the top level folder name.
- See the [Poetry docs](https://python-poetry.org/docs/cli/) for more information on using Poetry.
## Template Features
1. [Poetry](https://python-poetry.org/) for dependency management
1. Useful functionality wrapped in a `Makefile`
1. Helpful default packages (details below)
1. A GitHub CI build action using poetry that runs linting, type checking and unit tests
1. Example app showing logging and CLI arg parsing
## Application libraries included in template
1. [Python-dotenv](https://github.com/theskumar/python-dotenv) for environment variable management
2. [Typer](https://github.com/tiangolo/typer) for building CLI applications
3. [tqdm](https://github.com/tqdm/tqdm) for smart progress bar support
4. [Loguru](https://github.com/Delgan/loguru) for pleasant and powerful logging
5. [Rich](https://github.com/Textualize/rich) for beautiful terminal output
## Development libraries included in template
1. [pytest](https://github.com/pytest-dev/pytest) for writing your tests
2. [Black](https://github.com/psf/black) for code formatting
3. [Ruff](https://github.com/astral-sh/ruff) for fast linting and formatting
4. [pyright](https://github.com/microsoft/pyright) for static type checking
5. [coverage](https://github.com/nedbat/coveragepy) for code coverage
6. [pre-commit](https://github.com/pre-commit/pre-commit) for pre-commit hooks (black, ruff and pyright)
7. [pip-audit](https://github.com/pypa/pip-audit) for checking for security vulnerabilities
Happy templating!