github agude/wayback-machine-archiver v3.4.0
v3.4.0: Add Type Hints and Strict mypy Checking

latest releases: v4.1.0, v4.0.0, v3.7.0...
7 months ago

Release Notes:

This release adds comprehensive type annotations throughout the entire codebase and enables strict mypy type checking in CI. This improves code maintainability, IDE support, and catches potential bugs at development time rather than runtime.

The package now ships as a PEP 561 compliant typed package, meaning downstream users and IDE tooling can benefit from the type information.

There are no breaking changes in this release.

What's New

  • Full Type Annotations: All modules now have complete type hints, including function signatures, return types, and internal variables. This enables better IDE autocompletion, inline documentation, and static analysis.

  • Strict Mypy Checking in CI: Both the test and release workflows now include a dedicated type-checking job that runs mypy --strict against the codebase. Releases will not proceed if type checking fails.

  • PEP 561 Typed Package: Added the py.typed marker file, indicating that this package ships inline type information. Tools like mypy and pyright will now recognize and use these types when the package is installed as a dependency.

  • Improved Sitemap Handling: Sitemap loading now consistently uses bytes throughout the parsing pipeline, fixing potential encoding edge cases and eliminating type ambiguity between text and binary data.

  • TypedDict for Job Tracking: Introduced a PendingJob TypedDict to formally define the structure of pending job entries, improving code clarity and enabling better static analysis of the workflow logic.

Don't miss a new wayback-machine-archiver release

NewReleases is sending notifications on new releases.