Skip to content

Initial python template implementation#1

Merged
markurtz merged 2 commits into
mainfrom
feature/initial-imp
May 1, 2026
Merged

Initial python template implementation#1
markurtz merged 2 commits into
mainfrom
feature/initial-imp

Conversation

@markurtz
Copy link
Copy Markdown
Owner

@markurtz markurtz commented May 1, 2026

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:

  • Dependency Management: Migrated to pyproject.toml using Hatch as the build backend and environment manager.
  • CI/CD: Integrated GitHub Actions for automated testing, linting, and documentation deployment.
  • Documentation: Established a comprehensive MkDocs site with mkdocstrings for API documentation and standardized CONTRIBUTING.md and README.md layouts.
  • Dev Flow: Defined standardized environments (default, test, lint) within Hatch to ensure consistency across different development machines.

Type of Change

  • ✨ New feature (non-breaking change which adds functionality)
  • 📝 Documentation update (changes to README.md, SUPPORT.md, docstrings, etc.)
  • 🛠️ Maintenance/Refactoring (non-breaking change that improves code structure or quality)

Test Plan

  • Environment Sync: Verified that hatch env create successfully builds the development and testing environments.
  • Linting & Formatting: Ran hatch run lint:all to ensure compliance with standardized style guides.
  • Documentation Build: Executed hatch run docs:build to verify that MkDocs renders correctly and internal links are functional.
  • CI Simulation: Pushed to a feature branch to trigger and pass the newly implemented GitHub Actions workflow.

Related Issues

Screenshots / Visuals (if applicable)

Use of AI

  • Includes AI-assisted code completion
  • Includes code generated by an AI application
  • Includes AI-generated tests

Checklist

  • "I certify that all code in this PR is my own, except as noted below."
  • I have read the [CONTRIBUTING.md](../CONTRIBUTING.md) guide.
  • My code follows the established style guidelines of the project.
  • I have performed a self-review of my own code.
  • I have commented my code, particularly in hard-to-understand areas.
  • I have made corresponding changes to the documentation.
  • My changes generate no new warnings or errors.
  • I have added tests that prove my fix is effective or that my feature works.
  • New and existing unit tests pass locally with my changes.

@markurtz markurtz requested a review from Copilot May 1, 2026 17:30
@markurtz markurtz self-assigned this May 1, 2026
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 1, 2026

CI Development Pipeline Status

Pipeline: Completed successfully. View Run Details

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Comment thread mkdocs.yml
Comment thread pyproject.toml
Comment thread .github/workflows/_quality.yml
Comment thread .github/workflows/_tests.yml Outdated
Comment thread SECURITY.md Outdated
Comment thread CONTRIBUTING.md Outdated
Comment thread mkdocs.yml Outdated
Comment thread .github/workflows/_security.yml Outdated
Comment thread docs/community/contributing.md
Comment thread docs/community/developing.md
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 1, 2026

CI Development Pipeline Status

Pipeline: Completed successfully. View Run Details

@markurtz markurtz merged commit d8fc703 into main May 1, 2026
13 checks passed
@markurtz markurtz deleted the feature/initial-imp branch May 1, 2026 18:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants