Skip to content

v0.10.1 — DuckDB thread-safety, NA weekly parser, ANDA year fix

Choose a tag to compare

@bruno-portfolio bruno-portfolio released this 16 Feb 14:54
· 329 commits to main since this release

Fixed

  • DuckDB thread-safetyDuckDBStore now uses threading.Lock on all connection methods. get_store() uses double-checked locking. Fixes segfault/deadlock when multiple threads share the singleton (e.g. MCP server dispatching requests to different threads)
  • NA weekly parser_parse_date accepts weekly format '09 - 13/02/2026' (CEPEA weekly average). Weekly records marked with anomalies=["media_semanal"]. Previously silently discarded with parse_row_failed warning
  • ANDA year detectionfetch_entregas_pdf now returns tuple[bytes, int] with ano_real extracted from link text (not upload URL). Fixes fetching 2025 data when URL contains "2026"
  • estimativa_safra — Decimal→float, add area_colhida, filter contract columns, remove regional totals (uf=None)
  • producao_anual — Fix SIDRA D1/D2/D3/D4 column mapping for table 5457, handle renamed IBGE variable
  • balanco — Add wide parser for "Suprimento - Soja" sheet (section 1 only) with fallback
  • pecuaria_municipal — Fix SIDRA column mapping for PPM

Changed

  • pytest-timeout>=2.2.0 added to dev dependencies
  • integration_tests.ymlpermissions: issues: write added
  • 3 thread-safety tests for DuckDB store (5 threads × 10-20 ops each)
  • Tests: 2719 passed, 0 failed