Skip to content

Latest commit

 

History

History
181 lines (131 loc) · 6.47 KB

README.md

File metadata and controls

181 lines (131 loc) · 6.47 KB

Contributors Forks Stargazers Issues MIT License


Python Project Template

Cookiecutter for Python template with some awesome tools to quickstart any Python project.
Report Bug · Request Feature

Table of Contents
  1. About The Project
  2. Getting Started
  3. Roadmap
  4. Contributing
  5. License
  6. Contact
  7. Acknowledgments

About The Project

Python template with some awesome tools to quickstart a Python project with the industry best practices. It includes automatic generation of API documentation, tests using PyTest, code coverage, ruff linting to enforce standardized Python coding and formatting, virtual environments using uv, workflow automation using Taskipy and a space optimized Dockerfile to kickstart your project and run tests using the power of Docker containers.

You only need to install Cookiecutter!


Getting Started

To get a local copy up and running follow these simple steps.

Prerequisites

This Project depends on the following projects.

  • cookiecutter
    pip install --user --upgrade cookiecutter

Installation

  1. Replicate the template locally
    cookiecutter https://github.com/nullhack/python-project-template
    # move into your newly created project folder
  2. Install uv and Taskipy
    pip install --user --upgrade uv
  3. Let Taskipy do it's magic
    uv venv
    uv pip install .[dev]
    uv task test
    uv task run

(back to top)

Roadmap

  • Update packages and look for new industry standards to include
  • Automatically deploy new documentation on new PR merged
  • Make the github actions and gitea actions run without errors

See the open issues for a full list of proposed features (and known issues).

(back to top)

Contributing

Any contributions you make are greatly appreciated.

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

(back to top)

License

Distributed under the MIT License. See LICENSE for more information.

(back to top)

Contact

eol - @nullhack

Project Link: https://github.com/nullhack/python-project-template/

(back to top)

Acknowledgments and thanks

This project was heavily based on some great references.

(back to top)