data-module-template
A template for modular data workflows, making energy systems analysis more understandable and transparent!
Science Score: 44.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
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (17.2%) to scientific vocabulary
Repository
A template for modular data workflows, making energy systems analysis more understandable and transparent!
Basic Info
- Host: GitHub
- Owner: calliope-project
- License: apache-2.0
- Language: Jinja
- Default Branch: main
- Size: 982 KB
Statistics
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 1
- Releases: 0
Metadata Files
README.md
Data module template
A template for modular data workflows using snakemake, part of the clio toolset.
Resources
To familiarise yourself with clio data modules:
- Check the auto-generated minimal example. You can find it in
tests/integration/Snakefile. - Read about the
clioapproach in our documentation. - Read about
snakemakemodularisation in their documentation.
How to use this template
We recommend using pixi as your package manager. Once installed, do the following:
- Install the templater tool
copier.
shell
pixi global install copier
- Use
copierto build a project with this template. A new module will be created in the directory you chose. We recommend you use the module name as the directory name.
shell
copier copy https://github.com/calliope-project/data-module-template.git ./path/to/<module_name>
If your terminal does not have access to copier then you may need to update your PATH variable to include ~/.pixi/bin.
- Answer some questions so can we pre-fill licensing, citation files, etc...
- Initialise the
pixiproject environment of your new module.
shell
cd ./path/to/<module_name> # navigate to the new project
pixi install --all # install the project environment
- Extra: run the auto-generated example module!
shell
cd tests/integration # go to the integration test...
pixi run snakemake --use-conda # run it!
Features
- Standardised layout compliant with the snakemake workflow catalogue's listing requirements, enabling them to be automatically included in their listings once published. Read more about those requirements here.
- Standardised input/output structure across modules:
resources/: files needed for the module's processes.user/: files that should be provided by users. Document them well!automatic/: files that the module downloads or prepares in intermediate steps.results/: files generated by the module's algorithms that are relevant to the user.
- Pre-made integration setup for your module.
- Continuous Integration (CI) settings, ready for pre-commit.ci.
- GitHub actions to automate chores during pull requests and releases.
- Premade
pytestsetup.
[!IMPORTANT]
A few things to be aware of.
- Modules do not work like regular snakemake workflows
- The primary way to test them should be external (calling
module:, passing resources, and requesting results). Check the pre-made example intests/integrationfor more info.- Internal access (e.g., calling the
all:rule) may not work, as the module may not have the necessaryresources/to execute properly.- Please be sure to maintain the following files to ensure
cliocompatibility
- These are:
INTERFACE.yaml: a simple description of the module's input/output structure.config/config.yaml: a basic functioning example of how to configure this module.workflow/internal/config.schema.yaml: the module's configuration schema, used bysnakemakefor validation.AUTHORS/CITATION.cff/LICENSE: licensing and attribution of this module's code and methods.
Owner
- Name: Calliope
- Login: calliope-project
- Kind: organization
- Website: https://www.callio.pe/
- Repositories: 14
- Profile: https://github.com/calliope-project
A multi-scale energy systems modelling framework
Citation (CITATION.cff)
# Citation file
# For more information, see:
# https://citation-file-format.github.io/
cff-version: 1.2.0
message: If you use this software or data produced by it, please cite it using the metadata from this file.
title: clio - data module template
repository: https://github.com/calliope-project/data-module-template
license: Apache-2.0
authors:
- given-names: Ivan
family-names: Ruiz Manuel
orcid: https://orcid.org/0000-0003-2288-6423
GitHub Events
Total
- Create event: 31
- Issues event: 10
- Release event: 13
- Delete event: 16
- Issue comment event: 21
- Push event: 103
- Public event: 1
- Pull request review comment event: 47
- Pull request review event: 53
- Pull request event: 33
Last Year
- Create event: 31
- Issues event: 10
- Release event: 13
- Delete event: 16
- Issue comment event: 21
- Push event: 103
- Public event: 1
- Pull request review comment event: 47
- Pull request review event: 53
- Pull request event: 33