πŸš€ 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?¢

  1. Project Structure β€” Ready-to-go Python scaffolding

  2. Dependencies β€” Installed & configured

  3. Quality Tools β€” Hooks, linting, tests in place

  4. CI/CD β€” GitHub Actions locked & loaded

  5. 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/ folder

  • Customize configs β€” Edit pyproject.toml & friends

  • Add code β€” Start in src/my_data_science_tool/

  • Write tests β€” Keep tests/ healthy

  • Deploy β€” Push to GitHub; CI/CD takes it from there

For more details, see the πŸ“¦ Installation Guide and βš™οΈ Configuration Guide guides.