A reusable, cross-platform Python starter project.
Keep the structure standard. Keep the implementation elastic.
PythonStarter provides a clean, reusable foundation for modern Python projects.
It is intentionally lightweight, allowing each project to evolve according to its own requirements while maintaining a familiar engineering structure.
- Modern Python project layout
- src-based package structure
- Conda-friendly
- pip-friendly
- pytest ready
- Ruff linting
- Ruff formatting
- MIT License
- Cross-platform
- Python 3.13 or newer
- Conda (recommended)
python-starter/
│
├── data/
├── docs/
├── notebooks/
├── src/
│ └── python_starter/
├── tests/
│
├── .gitignore
├── environment.yml
├── LICENSE
├── pyproject.toml
└── README.md
conda env create -f environment.ymlconda activate python-devpython -m pip install -e .python -m python_starteror
python-starterpytestruff check .Check formatting:
ruff format --check .Apply formatting:
ruff format .ruff check .
ruff format .
pytestThis starter project follows a few simple engineering principles.
- Standardize the structure.
- Keep the implementation elastic.
- Consistency reduces friction.
- Automate repetition.
- Preserve creativity.
- Optimize for Future Francois.
Potential additions include:
- MkDocs
- GitHub Actions
- Coverage reporting
- Pre-commit hooks
- Packaging and publishing
This project is licensed under the MIT License.
See the LICENSE file for details.