{"id":25895463,"url":"https://github.com/diamondlightsource/python-copier-template","last_synced_at":"2025-03-02T22:31:44.016Z","repository":{"id":209893098,"uuid":"725201281","full_name":"DiamondLightSource/python-copier-template","owner":"DiamondLightSource","description":"Diamond's opinionated copier template for pure Python projects managed by pip","archived":false,"fork":false,"pushed_at":"2025-02-10T10:48:38.000Z","size":6415,"stargazers_count":5,"open_issues_count":31,"forks_count":5,"subscribers_count":23,"default_branch":"main","last_synced_at":"2025-02-10T11:35:07.572Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Jinja","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/DiamondLightSource.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":".github/CONTRIBUTING.md","funding":null,"license":null,"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-11-29T16:40:43.000Z","updated_at":"2025-02-10T10:47:45.000Z","dependencies_parsed_at":"2024-01-22T20:25:44.090Z","dependency_job_id":"44bfe82e-6faf-444f-8b5d-f6cb2572ac0a","html_url":"https://github.com/DiamondLightSource/python-copier-template","commit_stats":null,"previous_names":["m-chan/python_copier_template","diamondlightsource/python_copier_template","diamondlightsource/python-copier-template"],"tags_count":18,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DiamondLightSource%2Fpython-copier-template","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DiamondLightSource%2Fpython-copier-template/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DiamondLightSource%2Fpython-copier-template/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DiamondLightSource%2Fpython-copier-template/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DiamondLightSource","download_url":"https://codeload.github.com/DiamondLightSource/python-copier-template/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241582515,"owners_count":19985845,"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":[],"created_at":"2025-03-02T22:31:27.927Z","updated_at":"2025-03-02T22:31:43.994Z","avatar_url":"https://github.com/DiamondLightSource.png","language":"Jinja","readme":"\u003cimg src=\"https://raw.githubusercontent.com/DiamondLightSource/python-copier-template/main/docs/images/dls-logo.svg\"\n     style=\"background: none\" width=\"120px\" height=\"120px\" align=\"right\"\u003e\n\n[![CI](https://github.com/DiamondLightSource/python-copier-template/actions/workflows/ci.yml/badge.svg)](https://github.com/DiamondLightSource/python-copier-template/actions/workflows/ci.yml)\n[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://www.apache.org/licenses/LICENSE-2.0)\n\n# python-copier-template\n\nDiamond's opinionated [copier](https://copier.readthedocs.io) template for pure Python projects managed by pip. It can be optionally used to:\n\n- Create new projects from\n- Update existing projects in line with it\n- Keep projects in sync with changes to it\n- Provide a source of inspiration to cherry-pick from\n\nSource          | \u003chttps://github.com/DiamondLightSource/python-copier-template\u003e\n:---:           | :---:\nDocumentation   | \u003chttps://DiamondLightSource.github.io/python-copier-template\u003e\nReleases        | \u003chttps://github.com/DiamondLightSource/python-copier-template/releases\u003e\n\nIt integrates the following tools:\n\n- [setuptools](https://setuptools.pypa.io) and [setuptools-scm](https://setuptools-scm.readthedocs.io) for packaging\n- [pip](https://pip.pypa.io) to manage installation\n- [pytest](https://docs.pytest.org) for code testing and coverage\n- [pre-commit](https://pre-commit.com) to run linting and formatting such as [ruff](https://docs.astral.sh/ruff)\n- [pyright](https://microsoft.github.io/pyright) or [mypy](https://www.mypy-lang.org) for static type checking\n- [sphinx](https://www.sphinx-doc.org) for tutorials, how-to guides, explanations and reference documentation\n- [tox](https://tox.wiki) to run the above tasks locally and in CI\n- [GitHub Actions](https://docs.github.com/en/actions) to provide CI and deployment to PyPI and GitHub Pages\n- [VSCode](https://code.visualstudio.com/docs) settings for running the above tools on save\n\n## Example\n\nYou can see the template in action in the [example project](https://github.com/DiamondLightSource/python-copier-template-example). This is an up to date expansion of the template to illustrate how it looks with all the options enabled.\n\n## Create a new project via Developer Portal\n\n\u003e [!NOTE]\n\u003e Template creation from the developer portal is currently under construction, so these instructions do not work yet\n\nVisit \u003chttps://dev-portal.diamond.ac.uk/create\u003e and you will see a list of templates that you can create. Pick the one marked `Python Template` and fill in the details of the project.\n\n## Create a new project from the commandline\n\nYou will need to `pip install copier` inside an activated `venv` from python3.10 or later, then you can create a new module via:\n\n```\nmkdir /path/to/my-project\n# The --trust argument is required to run setup tasks such as initializing a git repository\ncopier copy --trust gh:DiamondLightSource/python-copier-template /path/to/my-project\n```\n\nYou can also use it via `pipx run copier` if you have that installed.\n\n\u003c!-- README only content. Anything below this line won't be included in index.md --\u003e\n\nSee https://DiamondLightSource.github.io/python-copier-template for more detailed documentation.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdiamondlightsource%2Fpython-copier-template","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdiamondlightsource%2Fpython-copier-template","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdiamondlightsource%2Fpython-copier-template/lists"}