Skip to content

v0.2.0: codelist_filter, server-side period filtering, null-padding removal, availability enrichment

Choose a tag to compare

@cyanheads cyanheads released this 10 Jun 22:34
v0.2.0
a137fa7

codelist_filter, server-side period filtering, null-padding removal, availability enrichment

Five issues addressed across imf_query_dataset and imf_get_database — makes period ranges, data coverage, and codelist discovery work as documented.

Added:

  • imf_get_database codelist_filter: case-insensitive substring over code ID and name; returns all matches uncapped — bypasses the 50-entry ceiling for large codelists like WEO INDICATOR (#8)
  • imf_query_dataset availability enrichment: on empty result, queries SDMX 2.1 availableconstraint before throwing no_data; series_count=0 states the code is not covered; series_count>0 reports per-dimension available codes and time range; degrades gracefully on fetch failure (#5)

Changed:

  • imf_query_dataset period filtering: start_period/end_period now filter server-side post-fetch, before canvas spill; handles upstream YYYY-MNN monthly format vs YYYY-MM input via normalizePeriod (#6)
  • imf_query_dataset null-padding removal: observations with both value=null and status=null dropped; rows with non-null status kept; all-null result falls through to no_data (#7)
  • imf_list_databases filter description: corrected from 'name or ID' to 'name, ID, or description' — behavior was already correct (#9)
  • imf_dataframe_describe / imf_dataframe_query canvas_not_found recovery: removed CANVAS_PROVIDER_TYPE env-var hint; recovery now reads 'Re-run imf_query_dataset to obtain a fresh canvas_id' (#9)
  • @types/node ^25.9.2 -> ^25.9.3

70 tests pass; bun run devcheck clean.