🌱 Seedling – Modern Python Project TemplateΒΆ

β€œDocumentation is a love letter that you write to your future self.” β€” Damian Conway

Welcome to Seedling β€” your ready-to-grow Python project starter kit. Think of this as the β€œjust add water” mix for modern development: tooling prepped, CI/CD wired, and best practices baked in. Your job? Start building cool stuff. 🌱


πŸš€ Quick StartΒΆ

Generate a new Python project in seconds:

# Install copier
pip install copier

# Generate a new project
copier copy https://github.com/jeffrichley/seedling-template.git my-awesome-project

πŸ’‘ Pro tip: Want the full setup with dev tools, tests, and docs? Check the Installation Guide in the sidebar.


✨ Features¢

  • Modern Python Setup: Python 3.11+, uv package manager, type hints

  • Quality Tooling: Black, Ruff, MyPy, pre-commit hooks

  • Testing: pytest with coverage, Hypothesis for property-based testing

  • Documentation: Sphinx with Furo theme, automatic API docs

  • CI/CD: GitHub Actions with comprehensive checks

  • Security: pip-audit, dependency scanning

  • Development: Nox for task automation, comprehensive dev tools

β€œSimplicity is the soul of efficiency.” β€” Austin Freeman


πŸ“š DocumentationΒΆ


🎯 What You Get¢

A fully configured Python project with:

my-awesome-project/
β”œβ”€β”€ src/my_awesome_project/     # Your package code
β”œβ”€β”€ tests/                      # Test suite
β”‚   β”œβ”€β”€ unit/                   # Unit tests
β”‚   β”œβ”€β”€ integration/            # Integration tests
β”‚   └── e2e/                    # End-to-end tests
β”œβ”€β”€ docs/                       # Documentation
β”œβ”€β”€ .github/                    # GitHub Actions workflows
β”œβ”€β”€ pyproject.toml              # Modern Python configuration
β”œβ”€β”€ .pre-commit-config.yaml     # Code quality hooks
β”œβ”€β”€ noxfile.py                  # Development tasks
└── README.md                   # Project documentation

πŸ› οΈ Template ConfigurationΒΆ

The template supports various configuration options:

  • Project metadata: name, description, author, license

  • Python versions: 3.11, 3.12, 3.13

  • Optional features: CLI interface, conda fallback

  • Quality thresholds: coverage, complexity limits


🀝 Contributing¢

See 🀝 Contributing to Seedling for details on contributing to the template.


πŸ“„ LicenseΒΆ

MIT License β€” see the LICENSE file for details.