Unreleased (latest)
- Add ability to parse vertical data from CF metadata extracted from NCML files
- Convert coordinates using any CRS to to comply with WGS84 when building STAC bbox and geometries
- Add option to provide a fallback CRS to use when one is not specified in the metadata
- Add option to provide a CRS that will override the one specified in the metadata
0.13.0 (2026-01-29)
- Simplify populator implementation discovery and reduce boilerplate for new implementations.
- Add a classmethod to add additional CLI args to the
STACpopulatorBaseclass (replacesadd_parser_args) - Add a classmethod to run the populator based on CLI args to the
STACpopulatorBaseclass (replacesrunner) - Add shared implementations for these two classmethods to a
THREDDSpopulatorBaseclass that can be used by all populators that pull data from THREDDS - Rename
populator_base.pytopopulators.pysince it now contains more than just the base populator - No longer require new implementations to list populator modules in
implementations.__init__.py - Implementation discovery is now done by keeping track of concrete implementations of the STACpopulatorBase class
0.12.0 (2025-11-20)
- Add option to supply additional custom parsers for items and collections.
- Add
RDPS_CRIMandHRDPS_CRIMimplementations. - Add
cfextension adding CF Parameter metadata to (H)RDPS stac asset and items. - Add
cfandfilehelpers. - Add
providersandcontactsextensions metdata to (H)RDPS stac collection. - Fix deprecated access to
model_fieldsinBaseSTACdata model class. - Fix bug service type check in extensions'
get_assetsmethods. - Fix return type of
from_datainTHREDDSCatalogDataModel. - Update RDPS and HRDPS tests.
- Add documentation for implementing new populators
0.11.0 (2025-11-17)
- Add option to automatically update collection extents and summaries based on ingested items.
0.10.0 (2025-11-11)
- Add
pre-commitlinting rules (code format + STAC field sorting in JSON). - Add initial RDPS and HRDPS examples with minimal metadata from Ouranos THREDDS samples.
- Fix
datacubeto report[None, None]instead of["", ""]for unboundedcube:dimensions.extent. - Fix unique ID creation from THREDDS access URLs.
0.9.0 (2025-08-26)
- Include
PYESSV_ARCHIVE_HOMEenvironment variable in Dockerfile. - Remove redundant CLI arguments.
- Fix bug in
THREDDSLoaderiterator introduced in 0.8.0. Simple iteration overcatalog_refsreturns the catalog names (strings), whereas we want an object with afollowmethod. - Remove
log_debugoption from theCORDEXCMIP6_Ouranosrunner. - Add attributes to CORDEX IDs to avoid duplicate IDs in the STAC catalog.
- Update test data for
CORDEXCMIP6_Ouranos. - Add default
create_uidtoTHREDDSCatalogDataModel. - Fix bug in
DataCubeHelperfor vertical coordinate extents. - Split and clean script to update test data.
- Add tests for RDPS and HRDPS attributes with no custom extension.
- Make sure that all tests will pass even when not connected to the internet.
0.8.0 (2025-06-11)
- Add
cordex6extension andCORDEX-CMIP6_Ouranosimplementation. This includes a refactoring of base extension classes. - Add an
xscenextension demonstrating how to add properties to a STAC Item. - Fix mismatch between CMIP6 schema URI given to
pystacand the actual schema URI - Add ability to export data from a STAC catalog or API to files on disk.
- Fix code that raised warnings from dependencies.
- Log to stderr only by default and to a file only if requested.
- Reorganize command line arguments to ensure shared options are always applied.
- Remove option to call implementation scripts directly from the command line.
- Remove files in the
.deprecatedfolder. - Add support for THREDDS services added in version 5.
- Fix bug where session details weren't being used to access THREDDS catalogs.
- Remove
titlefrom THREDDS catalog links since the content was specific to Marble. - Change link
typefrom THREDDS catalog link fromtext/xmltoapplication/xml(STAC API doesn't supporttext/xmlanymore). - Support THREDDS datasets that don't contain an
NCMLaccess url. - Support nested collections when loading STAC objects with the
DirectoryLoader. DirectoryLoadernow supports loading STAC objects created by theexportcommand.
0.7.0 (2025-03-07)
- Make sure bounds variables are given the auxiliary type attribute.
- Fix for variables that have no attributes.
- Adding ability to add collection level assets
- Adding ability to add collection level links
- Adding collection links to
CMIP6_UofT - Adding an end date to
CMIP6_UofT's temporal extent for better rendering in STAC Browser - Updates to datacube extension helper routines for
CMIP6_UofT. - Make pyessv-archive a requirement for only the cmip6 implementation instead of for the whole CLI
- Fix bug where logger setup failed
- Simplify CLI argument constructor code (for cleaner and more testable code)
- Add tests for CLI and implementations when invoked through the CLI
- Refactored code dealing with requests and authentication to the
STACpopulator/requests.pyfile - Add
--log-filecommand line option to specify a non-default location to write log files to - fix incorrect example in README
- move argument parsing for logging options to the implementation code
- fix bug where logging options were being set incorrectly
- rename files to avoid potential naming conflicts with other packages (
loggingandrequests) - Deprecate calling implementation scripts directly
- Fix bug where populator scripts could not be called directly from the command line
- Enforce versions for dependencies so that new installs won't fail unexpectedly
- Update tests to allow for a variable
stac_versionfield in STAC item and collections - Fix inconsistent defaults for parameters that update stac items and collections
- Add
--stac-versioncommand line option to specify the version used by the STAC server that is being populated - add
ruffas a dev dependency to format and lint files - add
pre-commitas a dev dependency to runruffon commit and a workflow to run it on github as well
0.6.0 (2024-02-22)
- Add validation to the STAC Items in
CMIP6_UofTimplementation. - Replace CMIP6 JSON-schema URL to
"https://raw.githubusercontent.com/dchandan/stac-extension-cmip6/main/json-schema/schema.json"for a more up-to-date validation of available STAC CMIP6 properties. - Add
.jsonllogging and error reporting of failed STAC Item publishing to the server. - Improve logging configuration setup and level selection from CLI
--debugargument. - Fix a bug related to
THREDDSLoaderincorrectly handling the depth of crawled directories.
0.5.0 (2024-01-09)
- Refactor CMIP6 implementation using distinct classes to define THREDDS helper utilities and the CMIP6 STAC Extension
using the same implementation strategy as other
pystacextensions. - Add additional CMIP6 STAC Extension definitions to support STAC Collections, Items and Assets properties validation.
- Update README with a table providing missing
DirectoryLoaderimplementation and addingCMIP6_UofTdescription.
0.4.0 (2023-11-27)
- Replace logic to resolve and load specific implementation configuration file of a populator to avoid depending on
inconsistent caller (
python <impl-module.py>vsstac-populator run <impl>). - Fix configuration file of populator implementation not found when package is installed.
- Allow a populator implementation to override the desired configuration file.
- Add missing CLI
default="full"mode forCMIP6_UofTpopulator implementation. - Fix Docker entrypoint to use
stac-populatorto make call to the CLI more convenient. - Add
get_loggerfunction to avoid repeated configuration across modules. - Make sure that each implementation and module employs their own logger.
0.3.0 (2023-11-16)
- Add request
sessionkeyword to all request-related functions and populator methods to allow sharing a common set of settings (auth, SSLverify,cert) across requests toward the STAC Catalog. - Add
DirectoryLoaderthat allows populating a STAC Catalog with Collections and Items loaded from a crawled directory hierarchy that containscollection.jsonfiles and other.json/.geojsonitems. - Add a generic CLI
stac-populatorthat can be called to run populator implementations directly using commandstac-populator run <implementation> [impl-args]. - Remove hardcoded
verify=Falseto requests calls. If needed for testing purposes, users should use a customrequests.sessions.Sessionwithverify=Falsepassed to the populator, or alternatively, employ the CLI argument--no-verifythat will accomplish the same behavior.
0.2.0 (2023-11-10)
- Add
LICENSEfile. - Add
bump-my-versionwithmake versionandmake VERSION=<...> bumputilities to self-update release versions. - Add more metadata to
pyproject.toml. - Adjust
README.mdwith updated references and release version indicators. - Add
CHANGES.mdto record version updates. - Add
devdependencies topyproject.tomlfor testing the package (install withpip install ".[dev]"). - Add GitHub CI tests.
- Remove
requirements.txtin favor of all dependencies combined inpyproject.toml. - Add test to validate STAC Collection and Item contain
sourcewith expected THREDDS format. - Fix broken tests and invalid imports.
0.1.0 (2023-11-08)
- Refactor of
CMIP6_UofTwith more robust parsing strategies and STAC Item generation from THREDDS NCML metadata.
0.0.1 (2023-08-22)
- Initial release with implementation of
CMIP6_UofT.