A standardized Python project template for [Your Organization].
This repository provides a solid foundation for new Python projects, enforcing best practices, code quality, and a modern CI/CD workflow using CircleCI.
- Modern Python packaging (PEP 517/518)
- Pre-commit hooks for linting and formatting
- Unit testing with pytest
- Docker support for containerized builds
- Team-specific CircleCI configuration via
.circleci/team-config.yml
python -m venv venv
source venv/bin/activate
# If you get errors about missing pip, run:
python -m ensurepip --upgrade
pip install --upgrade pip setuptools
pip install -r requirements.txt
pip install -r requirements-dev.txt
# Install the package in editable mode (required for running the CLI)
pip install -e .Note: Editable installs (
pip install -e .) require asetup.pyfile for compatibility with some pip/setuptools versions. This template includes a minimalsetup.pyfor this purpose.
python -m starter_template hello
python -m starter_template buildTo run all tests using pytest:
pytestYou should see output indicating that the sample tests in the tests/ directory have run and passed.
pre-commit run --all-filesdocker build -t starter-template:latest .This project uses a centralized CircleCI configuration managed by the platform team.
- The main pipeline config
config.ymlis maintained in a separate repo and referenced by all projects. - This repo contains a
.circleci/team-config.ymlfile, which you can use to override or extend jobs/workflows for your team's needs. - For more information, see Platform Team CI/CD Docs.
See CONTRIBUTING.md for guidelines.
CircleCI Labs is a collection of solutions developed by members of CircleCI's Field Engineering team through our engagement with various customer needs. This repository is part of that collection.
- ✅ Created by engineers @ CircleCI
- ✅ Used by real CircleCI customers
- ❌ not officially supported by CircleCI support
See LICENSE for details.
Replace this text with project-specific details as needed.