rs-files-templates
This Python package generates standard research-software project files from typed Pydantic models and Jinja templates.
The documentation is available at lumc-dcc.github.io/rs-files-templates.
Included generators:
README.md- independent
overview.md,usage.md,deployment.md,developer.md,reference.md, andlegal.mddocumentation pages CITATION.cffcodemeta.jsonbiotools.json.zenodo.jsonLICENSECHANGELOG.mdCODE_OF_CONDUCT.mdCONTRIBUTING.mdGOVERNANCE.mdSECURITY.mdSUPPORT.md.github/pull_request_template.md.github/ISSUE_TEMPLATE.zip(config, bug report, and feature request, bundled as one download)
Quick start
pip install rs-files-templates
Python 3.14 is required.
Example usage
from rs_files_templates import CitationModel, Contributor
citation = CitationModel(
project_name="Example project",
project_slug="example-project",
versioning={"version": "1.0.0"},
urls={"repository": "https://github.com/example/project"},
contributors={
"entries": [
Contributor(
name="Ada Lovelace",
given_names="Ada",
family_names="Lovelace",
roles=["Original author"],
)
]
},
)
citation.render(".", validate_schema=True)
README content uses the same RSM contract. Installation, usage, citation, support, licensing, and development guidance are resolved from metadata in the model itself:
from rs_files_templates import ReadmeModel, render_readme
readme = ReadmeModel(
project_name="Example project",
project_slug="example-project",
project_short_description="Analyze research data reproducibly.",
audiences={"entries": ["Researcher"]},
topics={"entries": [{"term": "Data analysis"}]},
project_manager="uv",
software_functions={"entries": [{"cmd": "example-project --help"}]},
)
render_readme(readme, ".")
Top-level EDAM topics are rendered as project research domains and mapped to
CodeMeta applicationSubCategory. BiotoolsModel maps the same topics and the
declared software functions to bio.tools registry metadata.
The package maps supported project managers, quality tools, and test frameworks to metadata-derived commands. Each documentation model renders one Markdown file. Repository generators supply documentation-builder configuration.
Each generated file has a model composed only of fields from
rsm-schema, version 1.0.0.
Development
poetry install --with dev,docs
poetry run pre-commit install
poetry run pre-commit run --all-files
poetry run pytest -m "not network"
poetry run sphinx-build -W -b html docs docs/_build/html
License
This project is licensed under Apache 2.0. See the LICENSE file for details.
Metadata
Release files for rs-files-templates 1.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| rs_files_templates-1.0.0.tar.gz | 43.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| rs_files_templates-1.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 106.9 kB
Release files / rs_files_templates-1.0.0.tar.gz
| Download URL | rs_files_templates-1.0.0.tar.gz |
|---|---|
| Size | 43.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d9464a0b76514bb54cdabe9eb16f17aee1cdbbf711b5a57dd1f9c0e2a256afa6
|
|
BLAKE2b-256 checksum How to use checksums |
e1e12e30e4bdc3d1d620a4cce89279bce9796f894e2b8fe514ebcfa5c8a7aaae
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 12, 2026.
Transparency logRelease files / rs_files_templates-1.0.0-py3-none-any.whl
| Download URL | rs_files_templates-1.0.0-py3-none-any.whl |
|---|---|
| Size | 63.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
9112a49635d02398137cd2ee469b498da7b7bce327811ba9da760a9e809309f5
|
|
BLAKE2b-256 checksum How to use checksums |
c09ce8deb20a506288c0ec9ab38a1b810e6ef00aebac90a96dc5750f6b4c14e1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 12, 2026.
Transparency log