πŸ“¦ Installation GuideΒΆ

β€œThe best time to plant a tree was 20 years ago. The second best time is now.” β€” Chinese Proverb

Here’s how to install and set up the Seedling template so you can spend more time coding and less time duct-taping tools together. 🌱


🧰 Prerequisites¢

RequiredΒΆ

  • Python 3.11+ β€” Modern features + type hints

  • Git β€” Version control

  • Copier β€” Template engine (we’ll install it)

OptionalΒΆ

  • pyenv β€” Python version management

  • GitHub CLI β€” For easy repo wrangling


πŸ”§ Installing Required ToolsΒΆ

2 β€” Install CopierΒΆ

# With uv (recommended)
uv pip install copier

# With pip
pip install copier

# With pipx (isolated)
pipx install copier

🌟 What the Template Provides¢

βœ… Already IncludedΒΆ

  • Python deps: Black, Ruff, MyPy, pytest, Hypothesis, Sphinx…

  • Pre-commit hooks

  • Nox automation tasks

  • Just command shortcuts

  • GitHub Actions workflows

πŸ”§ You InstallΒΆ

  • Copier β€” Project generator

  • uv β€” Dependency manager

  • Nox β€” Automation runner

  • Just β€” Command runner (optional)


βœ… Verify InstallationΒΆ

copier --version
uv --version
nox --version
just --version   # optional

You should see version numbers (not error messages).


⚑ Quick Install Script¢

curl -LsSf https://raw.githubusercontent.com/jeffrichley/seedling/main/scripts/install-tools.sh | bash

What it does:

  • Installs uv, Copier, Nox, Just

  • Checks existing installs

  • Prints next steps with pretty colors ✨


πŸ› οΈ Development Environment SetupΒΆ

1 β€” Clone the RepoΒΆ

git clone https://github.com/jeffrichley/seedling.git
cd seedling

2 β€” Python EnvironmentΒΆ

# pyenv
yenv install 3.11.0 && pyenv local 3.11.0

# uv
uv sync

3 β€” Dev DependenciesΒΆ

uv sync --all-extras
# OR
pip install -e ".[dev]"

4 β€” Pre-commit HooksΒΆ

pre-commit install

πŸ§ͺ Test the InstallationΒΆ

1 β€” Generate Test ProjectΒΆ

copier copy . /tmp/test-project --trust
cd /tmp/test-project

2 β€” VerifyΒΆ

uv sync
nox -s tests
just quality

3 β€” Clean UpΒΆ

rm -rf /tmp/test-project

πŸ› οΈ TroubleshootingΒΆ

  • Copier not found β€” pip install copier

  • uv missing β€” curl -LsSf https://astral.sh/uv/install.sh | sh

  • Nox missing β€” pip install nox

  • Just missing β€” install from GitHub releases or your package manager

  • Python too old β€” must be 3.11+

  • Permission errors β€” use --user flag or a venv

See:


🌱 Next Steps¢

  1. Generate your first project β†’ πŸš€ Quick Start Guide

  2. Learn configuration β†’ βš™οΈ Configuration Guide

  3. Explore examples β†’ πŸ“š Examples

  4. Customize the template to your needs