π Quick Start GuideΒΆ
βGive me six hours to chop down a tree and I will spend the first four sharpening the axe.β β Abraham Lincoln
Get up and running with Seedling in under 5 minutes! π± This guide walks you through the essentials so you can start coding instead of configuring.
π§° PrerequisitesΒΆ
Python 3.11+ β Modern language features & type hints
Git β Version control (because you will want history)
Copier β Template engine (weβll install it)
uv β Fast Python package manager (recommended)
Nox β Task automation (recommended)
Just β Command runner for shortcuts (optional, but addictive)
π¦ InstallationΒΆ
1 β Install Required ToolsΒΆ
# One-stop shop (recommended)
curl -LsSf https://raw.githubusercontent.com/jeffrichley/seedling/main/scripts/install-tools.sh | bash
# Or roll your own
curl -LsSf https://astral.sh/uv/install.sh | sh
uv pip install copier
uv pip install nox
Install Just (command runner)
macOS:
brew install just
Linux: download binary from releases and add to
PATH
Windows:
choco install just
2 β Generate Your First ProjectΒΆ
copier copy https://github.com/jeffrichley/seedling-template.git my-awesome-project
Youβll be prompted for config:
project_name [My Awesome Project]: My Data Science Tool
project_slug [my_awesome_project]: my_data_science_tool
project_description [A modern Python project built with best practices]: A powerful data science toolkit
author_name [Your Name]: Jane Doe
author_email [your.name@example.com]: jane.doe@example.com
github_username [yourusername]: janedoe
license (MIT, Apache-2.0, GPL-3.0, BSD-3-Clause) [MIT]: MIT
python_versions [3.11,3.12]: 3.11,3.12
coverage_threshold [80]: 85
4 β Set Up Development EnvironmentΒΆ
uv sync # Install dependencies
pre-commit install # Activate hooks
just quality # Run initial quality sweep
5 β Start Developing!ΒΆ
nox -s tests # via Nox (recommended)
just test # via Just
just lint # Format & lint
just docs # Build docs
π― What Just Happened?ΒΆ
Project Structure β Ready-to-go Python scaffolding
Dependencies β Installed & configured
Quality Tools β Hooks, linting, tests in place
CI/CD β GitHub Actions locked & loaded
Docs β Sphinx site bootstrapped
π Your New Project StructureΒΆ
my-awesome-project/
βββ src/my_data_science_tool/ # Your package code
βββ tests/ # Unit βΈ Integration βΈ E2E
βββ docs/ # Documentation
βββ .github/ # CI workflows
βββ pyproject.toml # Config central
βββ .pre-commit-config.yaml # Quality rules
βββ noxfile.py # Automation scripts
βββ justfile # Command shortcuts
βββ README.md # Project overview
π οΈ Available CommandsΒΆ
Using NoxΒΆ
nox -s tests # Run tests
nox -s lint # Lint code
nox -s type_check # Type checking
nox -s docs # Build docs
nox -s lint type_check docs # All checks
Using JustΒΆ
just test # Tests
just lint # Lint
just type-check # Type checking
just docs # Docs
just quality # All checks
Using uv DirectlyΒΆ
uv sync
uv run pytest
uv run black src tests
uv run ruff check src tests --fix
uv run mypy src tests
π― What the Template ProvidesΒΆ
β Automatically IncludedΒΆ
Python deps: Black, Ruff, MyPy, pytest, Sphinx, etc.
Pre-commit hooks
Nox automation
Just shortcuts
GitHub Actions CI/CD
Complete test scaffold
Docs with Sphinx + Furo
π§ What You InstallΒΆ
Copier β Project generator
uv β Dependency manager
Nox β Task automation
Just β Shortcuts (optional)
π± Next StepsΒΆ
Read the docs β Peek into the
docs/
folderCustomize configs β Edit
pyproject.toml
& friendsAdd code β Start in
src/my_data_science_tool/
Write tests β Keep
tests/
healthyDeploy β Push to GitHub; CI/CD takes it from there
For more details, see the π¦ Installation Guide and βοΈ Configuration Guide guides.