π¦ 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)
RecommendedΒΆ
uv β Fast Python package manager
Nox β Task automation
Just β Shortcut-friendly command runner (optional but addictive)
OptionalΒΆ
pyenv β Python version management
GitHub CLI β For easy repo wrangling
π§ Installing Required ToolsΒΆ
1 β Install uv (recommended)ΒΆ
# macOS/Linux
curl -LsSf https://astral.sh/uv/install.sh | sh
# Windows
powershell -c "irm https://astral.sh/uv/install.ps1 | iex"
# pip fallback
pip install uv
2 β Install CopierΒΆ
# With uv (recommended)
uv pip install copier
# With pip
pip install copier
# With pipx (isolated)
pipx install copier
3 β Install Nox (recommended)ΒΆ
# With uv
uv pip install nox
# With pip
pip install nox
# With pipx
pipx install nox
4 β Install Just (optional, but highly recommended)ΒΆ
# macOS
brew install just
# Linux
# Download from https://github.com/casey/just/releases or use your package manager
# Windows
choco install just
π 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ΒΆ
Generate your first project β π Quick Start Guide
Learn configuration β βοΈ Configuration Guide
Explore examples β π Examples
Customize the template to your needs