Skip to content

use hatch for lint/test + add development.md#14

Merged
axl1313 merged 6 commits intomainfrom
axl/update-ci
Dec 22, 2025
Merged

use hatch for lint/test + add development.md#14
axl1313 merged 6 commits intomainfrom
axl/update-ci

Conversation

@axl1313
Copy link
Contributor

@axl1313 axl1313 commented Dec 22, 2025

Cleans up mixed use of uv vs hatch to run linting, type checking, and tests. Also sets the default installer for hatch to uv, adds a DEVELOPMENT.md, and removes unnecessary uv.lock and .python-version files.

For linting, hatch fmt uses a different set of default checks than ruff. To avoid having to fix a bunch of lint errors in this PR, we override the hatch defaults using [tool.hatch.envs.hatch-static-analysis] config-path = "none".

Addresses part of #7

Copy link

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 migrates the project's build, test, and lint tooling to use Hatch as the primary project manager, replacing the previous setup with uv and separate workflow files. The PR also adds comprehensive development documentation.

Key changes:

  • Migrated to Hatch for managing environments, testing, type checking, and formatting/linting
  • Added DEVELOPMENT.md with detailed instructions for development workflows
  • Consolidated CI workflows into a single ci.yml file that runs tests, type checking, and formatting across multiple Python versions

Reviewed changes

Copilot reviewed 9 out of 16 changed files in this pull request and generated 5 comments.

Show a summary per file
File Description
pyproject.toml Configured Hatch environments for testing (hatch-test), type checking (types), and static analysis; moved version to dynamic; added license metadata; updated ruff lint configuration
tlm/__about__.py Added version file for dynamic version management
DEVELOPMENT.md Added comprehensive development documentation covering testing, type checking, formatting, pre-commit hooks, and packaging
.github/workflows/ci.yml Created new consolidated CI workflow for testing, type checking, and formatting across Python 3.10-3.13
.github/workflows/test.yml Removed old test workflow (replaced by ci.yml)
.github/workflows/static-analysis.yml Removed old static analysis workflow (replaced by ci.yml)
.pre-commit-config.yaml Updated to use local Hatch commands instead of separate ruff and mypy repos
.python-version Removed file as Python version is now managed by Hatch
README.md Fixed trailing whitespace

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@axl1313 axl1313 merged commit 5bbd4be into main Dec 22, 2025
5 of 9 checks passed
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