Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 14 additions & 0 deletions .copier-answers.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# Changes here will be overwritten by Copier; NEVER EDIT MANUALLY
_commit: '2590293'
_src_path: gh:seedcase-project/template-python-package
author_email: ''
author_family_name: ''
author_given_name: ''
copyright_year: '2025'
github_board_number: '18'
github_repo: seedcase-sprout
github_user: seedcase-project
homepage: https://sprout.seedcase-project.org/
hosting_provider: netlify
is_seedcase_project: true
review_team: '@seedcase-project/developers'
11 changes: 0 additions & 11 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -1,13 +1,2 @@
# All members on Developers team get added to review PRs
* @seedcase-project/developers

# Ignore these so we don't get added to sync PRs
/.github/
/.vscode/
/.devcontainer/
justfile
.editorconfig
.gitignore
ruff.toml
pyproject.toml
uv.lock
13 changes: 11 additions & 2 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -1,10 +1,19 @@
version: 2
updates:
- package-ecosystem: pip
- package-ecosystem: github-actions
directory: /
schedule:
interval: monthly
commit-message:
prefix: ci
include: scope
assignees:
- "lwjohnst86"

- package-ecosystem: uv
directory: /
schedule:
interval: monthly
versioning-strategy: increase-if-necessary
commit-message:
prefix: build
include: scope
Expand Down
17 changes: 17 additions & 0 deletions .github/workflows/dependency-review.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# Dependency Review Action
#
# This Action will scan dependency manifest files that change as part of a Pull Request,
# surfacing known-vulnerable versions of the packages declared or updated in the PR.
# Once installed, if the workflow run is marked as required,
# PRs introducing known-vulnerable packages will be blocked from merging.
#
# Source repository: https://github.com/actions/dependency-review-action
name: "Security: Dependency Review"
on: pull_request

# Limit token permissions for security
permissions: read-all

jobs:
dependency-review:
uses: seedcase-project/.github/.github/workflows/reusable-dependency-review.yml@main
2 changes: 1 addition & 1 deletion .github/workflows/release-package.yml
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ jobs:
# - https://www.andrlik.org/dispatches/til-use-uv-for-build-and-publish-github-actions/
# - https://github.com/astral-sh/trusted-publishing-examples
- name: Set up uv
uses: astral-sh/setup-uv@bd01e18f51369d5a26f1651c3cb451d3417e3bba # v6.3.1
uses: astral-sh/setup-uv@e92bafb6253dcd438e0484186d7669ea7a8ca1cc # v6.4.3

- name: Build distributions
# Builds dists from source and stores them in the dist/ directory.
Expand Down
55 changes: 55 additions & 0 deletions .github/workflows/update-from-template.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
name: Update from template

on:
workflow_dispatch:
schedule:
# Every day at 3:30 at night.
- cron: '30 3 * * *'

# Limit token permissions for security
permissions: read-all

jobs:
update-from-template:
runs-on: ubuntu-latest
permissions:
pull-requests: write
steps:
- name: Harden the runner (Audit all outbound calls)
uses: step-security/harden-runner@0634a2670c59f64b4a01f0f96f84700a4088b9f0 # v2.12.0
with:
egress-policy: audit

- name: Check out repository
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2

- name: Install Python
uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5.6.0
with:
python-version: "3.13"

- name: Install dependencies
run: |
sudo apt install pipx
pipx ensurepath
pipx install uv rust-just copier

- name: Set User
run: |
git config user.name "github-actions[bot]"
git config user.email "41898282+github-actions[bot]@users.noreply.github.com"

- name: Pull request with updates from template
run: |
just update-from-template
any_changes=$(git status --porcelain=v1 2>/dev/null | wc -l)
if [ "$any_changes" -eq 0 ]; then
echo "No updates from the template detected, and no changes found. Stopping and exiting."
exit 0
fi
git checkout -b chore/update-from-template
git add .
git commit -m "chore(sync): :hammer: update changes from template"
gh pr create \
--title "chore(sync): :hammer: update changes from template" \
--body "This PR is automatically generated by the 'update-from-template' workflow. It syncs the latest changes from the template repository with this repository."
1 change: 0 additions & 1 deletion .vscode/extensions.json
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,5 @@
"tekumara.typos-vscode",
"EditorConfig.EditorConfig"
],
// List of extensions recommended by VS Code that should not be recommended for users of this workspace.
"unwantedRecommendations": []
}
14 changes: 0 additions & 14 deletions .vscode/json.code-snippets
Original file line number Diff line number Diff line change
@@ -1,18 +1,4 @@
{
// Place your snippets for Quarto here.
// Each snippet is defined under a snippet name and has a prefix, body and description.
// The prefix is what is used to trigger the snippet and the body will be expanded and inserted.
// Possible variables are:
//
// - $1 and $2 for tab stops,
// - $0 for the final cursor position, and
// - ${1:label}, ${2:another} for placeholders
//
// Placeholders with the same ids are connected.
//
// How to use the code snippets:
// After you have set the above settings, a suggestion for one of the code snippets below will pop up automatically, when
// you start writing the prefix. Press "Enter" or "Tab" to insert the code snippet.
"Insert TODO formatting": {
"scope": "quarto,markdown",
"prefix": "TODO",
Expand Down
3 changes: 0 additions & 3 deletions .vscode/launch.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,4 @@
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
Expand Down
13 changes: 0 additions & 13 deletions .vscode/python.code-snippets
Original file line number Diff line number Diff line change
@@ -1,17 +1,4 @@
{
// Place your snippets for python here. Each snippet is defined under a snippet name and has a prefix, body and
// description. The prefix is what is used to trigger the snippet and the body will be expanded and inserted. Possible variables are:
// $1, $2 for tab stops, $0 for the final cursor position, and ${1:label}, ${2:another} for placeholders. Placeholders with the
// same ids are connected.
// Example:
// "Print to console": {
// "prefix": "log",
// "body": [
// "console.log('$1');",
// "$2"
// ],
// "description": "Log output to console"
// }
"Insert a Python test": {
"prefix": "test-gwt",
"body": [
Expand Down
20 changes: 11 additions & 9 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,15 +12,17 @@
"editor.tabCompletion": "on",
"editor.snippetSuggestions": "inline",
"conventional-branch.type": [
"build", // Changes that affect the build system or external dependencies
"ci", // Changes to our CI configuration files and scripts
"docs", // Documentation only changes
"feat", // A new feature
"fix", // A bug fix
"refactor", // A code change that neither fixes a bug nor adds a feature
"style", // Changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc)
"test", // Adding missing tests or correcting existing tests
"chore", // Misc things, like renaming or deleting files
"build",
"ci",
"docs",
"feat",
"fix",
"refactor",
"style",
"test",
"chore",
"perf",
"revert"
],
"conventional-branch.format": "{Type}/{Branch}",
"[quarto][qmd]": {
Expand Down
2 changes: 1 addition & 1 deletion 404.qmd
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
title: "Youve entered the garden of missing pages"
title: "You've entered the garden of missing pages"
---

Let's get you back to greener grounds.
Expand Down
30 changes: 30 additions & 0 deletions CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
# Contributor Code of Conduct

As contributors and maintainers of this project, we pledge to respect
all people who contribute through reporting issues, posting suggestions,
updating any material, submitting pull requests, and other activities.

We are committed to making participation in this project a
harassment-free experience for everyone, regardless of level of
experience, gender, gender identity and expression, sexual orientation,
disability, personal appearance, body size, race, ethnicity, age, or
religion.

Examples of unacceptable behavior by participants include the use of
sexual language or imagery, derogatory comments or personal attacks,
trolling, public or private harassment, insults, or other unprofessional
conduct.

Project maintainers have the right and responsibility to remove, edit,
or reject comments, commits, code, wiki edits, issues, and other
contributions that are not aligned to this Code of Conduct. Project
maintainers who do not follow the Code of Conduct may be removed from
the project team.

Instances of abusive, harassing, or otherwise unacceptable behavior may
be reported by opening an issue or contacting one or more of the project
maintainers.

This Code of Conduct is adapted from the Contributor Covenant
(https://contributor-covenant.org), version 1.0.0, available at
https://contributor-covenant.org/version/1/0/0/
32 changes: 23 additions & 9 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,17 +21,12 @@ justfile to manage our project, such as to install development
dependencies. Both the uv and justfile websites have a more detailed guide on
using uv, but below are some simple instructions to get you started.

To install uv, run:
It's easiest to install uv and justfile using
[pipx](https://pypa.github.io/pipx/), so install that first. Then,
install uv and justfile by running:

``` bash
pipx install uv
```

Then, open a terminal so that the working directory is the root of this
project (`seedcase-sprout/`) and run:

``` bash
just install-deps
pipx install uv rust-just
```

We keep all our development workflows in the `justfile`, so you can
Expand All @@ -41,3 +36,22 @@ available, run:
``` bash
just
```

As you contribute, make sure your changes will pass our tests by opening
a terminal so that the working directory is the root of this project's
repository and running:

``` bash
just run-all
```

When committing changes, please try to follow [Conventional
Commits](https://decisions.seedcase-project.org/why-conventional-commits)
as Git messages. Using this convention allows us to be able to
automatically create a release based on the commit message by using
[Commitizen](https://decisions.seedcase-project.org/why-semantic-release-with-commitizen).
If you don't use Conventional Commits when making a commit, we will
revise the pull request title to follow that format, as we use [squash
merges](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/squashing-commits/about-squash-merges)
when merging pull requests, so all other commits in the pull request
will be squashed into one commit.
13 changes: 7 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,17 +8,18 @@

## seedcase-sprout: Grow structured, organised, and FAIR data

[![Copier](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/copier-org/copier/master/img/badge/badge-grayscale-inverted-border-teal.json?raw=true.svg)](https://github.com/copier-org/copier)
[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.15800477.svg)](https://doi.org/10.5281/zenodo.15800477)
[![GitHub
License](https://img.shields.io/github/license/seedcase-project/seedcase-sprout.svg)](https://github.com/seedcase-project/seedcase-sprout/blob/main/LICENSE.md)
[![PyPI
Version](https://img.shields.io/pypi/v/seedcase-sprout.svg)](https://pypi.org/project/seedcase-sprout)
Version](https://img.shields.io/pypi/v/seedcase-sprout.svg)](https://pypi.org/project/seedcase-sprout/)
[![GitHub
Release](https://img.shields.io/github/v/release/seedcase-project/seedcase-sprout.svg)](https://github.com/seedcase-project/seedcase-sprout/releases/latest)
[![Supported Python Version from PEP 621
TOML](https://img.shields.io/python/required-version-toml?tomlFilePath=https%3A%2F%2Fraw.githubusercontent.com%2Fseedcase-project%2Fseedcase-sprout%2Frefs%2Fheads%2Fmain%2Fpyproject.toml)](https://github.com/seedcase-project/seedcase-sprout/blob/main/pyproject.toml)
TOML](https://img.shields.io/python/required-version-toml?tomlFilePath=https://raw.githubusercontent.com/seedcase-project/seedcase-sprout/refs/heads/main/pyproject.toml)](https://github.com/seedcase-project/seedcase-sprout/blob/main/pyproject.toml)
[![OpenSSF
Scorecard](https://api.scorecard.dev/projects/github.com/seedcase-project/seedcase-sprout/badge?raw=true.png)](https://scorecard.dev/viewer/?uri=github.com/seedcase-project/seedcase-sprout)
Scorecard](https://api.scorecard.dev/projects/github.com/seedcase-project/seedcase-sprout/badge?raw=true.svg)](https://scorecard.dev/viewer/?uri=github.com/seedcase-project/seedcase-sprout)
[![Build
package](https://github.com/seedcase-project/seedcase-sprout/actions/workflows/build-package.yml/badge.svg)](https://github.com/seedcase-project/seedcase-sprout/actions/workflows/build-package.yml)
[![Build
Expand All @@ -33,7 +34,7 @@ coverage](https://raw.githubusercontent.com/seedcase-project/seedcase-sprout/cov
state and is being actively
developed.](https://www.repostatus.org/badges/latest/active.svg)](https://www.repostatus.org/#active)
[![OpenSSF Best
Practices](https://www.bestpractices.dev/projects/10459/badge?raw=true.png)](https://www.bestpractices.dev/projects/10459)
Practices](https://www.bestpractices.dev/projects/10459/badge?raw=true.svg)](https://www.bestpractices.dev/projects/10459)

Sprout is one component of the [Seedcase
Project](https://seedcase-project.org) framework that aims to take data
Expand Down Expand Up @@ -67,8 +68,8 @@ 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](https://github.com/seedcase-project/.github/blob/main/CODE_OF_CONDUCT.md).
By participating in this project you agree to abide by its terms.
Conduct](CODE_OF_CONDUCT.md). By participating in this project you agree
to abide by its terms.

## Licensing

Expand Down
4 changes: 2 additions & 2 deletions README.qmd
Original file line number Diff line number Diff line change
Expand Up @@ -48,8 +48,8 @@ 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](https://github.com/seedcase-project/.github/blob/main/CODE_OF_CONDUCT.md).
By participating in this project you agree to abide by its terms.
Conduct](CODE_OF_CONDUCT.md). By participating in this project you agree
to abide by its terms.

## Licensing

Expand Down
4 changes: 4 additions & 0 deletions _contributors.qmd
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
These are the people who have contributed by submitting changes through pull requests :tada:


[\@lwjohnst86](https://github.com/lwjohnst86), [\@signekb](https://github.com/signekb), [\@martonvago](https://github.com/martonvago), [\@K-Beicher](https://github.com/K-Beicher), [\@philter87](https://github.com/philter87)
13 changes: 12 additions & 1 deletion _extensions/seedcase-project/seedcase-theme/_brand.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,13 @@ meta:
name:
full: Seedcase Project
short: Seedcase
description: |
The Seedcase Project is an organisation dedicated to making an
effective and open framework for building modern infrastructures
for structured, standardised, and FAIR (findable, accessible,
interoperable, and reusable) research data.
link:
home: https://seedcase-project.org
github: https://github.com/seedcase-project

color:
Expand All @@ -19,7 +25,7 @@ typography:
fonts:
- family: noto sans
source: "bunny"
# other weights are used inexplicitly for e.g., bold and table headers
# other weights are used for e.g., bold and table headers
weight: [300, 500, 600]
- family: poppins
source: "bunny"
Expand Down Expand Up @@ -140,3 +146,8 @@ defaults:
.callout-body {
font-weight: 300 !important;
}

/* Dropdown items on navbar default to 400 weight, but we want them to be lighter. */
.dropdown-item {
font-weight: 300 !important;
}
Loading