{"id":50738142,"url":"https://github.com/sidisinsane/copier-python-hatch-template","last_synced_at":"2026-06-10T15:31:38.019Z","repository":{"id":229687022,"uuid":"777108847","full_name":"sidisinsane/copier-python-hatch-template","owner":"sidisinsane","description":"A Copier template for Python projects managed by Hatch.","archived":false,"fork":false,"pushed_at":"2024-03-27T10:13:57.000Z","size":700,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-03-27T20:01:45.555Z","etag":null,"topics":["copier-template","hatch","project-template","python","scaffolding"],"latest_commit_sha":null,"homepage":"https://sidisinsane.github.io/copier-python-hatch-template/","language":"Jinja","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/sidisinsane.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"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}},"created_at":"2024-03-25T08:09:30.000Z","updated_at":"2024-03-27T20:01:45.556Z","dependencies_parsed_at":"2024-03-30T22:46:52.230Z","dependency_job_id":null,"html_url":"https://github.com/sidisinsane/copier-python-hatch-template","commit_stats":null,"previous_names":["sidisinsane/copier-python-hatch-template"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/sidisinsane/copier-python-hatch-template","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sidisinsane%2Fcopier-python-hatch-template","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sidisinsane%2Fcopier-python-hatch-template/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sidisinsane%2Fcopier-python-hatch-template/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sidisinsane%2Fcopier-python-hatch-template/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sidisinsane","download_url":"https://codeload.github.com/sidisinsane/copier-python-hatch-template/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sidisinsane%2Fcopier-python-hatch-template/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34159249,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-10T02:00:07.152Z","response_time":89,"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":["copier-template","hatch","project-template","python","scaffolding"],"created_at":"2026-06-10T15:31:37.075Z","updated_at":"2026-06-10T15:31:38.003Z","avatar_url":"https://github.com/sidisinsane.png","language":"Jinja","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\u003ca title=\"Home\" href=\"https://github.com/sidisinsane/copier-python-hatch-template\"\u003e\n    \u003cimg alt=\"Project Logo\" src=\"mkdocs/images/logo.svg\" width=\"200\"\u003e\n\u003c/a\u003e\n\n# Copier Python Hatch Template\n\n*A Copier template for Python projects managed by Hatch.*\n\n[![License](https://img.shields.io/github/license/sidisinsane/copier-python-hatch-template)](https://github.com/sidisinsane/copier-python-hatch-template/blob/main/LICENSE)\n[![CI Status](https://img.shields.io/github/actions/workflow/status/sidisinsane/copier-python-hatch-template/ci.yml?logo=github\u0026label=ci)](https://github.com/sidisinsane/copier-python-hatch-template/blob/main/.github/workflows/ci.yml)\n[![CodeQL Status](https://img.shields.io/github/actions/workflow/status/sidisinsane/copier-python-hatch-template/codeql.yml?logo=github\u0026label=codeql)](https://github.com/sidisinsane/copier-python-hatch-template/blob/main/.github/workflows/codeql.yml)\n[![GH-Pages Deploy Status](https://img.shields.io/github/actions/workflow/status/sidisinsane/copier-python-hatch-template/gh-pages-deploy.yml?logo=github\u0026label=gh-pages-deploy)](https://github.com/sidisinsane/copier-python-hatch-template/blob/main/.github/workflows/gh-pages-deploy.yml)\n\u003c!--[![Test Status](https://img.shields.io/github/actions/workflow/status/sidisinsane/copier-python-hatch-template/test.yml?logo=github\u0026label=test)](https://github.com/sidisinsane/copier-python-hatch-template/blob/main/.github/workflows/test.yml)--\u003e\n\n[![Python Version](https://img.shields.io/python/required-version-toml?tomlFilePath=https://raw.githubusercontent.com/sidisinsane/copier-python-hatch-template/main/pyproject.toml\u0026logo=python\u0026logoColor=white\u0026label=Python)](https://www.python.org/)\n[![Copier](https://img.shields.io/badge/Copier-4b5563)](https://copier.readthedocs.io/en/stable/)\n[![Hatch](https://img.shields.io/badge/%F0%9F%A5%9A-Hatch-4051b5.svg)](https://github.com/pypa/hatch)\n[![Material for MkDocs](https://img.shields.io/badge/Material_for_MkDocs-526CFE?logo=MaterialForMkDocs\u0026logoColor=white)](https://squidfunk.github.io/mkdocs-material/)\n[![Pytest](https://img.shields.io/badge/Pytest-0a9edc?logo=pytest\u0026amp;logoColor=white\u0026labelColor=4b5563)](https://pytest.org/)\n[![Markdownlint](https://img.shields.io/badge/Markdownlint-000000?logo=markdown\u0026amp;logoColor=white\u0026labelColor=4b5563)](https://github.com/DavidAnson/markdownlint)\n[![Commitlint](https://img.shields.io/badge/Commitlint-3451b2?logo=commitlint\u0026amp;logoColor=white\u0026labelColor=4b5563)](https://commitlint.js.org/)\n[![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json)](https://docs.astral.sh/ruff/)\n[![Bandit](https://img.shields.io/badge/Bandit-4b5563)](https://github.com/PyCQA/bandit)\n[![Mypy](https://img.shields.io/badge/Mypy-4b5563)](https://mypy-lang.org/)\n\u003c/div\u003e\n\n## Prerequisites\n\n### Copier\n\n[Copier](https://copier.readthedocs.io/en/stable/) is a library and CLI app for rendering project templates.\n\n#### Install Copier\n\n\u003e [!IMPORTANT]\n\u003e If you haven't already, install `pipx` first: `pip install --user pipx`.\n\n```shell\npipx install copier\n```\n\n#### Inject Copier Templates Extensions\n\n```shell\npipx inject copier copier-templates-extensions\n```\n\n### Hatch\n\n[Hatch](https://hatch.pypa.io/latest/) is a modern, [PEP 621](https://peps.python.org/pep-0621/) compliant, extensible Python project manager.\n\n#### Install Hatch\n\n```shell\npipx install hatch\n```\n\n#### Configure Hatch\n\nStore virtual environments in a directory named `.hatch` in each project directory.\n\n```shell\nhatch config set dirs.env.virtual .hatch\n```\n\n\u003e [!NOTE]\n\u003e This adds the following to the configuration:\n\u003e\n\u003e ```toml\n\u003e [dirs.env]\n\u003e virtual = \".hatch\"\n\u003e ```\n\u003e\n\u003e The [Configuration for Hatch](https://hatch.pypa.io/latest/config/hatch/) is stored in a `config.toml` file at i.e. `~/Library/Application Support/hatch` on macOS.\n\n## Usage\n\n### Generate a Project\n\n```shell\ncopier copy --trust https://github.com/sidisinsane/copier-python-hatch-template.git PATH/TO/DESTINATION\n```\n\nor\n\n```shell\ncopier copy --trust gh:sidisinsane/copier-python-hatch-template PATH/TO/DESTINATION\n```\n\nThis will generate a new project with the following structure:\n\n```ascii\nYOUR-PROJECT-NAME\n├── .github\n│   └── workflows\n│       ├── ci.yml\n│       ├── codeql.yml\n│       ├── gh-pages-deploy.yml\n│       └── test.yml\n├── .vscode\n│   ├── extensions.json\n│   └── settings.json\n├── mkdocs\n│   ├── images\n│   │   ├── favicon.svg\n│   │   └── logo.svg\n│   ├── javascripts\n│   │   └── mathjax.js\n│   ├── index.md\n│   └── license.md\n├── src\n│   └── YOUR_PROJECT_NAME\n│       ├── __about__.py\n│       ├── __init__.py\n│       └── calc.py\n├── tests\n│   ├── __init__.py\n│   └── test_calc.py\n├── .coveragerc\n├── .gitignore\n├── .markdownlint.yml\n├── .pre-commit-config.yaml\n├── .pylintrc\n├── bandit.yml\n├── commitlint.config.js\n├── LICENSE\n├── mkdocs.yml\n├── mypy.ini\n├── pyproject.toml\n├── pytest.ini\n└── README.md\n```\n\n\u003e [!NOTE]\n\u003e You can also clone the project template using `git clone https://github.com/sidisinsane/copier-python-hatch-template.git`, modify it and generate a project the locally cloned repo.\n\u003e\n\u003e ```shell\n\u003e copier copy --trust PATH/TO/CLONED/PROJECT/TEMPLATE PATH/TO/DESTINATION\n\u003e ```\n\n## Aftermath\n\n### Create Virtual Environment\n\n```shell\ncd PATH/TO/DESTINATION \u0026\u0026 hatch env create\n```\n\n\u003e [!NOTE]  \n\u003e You can locate environments by running `hatch env find`.\n\n### Install Pre-Commit Hooks\n\n```shell\ngit init \u0026\u0026 hatch run dev:pre-commit-install\n```\n\n\u003e [!NOTE]  \n\u003e After you have created a new empty GitHub project, you are ready to make your initial commit.\n\u003e\n\u003e ```shell\n\u003e git add .\n\u003e git commit -m \"initial commit\"\n\u003e git branch -M main\n\u003e git remote add origin \u003chttps://github.com/REPO_NAMESPACE/REPO_NAME.git\u003e\n\u003e git push -u origin main\n\u003e ```\n\nSee the [documentation](https://sidisinsane.github.io/copier-python-hatch-template/) for more details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsidisinsane%2Fcopier-python-hatch-template","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsidisinsane%2Fcopier-python-hatch-template","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsidisinsane%2Fcopier-python-hatch-template/lists"}