Skip to content

engineervix/cookiecutter-pyproject

Repository files navigation

Welcome to cookiecutter-pyproject 👋

python3 CircleCI Coverage Status pre-commit Maintenance Maintainability Rating License: MIT

Requirements Status security: bandit Commitizen friendly Conventional Commits Twitter: engineervix

A simple Cookiecutter template to quickly bootstrap a new python project

Features

Getting started

Ensure that you have cookiecutter installed on your computer:

pip install -U cookiecutter

Bootstrap your new python project:

cookiecutter https://github.com/engineervix/cookiecutter-pyproject.git

You'll be prompted for some values, such as project_name, project_slug, email, license, etc.

Once you're done, cd into your the new project folder created above, and you're ready to roll 😎!

Other steps

  • Create a virtual environment for your project
  • Install project dependencies: pip install -r requirements.txt
  • pre-commit install
  • pre-commit install --hook-type commit-msg
  • add any additional requirements in the requirements.in file, then
    • pip-compile requirements.in to generate an updated requirements.txt file
    • pip-sync to update your virtual environment to reflect exactly what's in the requirements.txt file.

It goes without saying that you'll want to create a repo for your new project. If you're using Circle CI, ensure that you add your repo to your CircleCI account. Optionally register your repo with dependabot, requires.io, coveralls, codeclimate and deepsource (Don't forget to add the Code Climate, Coveralls and Deepsource Environment Variables to your Project's Settings in your CircleCI Dashboard). If you don't want to use any of these services

  • remove them (coveralls, codeclimate and deepsource) from the CircleCI configuration file
  • remove the respective badges in your project's README.md file

Tests

Simply run pytest. For more detailed output, including test coverage:

pytest -vv --cov-config=.coveragerc --cov=. --cov-report term-missing

Author

👤 Victor Miti

🤝 Contributing

Contributions, issues and feature requests are welcome!
Feel free to check issues page.

Show your support

Give a ⭐️ if this project helped you!

📝 License

Copyright © 2020 Victor Miti.
This project is MIT licensed.

Credits

Inspired by:

FAQs

  • Why create another python Cookiecutter when there's already so many excellent ones (like the ones above)?

I agree that there are several excellent python project cookiecutters out there. In fact, I wouldn't have written this version without the others (especially the ones in the Credits section above)! I am already used to a particular workflow, and I wanted a Cookiecutter that mirrors my workflow. None of the existing Cookiecutters were an exact fit, so I decided to write my own!

TODO


This README was generated with ❤️ by readme-md-generator

About

A simple Cookiecutter template to quickly bootstrap a new python project

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages