Skip to content

Update Python tooling to 3.13 and parse scripts at boundaries #142

Description

@acgetchell

Summary

Update Python support tooling to Python 3.13 and run a parse-don't-validate cleanup pass over the Python scripts.

Current State

The repository currently supports Python 3.12+ for development scripts. The scripts are typed and checked, but follow-up cleanup should make boundary parsing and validated domain objects more explicit.

Proposed Changes

  • Require Python 3.13 for the Python development/tooling environment.
  • Update Python version metadata, CI setup, lockfile/tooling configuration, and docs.
  • Review CLI args, TOML/JSON/CSV parsing, subprocess output, filesystem paths, and report-generation inputs.
  • Parse raw inputs at boundaries into typed, validated objects before computation.
  • Prefer stdlib typing tools such as TypedDict, dataclass(frozen=True, slots=True), Enum, Literal, NewType, and TypeIs where they clarify invariants.
  • Avoid adding heavier validation dependencies unless they are already justified.

Benefits

  • Gives all Python tooling a modern 3.13 typing baseline.
  • Reduces raw dict[str, Any], string-mode, and optional-field drift.
  • Makes Python scripts easier to share or adapt across related crates.

Implementation Notes

  • Keep repository-specific script entrypoints local.
  • Extract only genuinely reusable helpers after the cleanup proves stable.
  • Validate with the repository's Python checks and full CI.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions