|  | 
|  | 1 | + | 
|  | 2 | + | 
| 1 | 3 | # An opinionated template for Data Packages built with Seedcase packages | 
| 2 | 4 | 
 | 
|  | 5 | +<!-- [![DOI]()]() --> | 
|  | 6 | + | 
|  | 7 | +[](https://github.com/copier-org/copier) | 
|  | 8 | +[](https://github.com/seedcase-project/template-data-package/blob/main/LICENSE.md) | 
|  | 10 | +[](https://github.com/seedcase-project/template-data-package/releases/latest) | 
|  | 12 | +[](https://github.com/seedcase-project/template-data-package/actions/workflows/build-package.yml) | 
|  | 13 | +[](https://github.com/seedcase-project/template-data-package/actions/workflows/build-website.yml) | 
|  | 15 | +[](https://github.com/seedcase-project/template-data-package/actions/workflows/github-code-scanning/codeql) | 
|  | 16 | +[](https://results.pre-commit.ci/latest/github/seedcase-project/template-data-package/main) | 
|  | 18 | +[](https://lifecycle.r-lib.org/articles/stages.html#experimental) | 
|  | 19 | +[](https://www.repostatus.org/#active) | 
|  | 22 | + | 
| 3 | 23 | This repository contains a template for setting up a new [Data | 
| 4 | 24 | Package](https://datapackage.org/) following the Seedcase structure. Use | 
| 5 | 25 | this template to quickly get started with a new Data Package with all | 
| 6 | 26 | the necessary files and configurations in place, including for | 
| 7 | 27 | developing the Data Package. See the features section below for details | 
| 8 | 28 | on what is included in this template. | 
| 9 | 29 | 
 | 
| 10 |  | -## Using this template | 
| 11 |  | - | 
| 12 |  | -You need these programs installed in order to use this template. | 
| 13 |  | - | 
| 14 |  | -- [Git](https://git-scm.com/) | 
| 15 |  | -- [Python](https://www.python.org/) | 
| 16 |  | -- [uv](https://docs.astral.sh/uv/) | 
| 17 |  | -- [just](https://just.systems/man/en/) | 
| 18 |  | - | 
| 19 |  | -Once you have these installed, open a terminal and move into the directory | 
| 20 |  | -where you want to create the new Data Package and run the following command: | 
| 21 |  | - | 
| 22 |  | -``` bash | 
| 23 |  | -# Copy into the current directory with "." | 
| 24 |  | -uvx copier copy --trust gh:seedcase-project/template-data-package . | 
| 25 |  | -``` | 
| 26 |  | - | 
| 27 |  | -> [!CAUTION] | 
| 28 |  | -> This template runs some post-copy commands using your terminal. In order | 
| 29 |  | -> to run them, you need to use the `--trust` option. Review the | 
| 30 |  | -> [`copier.yml`](copier.yaml) file, under the `_tasks` key to see what | 
| 31 |  | -> commands will be run after copying the template, so you can know and trust | 
| 32 |  | -> what the commands are doing. Unfortunately, this template can't be used | 
| 33 |  | -> without the `--trust` option. | 
| 34 |  | -
 | 
| 35 |  | -### Post-creation setup | 
| 36 |  | - | 
| 37 |  | -These steps are mainly for us in the Seedcase Project to set up the | 
| 38 |  | -repository with the settings we use, but you can follow them if you want | 
| 39 |  | -to set up your Data Package in a similar way. | 
| 40 |  | - | 
| 41 |  | -After copying the template, while in the directory of the new Data Package, | 
| 42 |  | -run the following: | 
| 43 |  | - | 
| 44 |  | -``` bash | 
| 45 |  | -just install-precommit | 
| 46 |  | -``` | 
| 47 |  | - | 
| 48 |  | -Next, install [`spaid`](https://github.com/seedcase-project/spaid) and use the | 
| 49 |  | -following commands to run the next setup steps: | 
| 50 |  | - | 
| 51 |  | -``` bash | 
| 52 |  | -spaid_gh_create_repo_from_local -h | 
| 53 |  | -spaid_gh_set_repo_settings -h | 
| 54 |  | -spaid_gh_ruleset_basic_protect_main -h | 
| 55 |  | -``` | 
| 56 |  | - | 
| 57 |  | -Some configuration is needed after copying this template to a new | 
| 58 |  | -repository, including configuration external to the repository. | 
| 59 |  | - | 
| 60 |  | --   The template file `.github/workflows/release-package.yml` requires | 
| 61 |  | -    installing the | 
| 62 |  | -    [auto-release-token](https://github.com/apps/auto-release-token) | 
| 63 |  | -    GitHub App to be installed, as well as a GitHub secret called | 
| 64 |  | -    `UPDATE_VERSION_TOKEN` and a variable called `UPDATE_VERSION_APP_ID` | 
| 65 |  | -    to be set up in the repository (or organization) settings. See this | 
| 66 |  | -    [guide](https://guidebook.seedcase-project.org/operations/security#using-github-apps-to-generate-tokens) | 
| 67 |  | -    for more details on how to set this up. | 
| 68 |  | - | 
| 69 |  | -## Features | 
| 70 |  | - | 
| 71 |  | --   Use [uv](https://docs.astral.sh/uv/) to manage the Data Package. | 
| 72 |  | --   Use [Polars](https://www.pola.rs/) for data manipulation. | 
| 73 |  | --   Use [Seedcase Sprout](https://sprout.seedcase-project.org/) to | 
| 74 |  | -    create and modify the Data Package. | 
| 75 |  | --   Licensed under the open data license TODO. This is added by default, | 
| 76 |  | -    but you can delete or modify it if it isn't what you want or can | 
| 77 |  | -    use. | 
| 78 |  | --   Build management with [justfile](https://just.systems/man/en/). | 
| 79 |  | --   Check typos with [typos](https://github.com/crate-ci/typos). | 
| 80 |  | --   Code formatting and linting with | 
| 81 |  | -    [ruff](https://docs.astral.sh/ruff/). | 
| 82 |  | --   Pre-commit hooks with [pre-commit](https://pre-commit.com/). | 
| 83 |  | --   GitHub workflows for automatically adding Pull Requests and Issues | 
| 84 |  | -    to a project board. | 
| 85 |  | --   Pull Request template for easy creation of new Pull Requests. | 
| 86 |  | --   VS Code settings for common settings for contributors using VS Code. | 
| 87 |  | --   EditorConfig for common cross-editor settings for contributors. | 
| 88 |  | --   `CITATION.cff` file for citation information. | 
| 89 |  | --   Website generation with [Quarto](https://quarto.org/). | 
| 90 |  | --   Folder and file structure that mimics a Python package to take | 
| 91 |  | -    advantage of Python's packaging ecosystem. | 
| 92 |  | --   `pyproject.toml` for tracking dependencies and project metadata. | 
|  | 30 | +Check out our | 
|  | 31 | +[website](https://template-data-package.seedcase-project.org/) for more | 
|  | 32 | +information, such as an how to use it | 
|  | 33 | +[guide](https://template-data-package.seedcase-project.org/docs/guide/). | 
|  | 34 | +For a list of changes, see our | 
|  | 35 | +[changelog](https://template-data-package.seedcase-project.org/docs/releases/) | 
|  | 36 | +page. | 
|  | 37 | + | 
|  | 38 | +## Contributing | 
|  | 39 | + | 
|  | 40 | +Check out our [contributing | 
|  | 41 | +page](https://template-data-package.seedcase-project.org/CONTRIBUTING/) | 
|  | 42 | +for information on how to contribute to the project, including how to | 
|  | 43 | +set up your development environment. | 
|  | 44 | + | 
|  | 45 | +Please note that this project is released with a [Contributor Code of | 
|  | 46 | +Conduct](https://github.com/seedcase-project/.github/blob/main/CODE_OF_CONDUCT.md). | 
|  | 47 | +By participating in this project you agree to abide by its terms. | 
|  | 48 | + | 
|  | 49 | +## Licensing | 
|  | 50 | + | 
|  | 51 | +This project is licensed under the [MIT | 
|  | 52 | +License](https://github.com/seedcase-project/template-data-package/blob/main/LICENSE.md). | 
|  | 53 | + | 
|  | 54 | +## Citing | 
|  | 55 | + | 
|  | 56 | +This project is part of the Seedcase Project, which is a collaborative | 
|  | 57 | +effort to create a framework for data management and analysis in | 
|  | 58 | +research. If you use this project in your work, please cite it as | 
|  | 59 | +follows: | 
|  | 60 | + | 
|  | 61 | +Johnston L.W., Brødbæk S.K., Beicher K., Vago M. Template Data Package: | 
|  | 62 | +An opinionated setup for making FAIR and structured data using Seedcase | 
|  | 63 | +Python packages. URL: https://template-data-package.seedcase-project.org | 
|  | 64 | + | 
|  | 65 | +Or as a BibTeX entry: | 
|  | 66 | + | 
|  | 67 | +    @misc{YourReferenceHere, | 
|  | 68 | +    author = {Johnston, Luke William and Brødbæk, Signe Kirk and Beicher, Kristiane and Vago, Marton}, | 
|  | 69 | +    title = {Template Data Package: An opinionated setup for making FAIR and structured data using Seedcase Python packages.}, | 
|  | 70 | +    url = {https://template-data-package.seedcase-project.org} | 
|  | 71 | +    } | 
0 commit comments