Skip to content

Release 2.3.0#36

Merged
mikeqfu merged 8 commits intomasterfrom
develop
Mar 5, 2026
Merged

Release 2.3.0#36
mikeqfu merged 8 commits intomasterfrom
develop

Conversation

@mikeqfu
Copy link
Owner

@mikeqfu mikeqfu commented Mar 5, 2026

Summary

This PR merges the develop branch into master to release v2.3.0. It consolidates major refactoring cycles that modernize the core architecture of pydriosm, updates the build system, and ensures support for Python 3.12 and Pandas 3.0+.

Integrated workstreams

Subpackage refactoring

  • Downloader (Refactor the downloader subpackage #32): Modularized Geofabrik and BBBike providers into discrete internal modules and improved web-parsing logic.
  • Reader (Refactor the reader subpackage #33): Standardized OSM data parsing across Shapefile, PBF, and VAR formats. Implemented safer defaults, specifically setting download=False to prevent unintended network overhead.
  • I/O & core infrastructure (Refactor I/O and core infrastructure #34): * Decomposed the ios module into specialized components: _base.py, _pgsql_osm.py, and _pbf_importer.py.
  • Hardened validation logic by replacing assert statements with production-safe exception handling (KeyError, ValueError).
  • Migrated package configuration and metadata to pyproject.toml.

Release Preparation

  • Environment compatibility: Full validation for Python >= 3.12.
  • Documentation: Finalized public API docstrings in reST format and updated the documentation build configuration.
  • Version update: Bumped version to 2.3.0 and updated CHANGELOG.md.

Code quality & maintenance

  • Linter resolution: Addressed unused imports and f-string warnings to maintain a clean codebase.
  • Geometry processing: Refined attribute-based geometry detection to ensure seamless integration with both standard Pandas 3.0+ DataFrames and GeoPandas GeoDataFrames.
  • Dependency management: Synchronized requirements.txt with the new modular dependency structure.

Checklist

@mikeqfu mikeqfu self-assigned this Mar 5, 2026
@mikeqfu mikeqfu added bug Something isn't working enhancement New feature or request dependencies Pull requests that update a dependency file documentation Issues related to documentation, such as missing, unclear, or incorrect information maintenance Ongoing maintenance work such as API updates, dependency upgrades, or modernisation. packaging Changes related to Python packaging, distribution, or build configuration. refactor Internal code changes that improve structure or maintainability without changing behaviour. tests Changes to tests or code coverage labels Mar 5, 2026
@mikeqfu mikeqfu merged commit d9a5508 into master Mar 5, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working dependencies Pull requests that update a dependency file documentation Issues related to documentation, such as missing, unclear, or incorrect information enhancement New feature or request maintenance Ongoing maintenance work such as API updates, dependency upgrades, or modernisation. packaging Changes related to Python packaging, distribution, or build configuration. refactor Internal code changes that improve structure or maintainability without changing behaviour. tests Changes to tests or code coverage

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant