Skip to content

A modern cookiecutter template for Python projects that use PDM for dependency management

License

Notifications You must be signed in to change notification settings

fpgmaas/cookiecutter-pdm

Repository files navigation


Release Build status Supported Python versions Docs License

This is a modern Cookiecutter template that can be used to initiate a Python project with all the necessary tools for development, testing, and deployment. It supports the following features:


Documentation - Example - PyPi


Quickstart

On your local machine, navigate to the directory in which you want to create a project directory, and run the following two commands:

pip install cookiecutter-pdm
ccpdm

Alternatively, install cookiecutter and directly pass the URL to this Github repository to the cookiecutter command:

pip install cookiecutter
cookiecutter https://github.com/fpgmaas/cookiecutter-pdm.git

Create a repository on GitHub, and then run the following commands, replacing <project-name>, with the name that you gave the Github repository and <github_author_handle> with your Github username.

cd <project_name>
git init -b main
git add .
git commit -m "Init commit"
git remote add origin git@github.com:<github_author_handle>/<project_name>.git
git push -u origin main

Finally, install the environment and the pre-commit hooks with

make install

You are now ready to start development on your project! The CI/CD pipeline will be triggered when you open a pull request, merge to main, or when you create a new release.

To finalize the set-up for publishing to PyPi or Artifactory, see here. For activating the automatic documentation with MkDocs, see here. To enable the code coverage reports, see here.

Acknowledgements

This project is partially based on Audrey Feldroy's's great cookiecutter-pypackage repository.