Skip to content
/ python-src-template Public template

Personal template for most python projects.

License

Notifications You must be signed in to change notification settings

Preocts/python-src-template

Repository files navigation

Python 3.9 | 3.10 | 3.11 | 3.12 | 3.13 Code style: black pre-commit

pre-commit.ci status Python tests

python-src-template

A template I use for most projects and is setup to jive with my environment at the company I work with.

This is not the one-shot solution to project structure or packaging. This is just what works well for one egg on the Internet. Feel free to use it as you see fit.

FAQ

  • Q: Should I follow everything to the absolute letter in this template?

    • A: Heck no, I don't even do that! This is just the closest one-size-fits-most template I've put together. Use what you want how you want.
  • Q: Why do you hard pin your development and test requirements?

    • A: For control over the environment used to develop on the package. It is also beneficial in many of the areas I work where artifactory proxies are between pip and the pypi public index. Versions remaining hard pinned ensure the package is always cleared for use through the artifactory.
  • Q: Why not put the requirements into the pyproject.toml?

    • A: Mostly because pip-compile does all the work for me and doesn't target the pyproject.toml. Partly because many of my projects need to be scanned by utilities that still think requirements.txt is the only pattern to use.
  • Q: Why does this template change so often?

    • A: I'm constantly finding new tweaks that make the template fit just a little better. I'm also open to ideas and suggestions so please drop an issue if you have one.