Skip to main content

Python project template for building robust, modern, and clean Python projects.

Project description

Python project template byteorium

Create Release

Python project template for building robust, modern, and clean Python projects according to my personal preferences. Includes thorough code quality checks and developer-friendly tools.


Table of contents


Features

  • Dependency management: Easy dependency management with poetry.
  • Code quality tools:
    • ruff for formatting, linting and coding standards.
    • pytest for testing.
    • mypy for typechecking.
  • Documentation: Sphinx setup with RTD theme and myst-parser for Markdown support.
  • Easy usage: Pre-configured tox workflow for a streamlined development experience.
  • Best Practices: Adherence to PEP 8 and other modern Python standards.

Requirements

Ensure you have the following installed:

  • Python 3.12
  • Poetry is required for the dependency management

Setup

Follow these steps to set up the project environment:

  1. Clone the repository:

    git clone https://github.com/mab0189/cookiecutter-python
    cd cookiecutter-python
    
  2. Set up a virtual environment with poetry with all dependencies:

    poetry install
    

Usage

Tox is used to manage and automate testing, linting, formatting, and more. Below are the available environments configured in the tox.ini:

Environment Description Command to Run
py312 Test code on Python 3.12 tox -e py312
isort Check and sort imports tox -e isort
format Auto-format code with ruff tox -e format
lint Lint code with ruff tox -e lint
typecheck Perform static type checking with mypy tox -e typecheck
test Run tests with pytest and poetry managed dependencies tox -e test
docs Build Sphinx HTML documentation tox -e docs

Contributing

Contributions are welcome but this project is developed according to my personal preferences.


License

This project is licensed under the MIT License.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

my_package_byteorium-0.1.1.tar.gz (3.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

my_package_byteorium-0.1.1-py3-none-any.whl (4.9 kB view details)

Uploaded Python 3

File details

Details for the file my_package_byteorium-0.1.1.tar.gz.

File metadata

  • Download URL: my_package_byteorium-0.1.1.tar.gz
  • Upload date:
  • Size: 3.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.3 CPython/3.12.11 Linux/6.11.0-1018-azure

File hashes

Hashes for my_package_byteorium-0.1.1.tar.gz
Algorithm Hash digest
SHA256 16570b77ac2eb5763decc36e500a13a32a05c7e536c407864e09696862bb00cd
MD5 e246407a12a5f5e7132a0a49220884b4
BLAKE2b-256 f836b7bdcd7c0136c8a9885621b597aa56810b632bc34a122ff78ae4700cb661

See more details on using hashes here.

File details

Details for the file my_package_byteorium-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: my_package_byteorium-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 4.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.3 CPython/3.12.11 Linux/6.11.0-1018-azure

File hashes

Hashes for my_package_byteorium-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 958db5a486c6355c29f9a76fcadeb5ccbf015d86da714f683bc50daaa49150cf
MD5 c9a0684597d5421d350d281cad2e2c85
BLAKE2b-256 7430909f875c130729b387dc3b38c674499453d4bdc94de8b176e7e9e9a0a8af

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page