{"id":28904343,"url":"https://github.com/appliedai-initiative/pymetrius","last_synced_at":"2025-07-23T08:34:58.386Z","repository":{"id":45463920,"uuid":"308632635","full_name":"appliedAI-Initiative/pymetrius","owner":"appliedAI-Initiative","description":"A fire-tested template for production grade python libraries and packages. ","archived":false,"fork":false,"pushed_at":"2025-07-15T11:06:41.000Z","size":239,"stargazers_count":16,"open_issues_count":6,"forks_count":2,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-07-16T01:03:32.527Z","etag":null,"topics":["cookiecutter","python","python-library","python-package","template","tox"],"latest_commit_sha":null,"homepage":"","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/appliedAI-Initiative.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2020-10-30T13:04:47.000Z","updated_at":"2025-07-15T11:06:44.000Z","dependencies_parsed_at":"2024-03-04T10:26:47.410Z","dependency_job_id":"49d9865c-0de2-4f0a-971a-f65479a404e0","html_url":"https://github.com/appliedAI-Initiative/pymetrius","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/appliedAI-Initiative/pymetrius","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/appliedAI-Initiative%2Fpymetrius","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/appliedAI-Initiative%2Fpymetrius/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/appliedAI-Initiative%2Fpymetrius/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/appliedAI-Initiative%2Fpymetrius/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/appliedAI-Initiative","download_url":"https://codeload.github.com/appliedAI-Initiative/pymetrius/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/appliedAI-Initiative%2Fpymetrius/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266645467,"owners_count":23961733,"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-07-23T02:00:09.312Z","response_time":66,"last_error":null,"robots_txt_status":null,"robots_txt_updated_at":null,"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":["cookiecutter","python","python-library","python-package","template","tox"],"created_at":"2025-06-21T12:39:37.225Z","updated_at":"2025-07-23T08:34:58.375Z","avatar_url":"https://github.com/appliedAI-Initiative.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Pymetrius - cookiecutter for python libraries\r\n\r\nThis repository contains a [cookiecutter](https://github.com/cookiecutter/cookiecutter) template \r\nthat can be used for library development. The template contains several well-known \"best-practices\" for libraries\r\n (configurable package managers [`uv`, `pixi`, `poetry`], `poethepoet`, `mypy`, `ruff`, `nbqa`) and also some tools \r\ninspired by projects of ours that we consider generally useful - build and release scripts,\r\nauto-generation of documentation files, and others.\r\nEarlier versions of this template were used in several industry projects as well as for open source libraries.\r\n\r\nBuild, install and tests of the library are run by default [poethepoet](https://github.com/nat-n/poethepoet) tasks, the documentation is built with Jupyter-Book.\r\nThe template includes CI/CD pipelines based on github actions. The documentation will be published to GitHub pages using an action.\r\n\r\nIn the documentation links to source code will be created, therefore you will be prompted to give the project's url.\r\n\r\nSee the resulting repository's [contributing guidelines](docs/04_contributing/04_contributing.rst) \r\nfor further details. Some examples for projects from this template (with poetry) are [tianshou](https://github.com/thu-ml/tianshou)\r\nand [armscan_env](https://github.com/appliedAI-Initiative/armscan_env/)\r\n\r\n# Usage\r\n\r\n## Prerequisites\r\n\r\nThe template supports python 3.11 and higher. For a smooth project generation you need to have\r\n\r\n1) Cookiecutter. Install it e.g. with `pip install cookiecutter`\r\n2) You will need `tomli` and `tomli-w`. Install them e.g. with `pip install tomli tomli-w`.\r\n   If you have cloned this repo, you can also install them with `pip install -r requirements.txt`\r\n3) The selected package manager for your project (`uv`, `pixi`, or `poetry`) (not needed for the templating itself)\r\n\r\n\r\n## Creating a new project\r\n\r\nCall\r\n\r\n```shell script\r\ncookiecutter https://github.com/appliedAI-Initiative/pymetrius -o path/to/directory\r\n```\r\n\r\nand walk through the questions. You can also clone this repository, adjust the template and call cookiecutter on\r\nthe local file.\r\n\r\nYou will get a repo in `\u003cpath/to/directory\u003e/\u003cproject_name\u003e`. For finalizing the setup, you can `cd` into it, and call\r\ne.g.,\r\n\r\n```shell script\r\ngit init\r\n# Setup depends on your chosen package manager (uv, pixi, or poetry)\r\n# The generated README will provide specific instructions\r\npoe format\r\ngit add . \u0026\u0026 git commit -m \"Initial commit from pymetrius\"\r\n```\r\n\r\nNote: if you want to use `sphinx-spelling`, as is configured by default in the `poe` tasks, you may need to install the `enchant` library,\r\nsee [installation instructions](https://pyenchant.github.io/pyenchant/install.html#installing-the-enchant-c-library). Otherwise, you\r\ncan just remove the spellcheck from the tasks.\r\n\r\nPush to your branch and enjoy the fully setup pipelines and documentation!\r\n\r\n\r\n# Contributing\r\nThe core maintainers are Michael Panchenko and Carlo Cagnetta at appliedAI. Initially, the project was also supported by Adrian Rumpold.\r\nWe are happy about any contribution to this project, feel free to contact us directly or to open an issue or a pull request.\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fappliedai-initiative%2Fpymetrius","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fappliedai-initiative%2Fpymetrius","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fappliedai-initiative%2Fpymetrius/lists"}