pwfdf-api 2.0.0 Release Notes¶
The pwfdf-api 2.0.0 release provides a slim installation option, and makes the full-feature installation the default. The release also provides more flexible options for delimiting search filters, and brings many internal migrations to the project, including:
Migrating from fiona to pyogrio for GIS file parsing,
Migrating from argparse to typer for CLI implementation, and
Migrating from poetry to uv for project management
New Features¶
Installation¶
The geospatial libraries used to parse GIS geometry files have been grouped into the
[gis]extra. Installing with this extrapip install pwfdf-api[gis] ...is now the recommended default.Added a slim installation
pip install pwfdf-api ...that does not include these geospatial libraries. The slim installation is more suitable for resource limited environments.
Command Line Delimiters¶
Date ranges now support comma delimiters. For example:
--start-date 2025,2026Download files now support comma delimiters. For example:
--files Shapefile.zip,metadata.jsonand--exclude-files Shapefile.zip,metadata.jsonbboxandpointnow support comma delimiters. For example:--bbox -121,32,-119,34and--point -121,32fieldsnow supports comma delimiters. For example:--fields title,summary
Logging¶
Logging formats now default to the format used by the CLI.
Set
format=Noneto inherit the log format of any pre-existing loggers with the same targetAdded options for rotating file logs:
--rotate-bytes,--backup-count(CLI) /rotate_bytes,backup_count(Python)
Misc¶
When calling a download with
--dry-run, the logs now indicated that no data will be downloadedIn Python, major version strings may now be provided using a string (in addition to an integer). For example:
version="1"andversion=1are both supported.
Internal¶
Migrate CLI implementation from argparse to typer
Migrate GIS file parsing from fiona to pyogrio+pyproj+shapely
Migrate logging implementation to logset library
Migrate project management from poetry to uv
Refactor pipeline to use uv to manage python versions
Migrate formatters/linters from black+isort to ruff
Add pre-commit checks
Move poe tasks from
pyproject.tomltopoe-tasks.tomlSwitched from flat to src layout
Restructure layout to use core -> api -> cli architecture
Deprecations¶
The
--geometry-driver(CLI) /geometry_driver(Python) option has been deprecated. This option no longer does anything, and will be removed in a future release.
Breaking Changes¶
Installation¶
The base/slim installation
pip install pwfdf-api ...no longer supports parsing GIS files. Users should migrate topip install pwfdf-api[gis] ...to preserve this support.
Command Line Parsing¶
Space-delimited date ranges must now appear in quotes. For example, change
--start-date 2025 2026to--start-date "2025 2026"or use comma delimiters:--start-date 2025,2026Space delimited download
--filesor--exclude-filesmust now appear in quotes. For example, change--files Shapefile.zip metadata.sjonto--files "Shapefile.zip metadata.json"or use comma delimiters--files Shapefile.zip,metadata.json.