Skip to content

A great project template using cookiecutter, ruff, poetry, mkdocs[material], code coverage, pytest and much more!

License

Notifications You must be signed in to change notification settings

nullhack/python-project-template

Repository files navigation

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, virtual environments using Poetry, workflow automation using Poe the Poet, code formatting using black 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 Poe the Poet and Poetry
    pip install --user --upgrade poethepoet poetry
  3. Let Poe do it's magic
    poe install-dev
    poe test
    poe 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

Eric Lopes - @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)