Template Data Package: An opinionated setup for making FAIR and structured data using Seedcase Python packages
This repository contains a template for setting up a new Data Package following the Seedcase structure. Use this template to quickly get started with a new Data Package with all the necessary files and configurations in place, including for developing the Data Package. See the features section below for details on what is included in this template.
Check out our website for more information, such as a guide for using the template. For a list of changes, see our changelog page.
Check out our contributing page for information on how to contribute to the project, including how to set up your development environment.
Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.
The following people have contributed to this project by submitting pull requests 🎉
@lwjohnst86, @martonvago, @signekb, @joelostblom
This project is licensed under the MIT License.
This project is part of the Seedcase Project, which is a collaborative effort to create a framework for data management and analysis in research. If you use this project in your work, please cite it as follows:
Johnston L.W., Brødbæk S.K., Beicher K., Vago M. Template Data Package: An opinionated setup for making FAIR and structured data using Seedcase Python packages. DOI: 10.5281/zenodo.16540439 URL: https://template-data-package.seedcase-project.org
Or as a BibTeX entry:
@misc{YourReferenceHere,
author = {Johnston, Luke William and Brødbæk, Signe Kirk and Beicher, Kristiane and Vago, Marton},
doi = {10.5281/zenodo.16540439},
title = {Template Data Package: An opinionated setup for making FAIR and structured data using Seedcase Python packages.},
url = {https://template-data-package.seedcase-project.org}
}
docs/: Documentation about using and developing the Data Package.scripts/: Python scripts for creating and managing the Data Package. Files describing the data will be generated here..copier-answers.yml: Contains the answers you gave when copying the project from the template. You should not modify this file directly..cz.toml: Commitizen configuration file for managing versions and changelogs..pre-commit-config.yaml: Pre-commit configuration file for managing and running checks before each commit..typos.toml: typos spell checker configuration file.CITATION.cff: Structured citation metadata for your project.justfile:justconfiguration file for scripting project tasks.main.py: Central script file for the Data Package. This is where helper scripts are invoked and work together to create and manage the Data Package.pyproject.toml: Main Python project configuration file defining metadata and dependencies.ruff.toml: Ruff configuration file for linting and formatting Python code.uv.lock: Lockfile used byuvto record exact versions of installed dependencies.
The project uses
Commitizen to update
versions and generate changelogs. Based on the Conventional
Commits message, it
will automatically update the version in both pyproject.toml and
datapackage.json. The Data Package
standard suggests using their version of Semantic
Versioning. So
follow these conventions when making commits to this repository.