template-uv-python-research-software
A template for Pythonic research software with environment management through uv.
https://github.com/cu-dbmi/template-uv-python-research-software
Science Score: 75.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 3 DOI reference(s) in README -
✓Academic publication links
Links to: zenodo.org -
○Academic email domains
-
✓Institutional organization owner
Organization cu-dbmi has institutional domain (medschool.cuanschutz.edu) -
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (17.0%) to scientific vocabulary
Repository
A template for Pythonic research software with environment management through uv.
Basic Info
Statistics
- Stars: 0
- Watchers: 1
- Forks: 1
- Open Issues: 0
- Releases: 3
Metadata Files
README.md
template-uv-python-research-software
This is a copier template for building Python research software through the uv environment manager.
Using this template
Follow these steps to use this template:
- Install
copier(e.g.pip install copier). - Reference this repository through the
copier copy <source> <target>command. (e.g.copier copy https://github.com/cu-dbmi/template-uv-python-research-software destination_path) - Follow the directions in your new repo's
README.mdand make sure to check each file for alignment with your project. - Enjoy!
What's included in the template
- Pre-configured
pyproject.tomlfor Python project management - Support for the
uvenvironment manager - Example source code and test structure
- Example docs structure with the option to publish to GitHub Pages
- Ready-to-use GitHub Actions CI workflow (including tests, docs, and deployment)
- Community health files like LICENSE, CODEOFCONDUCT, and CONTRIBUTING with boilerplate language
- Support for Jupyter notebook development alongside a local Python package
.pre-commit-config.yamlwhich can help with pre-commit checks for your project- Adds a CLI boilerplate to build from based on
fire.
Post-copy guidance
Please reference the README.md checklist for suggested next steps after copying the template.
When using the Jupyter notebook work, consider using uv run jupyter lab (or similar) to run notebooks which are invoked from the context of the virtual environment of the project.
This helps the notebook gain dependencies and access to the packaged work outside the notebooks directory.
Development
This project is a Copier template repository, designed to scaffold new projects using customizable templates. The templates leverage Jinja for flexible variable substitution and logic within template files.
To ensure the template remains functional and testable, pytest is used. Tests are provided to verify that the template can be rendered and instantiated correctly, helping to catch issues early in the development process.
For example, use the following to test the work:
bash
uv run pytest
Owner
- Name: University of Colorado Department of Biomedical Informatics
- Login: CU-DBMI
- Kind: organization
- Location: University of Colorado, School of Medicine, Anschutz Medical Campus
- Website: https://medschool.cuanschutz.edu/dbmi
- Repositories: 34
- Profile: https://github.com/CU-DBMI
Citation (CITATION.cff)
# This CITATION.cff file was generated with cffinit.
# Visit https://bit.ly/cffinit to generate yours today!
---
cff-version: 1.2.0
title: template-uv-python-research-software
message: >-
If you use this software, please cite it using the
metadata from the CITATION.cff file.
type: software
authors:
- given-names: David
family-names: Bunten
orcid: "https://orcid.org/0000-0001-6041-3665"
repository-code: "https://github.com/CU-DBMI/template-uv-python-research-software"
abstract: >-
A template for Pythonic research software with environment management through uv.
keywords:
- python
- uv
- research-software
- template
license: BSD-3-Clause
identifiers:
- type: doi
value: "10.5281/zenodo.15518401"
GitHub Events
Total
- Release event: 1
- Delete event: 1
- Push event: 5
- Pull request review event: 1
- Pull request event: 6
- Fork event: 1
- Create event: 1
Last Year
- Release event: 1
- Delete event: 1
- Push event: 5
- Pull request review event: 1
- Pull request event: 6
- Fork event: 1
- Create event: 1
Dependencies
- actions/checkout v4 composite
- actions/setup-python v5 composite
- astral-sh/setup-uv v6 composite
- pre-commit-ci/lite-action v1.1.0 composite
- pre-commit/action v3.0.1 composite
- pyvista/setup-headless-display-action v4 composite
- copier >=9.7.1
- annotated-types 0.7.0
- colorama 0.4.6
- copier 9.7.1
- dunamai 1.24.1
- funcy 2.0
- iniconfig 2.1.0
- jinja2 3.1.6
- jinja2-ansible-filters 1.3.2
- markupsafe 3.0.2
- packaging 25.0
- pathspec 0.12.1
- platformdirs 4.3.8
- pluggy 1.6.0
- plumbum 1.9.0
- prompt-toolkit 3.0.51
- pydantic 2.11.5
- pydantic-core 2.33.2
- pygments 2.19.1
- pytest 8.3.5
- pywin32 310
- pyyaml 6.0.2
- questionary 2.1.0
- template-uv-python-research-software 0.0.1
- typing-extensions 4.13.2
- typing-inspection 0.4.1
- wcwidth 0.2.13