pythreads icon indicating copy to clipboard operation
pythreads copied to clipboard

v0.3.0 refactors

Open marclove opened this issue 3 months ago • 0 comments

This pull request modernizes the project's development, CI, and documentation workflows by migrating from Hatch to the uv toolchain, introducing automated lint/type checks with pre-commit, and improving developer and contributor documentation. It also updates the documentation to reflect new async iterator features and exposes key API types and errors for easier imports.

Tooling & CI Modernization:

  • Switched from Hatch to uv for dependency management and scripts throughout the project. All workflow files and documentation now use uv commands for setup, linting, type checking, and testing. (.github/workflows/ci.yml, .github/workflows/documentation.yml, .prototools, pyproject.toml, README.md, AGENTS.md, CLAUDE.md) [1] [2] [3] [4] [5] [6] [7]
  • Removed the old Hatch-based workflow and all related configuration from the repository, simplifying environment management. (.github/workflows/hatch.yml, pyproject.toml) [1] [2]

Developer Experience Improvements:

  • Added pre-commit configuration for automated linting (ruff) and type checking (pyright). (.pre-commit-config.yaml)
  • Added a .python-version file to standardize on Python 3.12 for development.
  • Updated and expanded contributor/developer guidelines in AGENTS.md and added a detailed architecture and workflow guide for Claude in CLAUDE.md. [1] [2]

Documentation Enhancements:

  • Updated the documentation to describe new async iterator features (threads_iter, replies_iter), per-call API options, and usage of Pydantic models for response validation. (README.md, docs/source/pythreads.rst) [1] [2] [3]
  • Added new documentation pages for architecture and doctests, and enabled Sphinx doctest extension. (docs/source/architecture.rst, docs/source/doctests.rst, docs/source/conf.py, docs/source/index.rst) [1] [2] [3] [4]

API Improvements:

  • The pythreads.api package now re-exports key types and errors, making it easier to import these directly from pythreads.api. (src/pythreads/api/__init__.py)

Configuration Updates:

  • Added a [tool.pyright] section to pyproject.toml for consistent type checking configuration.

References: [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19]

marclove avatar Sep 09 '25 22:09 marclove