{"id":13543668,"url":"https://github.com/py-pkgs/py-pkgs-cookiecutter","last_synced_at":"2025-12-13T15:03:36.730Z","repository":{"id":40507861,"uuid":"241479791","full_name":"py-pkgs/py-pkgs-cookiecutter","owner":"py-pkgs","description":"Cookiecutter template for Python packages","archived":false,"fork":false,"pushed_at":"2025-02-23T09:44:33.000Z","size":2138,"stargazers_count":105,"open_issues_count":4,"forks_count":39,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-09-17T10:53:48.609Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://py-pkgs-cookiecutter.readthedocs.io/en/latest/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/py-pkgs.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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":"2020-02-18T22:19:15.000Z","updated_at":"2025-07-08T19:13:08.000Z","dependencies_parsed_at":"2024-01-16T17:02:31.166Z","dependency_job_id":"794aeee3-0411-47b8-b985-f9c412cfe031","html_url":"https://github.com/py-pkgs/py-pkgs-cookiecutter","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/py-pkgs/py-pkgs-cookiecutter","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/py-pkgs%2Fpy-pkgs-cookiecutter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/py-pkgs%2Fpy-pkgs-cookiecutter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/py-pkgs%2Fpy-pkgs-cookiecutter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/py-pkgs%2Fpy-pkgs-cookiecutter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/py-pkgs","download_url":"https://codeload.github.com/py-pkgs/py-pkgs-cookiecutter/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/py-pkgs%2Fpy-pkgs-cookiecutter/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":27707676,"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","status":"online","status_checked_at":"2025-12-13T02:00:09.769Z","response_time":147,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":[],"created_at":"2024-08-01T11:00:34.880Z","updated_at":"2025-12-13T15:03:36.724Z","avatar_url":"https://github.com/py-pkgs.png","language":"Python","funding_links":[],"categories":["Skeleton"],"sub_categories":[],"readme":"# Py-Pkgs-Cookiecutter: A cookiecutter template for Python packages\n\n[![Documentation Status](https://readthedocs.org/projects/py-pkgs-cookiecutter/badge/?version=latest)](https://py-pkgs-cookiecutter.readthedocs.io/en/latest/)\n![tests](https://github.com/py-pkgs/py-pkgs-cookiecutter/workflows/test/badge.svg)\n[![release](https://img.shields.io/github/release/py-pkgs/py-pkgs-cookiecutter.svg)](https://github.com/py-pkgs/py-pkgs-cookiecutter/releases)\n[![python](https://img.shields.io/badge/python-%5E3.8-blue)]()\n[![os](https://img.shields.io/badge/OS-Ubuntu%2C%20Mac%2C%20Windows-purple)]()\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"docs/source/_static/hex.png\" width=\"220\" alt=\"The Py-Pkgs-Cookiecutter logo.\"\u003e\n\u003c/p\u003e\n\n\u003cbr\u003e\n\n`py-pkgs-cookiecutter` is a [`cookiecutter`](https://cookiecutter.readthedocs.io/en/latest/) template for creating a fully-featured Python package using [`poetry`](https://python-poetry.org). It supplements the [Python Packages book](https://py-pkgs.org) by Tomas Beuzen and Tiffany Timbers but can be used independently.\n\n## Usage\n\nPlease see the [documentation](https://py-pkgs-cookiecutter.readthedocs.io/en/latest/) for more detail on using `py-pkgs-cookiecutter`. We provide the fundamental steps below:\n\n1. Install [`cookiecutter`](https://cookiecutter.readthedocs.io/en/latest/):\n\n    ```bash\n    pip install cookiecutter\n    ```\n\n2. Generate a Python package structure using [`py-pkgs-cookiecutter`](https://github.com/py-pkgs/py-pkgs-cookiecutter):\n\n    ```bash\n    cookiecutter https://github.com/py-pkgs/py-pkgs-cookiecutter.git\n    ```\n\n3. After responding to the prompts you should have a directory structure similar to that shown below. To learn more about the contents of this directory structure, please see the `py-pkgs-cookiecutter` [documentation](https://py-pkgs-cookiecutter.readthedocs.io/en/latest/).\n\n    ```text\n    pkg\n    ├── .github                    ┐\n    │   └── workflows              │ GitHub Actions workflow\n    │       └── ci-cd.yml          ┘\n    ├── .gitignore                 ┐\n    ├── .readthedocs.yml           │\n    ├── CHANGELOG.md               │\n    ├── CONDUCT.md                 │\n    ├── CONTRIBUTING.md            │\n    ├── docs                       │\n    │   ├── make.bat               │\n    │   ├── Makefile               │\n    │   ├── requirements.txt       │\n    │   ├── changelog.md           │\n    │   ├── conduct.md             │\n    │   ├── conf.py                │ Package documentation\n    │   ├── contributing.md        │\n    │   ├── index.md               │\n    │   └── usage.ipynb            │\n    ├── LICENSE                    │\n    ├── README.md                  ┘\n    ├── pyproject.toml             ┐ \n    ├── src                        │\n    │   └── pkg                    │ Package source code, metadata,\n    │       ├── __init__.py        │ and build instructions \n    │       └── pkg.py             ┘\n    └── tests                      ┐\n        └── test_pkg.py            ┘ Package tests\n    ```\n\n## Contributing\n\nInterested in contributing? Check out the [Contributing Guidelines](https://py-pkgs-cookiecutter.readthedocs.io/en/latest/contributing.html). Please note that this project is released with a [Code of Conduct](https://py-pkgs-cookiecutter.readthedocs.io/en/latest/conduct.html). By contributing to this project, you agree to abide by its terms.\n\n## License\n\n`py-pkgs-cookiecutter` was created by Tomas Beuzen and Tiffany Timbers. It is licensed under the terms of the BSD license.\n\n## Acknowledgements\n\n`py-pkgs-cookiecutter` was originally developed for use in the University of British Columbia's (UBC) `Master of Data Science`_ program (MDS). It was inspired by the pyOpenSci `cookiecutter` [template](https://github.com/pyOpenSci/cookiecutter-pyopensci).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpy-pkgs%2Fpy-pkgs-cookiecutter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpy-pkgs%2Fpy-pkgs-cookiecutter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpy-pkgs%2Fpy-pkgs-cookiecutter/lists"}