Initial python template implementation#1
Merged
Merged
Conversation
Contributor
CI Development Pipeline Status✅ Pipeline: Completed successfully. View Run Details |
There was a problem hiding this comment.
Pull request overview
This PR converts the repository from a generic Apache 2.0 boilerplate into a standardized Python project template with Hatch-based environments, a pytest testing layout, MkDocs documentation, and GitHub Actions automation.
Changes:
- Adds a
pyproject.toml-based Python packaging/tooling setup (Hatch envs, Ruff/Mypy/Pytest config). - Introduces CI workflows (quality, tests, security, docs deploy, build/publish) and pre-commit hooks.
- Establishes MkDocs documentation structure (including mkdocstrings and template placeholders) plus starter tests.
Reviewed changes
Copilot reviewed 64 out of 67 changed files in this pull request and generated 19 comments.
Show a summary per file
| File | Description |
|---|---|
| tests/unit/test_unit.py | Adds example unit tests and markers. |
| tests/unit/init.py | Marks unit tests as a package. |
| tests/integration/test_integration.py | Adds example integration tests and markers. |
| tests/integration/init.py | Marks integration tests as a package. |
| tests/e2e/test_e2e.py | Adds example e2e tests and markers. |
| tests/e2e/init.py | Marks e2e tests as a package. |
| src/project_name/py.typed | Declares package as typed. |
| src/project_name/init.py | Adds package version export. |
| src/project_name/.gitkeep | Keeps placeholder src directory in template. |
| scripts/bootstrap.sh | Adds bootstrap placeholder replacement + src rename logic. |
| scripts/README.md | Updates scripts documentation placeholders. |
| pyproject.toml | Defines build system, Hatch envs/scripts, Ruff/Mypy/Pytest config. |
| mkdocs.yml | Configures MkDocs site, mkdocstrings, nav, and template variables. |
| llms.txt | Updates LLM index doc placeholders/links. |
| llms-full.txt | Updates concatenated docs placeholders/links. |
| examples/README.md | Updates examples README placeholders and commands. |
| docs/requirements.txt | Removes standalone docs requirements (moved into Hatch env). |
| docs/reference/index.md | Updates reference landing page formatting and mkdocstrings notes. |
| docs/index.md | Updates docs home/hero content and install instructions. |
| docs/guides/index.md | Updates guides landing page formatting. |
| docs/getting-started/workflows.md | Replaces placeholder workflows with Python-centric examples. |
| docs/getting-started/quickstart.md | Replaces placeholder quickstart with Python-centric steps. |
| docs/getting-started/installation.md | Replaces placeholder installation content with Python-centric steps. |
| docs/getting-started/index.md | Updates getting started landing page formatting. |
| docs/examples/index.md | Updates examples landing page formatting. |
| docs/community/support.md | Switches to snippet-include of SUPPORT.md. |
| docs/community/security.md | Switches to snippet-include of SECURITY.md. |
| docs/community/index.md | Updates community landing page formatting. |
| docs/community/developing.md | Switches to snippet-include of DEVELOPING.md. |
| docs/community/contributing.md | Switches to snippet-include of CONTRIBUTING.md. |
| docs/community/code-of-conduct.md | Switches to snippet-include of CODE_OF_CONDUCT.md. |
| docs/community/agents.md | Switches to snippet-include of AGENTS.md. |
| docs/README.md | Removes docs README (docs instructions move elsewhere). |
| docker-compose.yml | Updates compose service command and placeholders for Python. |
| SUPPORT.md | Updates support content placeholders/links. |
| SECURITY.md | Updates security policy placeholders/links and formatting. |
| README.md | Updates README placeholders/links and adds Python-centric text. |
| NOTICE | Updates template placeholders/links. |
| Dockerfile | Converts Dockerfile template to Python build/runtime approach. |
| DEVELOPING.md | Updates developer guide to Hatch-centric Python workflow. |
| CONTRIBUTING.md | Updates contributing guide placeholders/links and formatting. |
| CODE_OF_CONDUCT.md | Updates placeholders and formatting/links. |
| CITATION.cff | Updates citation placeholders/links. |
| AGENTS.md | Updates agent instructions to Python/Hatch toolchain. |
| .pre-commit-config.yaml | Adds pre-commit hooks to run Hatch lint/types. |
| .gitignore | Expands ignores for Python tooling, editors, MkDocs output. |
| .github/workflows/weekly.yml | Updates weekly CI to new reusable workflows and python matrix. |
| .github/workflows/release.yml | Updates release workflow to new reusable workflows and python matrix. |
| .github/workflows/nightly.yml | Updates nightly workflow to new reusable workflows and python matrix. |
| .github/workflows/main.yml | Updates main branch CI to new reusable workflows and python matrix. |
| .github/workflows/development_cleanup.yml | Adjusts docs preview cleanup workflow formatting/steps. |
| .github/workflows/development.yml | Updates PR CI to new reusable workflows and docs preview deploy. |
| .github/workflows/_tests.yml | Implements reusable Hatch-based test runner with artifacts. |
| .github/workflows/_security.yml | Implements TruffleHog + pip-audit reusable security job. |
| .github/workflows/_quality.yml | Implements reusable Hatch-based lint/type-check jobs. |
| .github/workflows/_publish.yml | Implements reusable PyPI publish job (OIDC). |
| .github/workflows/_pr_comment.yml | Adds workflow_run-based PR status commenter. |
| .github/workflows/_link-check.yml | Adds reusable lychee link checker workflow. |
| .github/workflows/_docs.yml | Adds reusable Hatch/Mike docs builder/deployer with coverage download. |
| .github/workflows/_build_package.yml | Implements reusable Hatch package build + artifact upload. |
| .github/workflows/_build_container.yml | Implements reusable Docker build/push workflow. |
| .github/dependabot.yml | Enables Dependabot for GitHub Actions and pip ecosystem. |
| .github/PULL_REQUEST_TEMPLATE.md | Updates PR template placeholders and formatting. |
| .github/ISSUE_TEMPLATE/feature_request.yml | Updates issue template placeholders/links and YAML formatting. |
| .github/ISSUE_TEMPLATE/bug_report.yml | Updates issue template placeholders/links and YAML formatting. |
| .env.example | Updates env example placeholders for project_name. |
| .editorconfig | Updates header placeholder. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Contributor
CI Development Pipeline Status✅ Pipeline: Completed successfully. View Run Details |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
This PR transforms the initial Apache 2.0 boilerplate into a modernized Python project structure. The goal is to provide a standardized, "batteries-included" development environment that prioritizes maintainability and automated workflows.
Key changes include:
pyproject.tomlusing Hatch as the build backend and environment manager.mkdocstringsfor API documentation and standardizedCONTRIBUTING.mdandREADME.mdlayouts.Type of Change
README.md,SUPPORT.md, docstrings, etc.)Test Plan
hatch env createsuccessfully builds the development and testing environments.hatch run lint:allto ensure compliance with standardized style guides.hatch run docs:buildto verify that MkDocs renders correctly and internal links are functional.Related Issues
Screenshots / Visuals (if applicable)
Use of AI
Checklist