From 1011cb5798fe9a11e42a6bcbdbdb0c80787643a9 Mon Sep 17 00:00:00 2001 From: "Luke W. Johnston" Date: Mon, 7 Jul 2025 12:12:08 -0400 Subject: [PATCH] docs: :memo: update README with features and usage --- README.md | 66 +++++++++++++++++++++++++++++++++---------------------- 1 file changed, 40 insertions(+), 26 deletions(-) diff --git a/README.md b/README.md index 18aad12..54a139f 100644 --- a/README.md +++ b/README.md @@ -1,33 +1,47 @@ -# Template for Seedcase Python packages - -This repository contains a template for setting up new data example -repos in Seedcase. The first step is to create a new repository using -this template. This can easily be done by clicking the "Use this -template" button on the repository page or by using the GitHub CLI: - -``` bash -# NAME is the name to give the new repository -gh repo create NAME --template seedcase-project/template-data-package -``` - -## Setting things up after cloning - -To add uv: - -1. Delete the `pyproject.toml` file. -2. In the terminal run `uv init`. -3. Look at the Git pane and take what was removed and move it over into - the new `pyproject.toml` file. You can mimic what was done in - `example-seed-beetle` repo. - -Then, in the terminal, run: +# An opinionated template for data packages built with Seedcase packages + +This repository contains a template for setting up new data packages. +The first step is to create a new repository using this template. This +can easily be done by clicking the "Use this template" button on the +repository page or by using the GitHub CLI: + +## Features + +- Use [uv](https://docs.astral.sh/uv/) to manage the data package. +- Use [polars](https://www.pola.rs/) for data manipulation. +- Use [Seedcase Sprout](https://sprout.seedcase-project.org/) to + create and modify the data package. +- Licensed under the open data license TODO. This is added by default, + but you can delete it if it isn't what you want or can use. +- Build management with [justfile](https://justfile.dev/). +- Check typos with [typos](https://github.com/crate-ci/typos). +- Code formatting and linting with + [ruff](https://docs.astral.sh/ruff/). +- Pre-commit hooks with [pre-commit](https://pre-commit.com/). +- GitHub workflows for automatically adding Pull Requests and Issues + to a project board. +- Pull Request template for easy creation of new Pull Requests. +- VS Code settings for common settings for contributors using VS Code. +- EditorConfig for common cross-editor settings for contributors. +- `CITATION.cff` file for citation information. +- Website generation with [Quarto](https://quarto.org/). +- Folder and file structure that mimics a Python package to take + advantage of Python's packaging ecosystem. +- `pyproject.toml` for tracking dependencies and project metadata. + +## Using this template + +To use this template, we strongly recommend using it with +[uv](https://docs.astral.sh/uv/). Once you have it installed, move into +the directory where you want to create the new data package and run the +following command: ``` bash -uv add polars pyjanitor seedcase-sprout -uv add --dev ruff commitizen pre-commit typos +# Copy into the current directory with "." +uvx copier copy gh:seedcase-project/template-data-package . ``` -## Setting things up +## Post-copy, GitHub set up Use the commands found in [`spaid`](https://github.com/seedcase-project/spaid) repo to run the