{"id":18037453,"url":"https://github.com/fpgmaas/cookiecutter-pdm","last_synced_at":"2025-03-27T09:31:30.453Z","repository":{"id":192365957,"uuid":"686867282","full_name":"fpgmaas/cookiecutter-pdm","owner":"fpgmaas","description":"A modern cookiecutter template for Python projects that use PDM for dependency management ","archived":false,"fork":false,"pushed_at":"2023-09-05T10:42:23.000Z","size":1078,"stargazers_count":9,"open_issues_count":1,"forks_count":2,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-06T15:51:05.553Z","etag":null,"topics":["boilerplate","cookiecutter","cookiecutter-python","pdm","python","template"],"latest_commit_sha":null,"homepage":"https://fpgmaas.github.io/cookiecutter-pdm/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/fpgmaas.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-09-04T05:47:20.000Z","updated_at":"2025-02-09T16:03:25.000Z","dependencies_parsed_at":"2024-10-30T13:10:36.031Z","dependency_job_id":"813a5f5f-7e5a-43f0-9d84-690bf3705594","html_url":"https://github.com/fpgmaas/cookiecutter-pdm","commit_stats":null,"previous_names":["fpgmaas/cookiecutter-pdm"],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fpgmaas%2Fcookiecutter-pdm","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fpgmaas%2Fcookiecutter-pdm/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fpgmaas%2Fcookiecutter-pdm/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fpgmaas%2Fcookiecutter-pdm/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fpgmaas","download_url":"https://codeload.github.com/fpgmaas/cookiecutter-pdm/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245111928,"owners_count":20562511,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["boilerplate","cookiecutter","cookiecutter-python","pdm","python","template"],"created_at":"2024-10-30T13:10:28.553Z","updated_at":"2025-03-27T09:31:30.120Z","avatar_url":"https://github.com/fpgmaas.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n\n\u003cp align=\"center\"\u003e\n  \u003cimg width=\"600\" src=\"https://raw.githubusercontent.com/fpgmaas/cookiecutter-pdm/main/docs/static/cookiecutter.svg\"\u003e\n\u003c/p style = \"margin-bottom: 2rem;\"\u003e\n\n---\n\n[![Release](https://img.shields.io/github/v/release/fpgmaas/cookiecutter-pdm)](https://pypi.org/project/cookiecutter-pdm/)\n[![Build status](https://img.shields.io/github/actions/workflow/status/fpgmaas/cookiecutter-pdm/main.yml?branch=main)](https://github.com/fpgmaas/cookiecutter-pdm/actions/workflows/main.yml?query=branch%3Amain)\n[![Supported Python versions](https://img.shields.io/pypi/pyversions/cookiecutter-pdm)](https://pypi.org/project/cookiecutter-pdm/)\n[![Docs](https://img.shields.io/badge/docs-gh--pages-blue)](https://fpgmaas.github.io/cookiecutter-pdm/)\n[![License](https://img.shields.io/github/license/fpgmaas/cookiecutter-pdm)](https://img.shields.io/github/license/fpgmaas/cookiecutter-pdm)\n\n\nThis 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:\n\n- [PDM](https://pdm.fming.dev/latest/) for dependency management\n- CI/CD with [GitHub Actions](https://github.com/features/actions)\n- Pre-commit hooks with [pre-commit](https://pre-commit.com/)\n- Code quality with [black](https://pypi.org/project/black/), [ruff](https://github.com/charliermarsh/ruff), [mypy](https://mypy.readthedocs.io/en/stable/), and [deptry](https://github.com/fpgmaas/deptry/)\n- Publishing to [Pypi](https://pypi.org) or [Artifactory](https://jfrog.com/artifactory) by creating a new release on GitHub\n- Testing and coverage with [pytest](https://docs.pytest.org/en/7.1.x/) and [codecov](https://about.codecov.io/)\n- Documentation with [MkDocs](https://www.mkdocs.org/)\n- Compatibility testing for multiple versions of Python with [Tox](https://tox.wiki/en/latest/)\n- Containerization with [Docker](https://www.docker.com/)\n\n---\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://fpgmaas.github.io/cookiecutter-pdm/\"\u003eDocumentation\u003c/a\u003e - \u003ca href=\"https://github.com/fpgmaas/cookiecutter-pdm-example\"\u003eExample\u003c/a\u003e -\n  \u003ca href=\"https://pypi.org/project/cookiecutter-pdm/\"\u003ePyPi\u003c/a\u003e\n\u003c/p\u003e\n\n---\n\n\n## Quickstart\n\nOn your local machine, navigate to the directory in which you want to\ncreate a project directory, and run the following two commands:\n\n``` bash\npip install cookiecutter-pdm\nccpdm\n```\n\nAlternatively, install `cookiecutter` and directly pass the URL to this\nGithub repository to the `cookiecutter` command:\n\n``` bash\npip install cookiecutter\ncookiecutter https://github.com/fpgmaas/cookiecutter-pdm.git\n```\n\nCreate a repository on GitHub, and then run the following commands, replacing `\u003cproject-name\u003e`, with the name that you gave the Github repository and\n`\u003cgithub_author_handle\u003e` with your Github username.\n\n``` bash\ncd \u003cproject_name\u003e\ngit init -b main\ngit add .\ngit commit -m \"Init commit\"\ngit remote add origin git@github.com:\u003cgithub_author_handle\u003e/\u003cproject_name\u003e.git\ngit push -u origin main\n```\n\nFinally, install the environment and the pre-commit hooks with\n\n ```bash\n make install\n ```\n\nYou are now ready to start development on your project! The CI/CD\npipeline will be triggered when you open a pull request, merge to main,\nor when you create a new release.\n\nTo finalize the set-up for publishing to PyPi or Artifactory, see\n[here](https://fpgmaas.github.io/cookiecutter-pdm/features/publishing/#set-up-for-pypi).\nFor activating the automatic documentation with MkDocs, see\n[here](https://fpgmaas.github.io/cookiecutter-pdm/features/mkdocs/#enabling-the-documentation-on-github).\nTo enable the code coverage reports, see [here](https://fpgmaas.github.io/cookiecutter-pdm/features/codecov/).\n\n## Acknowledgements\n\nThis project is partially based on [Audrey\nFeldroy\\'s](https://github.com/audreyfeldroy)\\'s great\n[cookiecutter-pypackage](https://github.com/audreyfeldroy/cookiecutter-pypackage)\nrepository.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffpgmaas%2Fcookiecutter-pdm","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffpgmaas%2Fcookiecutter-pdm","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffpgmaas%2Fcookiecutter-pdm/lists"}