First published release of our Template Data Package tool!
On July 28, 2025, we formally published the first release of our second Seedcase product to Zenodo. We published a templating tool for creating Data Packages called, well, simply Template Data Package. This template will form a strong foundation for our continuing work building Python packages that improve the experience of developing and managing Data Packages. As we expand our “universe” of packages, we’ll integrate them into the template so that anyone who uses it can stay updated with our improvements and features as we add to it.
Code scaffolding and configuration management with Template Data Package
We have a dedicated website for Template Data Package that includes a lot more details about what it is, what features it has, and how to use it. But I’ll briefly go over bits of it here.
We built the Template to mainly help us build and manage Data Packages for projects that we collaborate on, such as ON-LiMiT or DP-Next. It helped us to get a more “tangible” view of what a Data Package will look like and what are the files and folders we need to best organise and develop it.
Templates are a way to scaffold new projects with a predefined structure and configuration, essentially providing boilerplate code and files so you can start working more quickly on what matters most: solving your problem. They also help with configuration management to track and manage improvements in the configurations and settings we have made based on hard lessons learned, best practices, and experience so that the developer experience is as good and as smooth as possible.
For this reason, we included many features to help with practices such as continuous integration and continuous delivery. Practices that ensure the code and data are as high quality as possible and are standardised and consistent.
As per our design philosophy of building for ourselves first, we designed the Template Data Package to have features and structures that work for us and our team. But we’ve also designed it to be flexible enough to be used by others. At the least, you can use it as a source of inspiration! 😁
Why use it?
We built this because, well, we needed it! There aren’t any templates or tools for creating a new Data Package. And none that set it up in the way we need when working with our Seedcase Python packages like Seedcase Sprout. So, if you want to create a Data Package that has many development support and infrastructure files, and all the organisation needed to get working on making your Data Package, this is the template for you! 🎉
Example use
We already have a detailed guide on how to set up and use it, but I’ll show you the basics. How do you use it? You of course need to install the needed dependencies. Then, open a terminal and run the following command:
uvx copier copy --trust gh:seedcase-project/template-data-package my-data-package
Where my-data-package
is the name of the folder you want to create for your new Data Package. This will create a new folder with the template files and folders, and will also ask you a few questions to customise the template to your needs. And that’s it!
Journey to first release
As we developed Seedcase Sprout, along with some of the example Data Packages, we learned and designed and improved how building a Data Package might be done and might look like. From those experiences, we created the basis for the Template Data Package. After that, it was only a matter of learning how to use copier1 to create the template.
Copier is a very easy to use tool, with some great documentation. It was so much easier to use than we expected that we were able to publish it in half the time we planned! We thought it would take two months (that included time away for all the vacations that the team was taking over the summer). But it only ended up being a month 🎉 It also helped that we have learned a lot from building Seedcase Sprout, so our workflow and development process is much more streamlined and efficient now.
So! The Template Data Package is “formally” published on Zenodo, though it is actually only installable and usable from GitHub. We published it on Zenodo as a way to get exposure and make it more findable, but also as a way to “stamp” it as a formal release.
Next steps
We were so enthusiastic about making the Template and how easy it was that our next steps are to convert the website and Python package templates into copier templates as well! So hopefully by the end of the summer, we will have templates for creating new Python packages and websites as well!
Our roadmap
We use GitHub Projects for our roadmap, so that we as a team are all aware of the next steps, what the focuses will be for a given month, and to communicate our progress to others. Curious about it? Check it out here.
Footnotes
See our decision post for why we chose Copier.↩︎