Skip to content

v0.4.0 CSV mode - API key is optional from now on

Compare
Choose a tag to compare
@bdamokos bdamokos released this 27 Dec 22:09
· 20 commits to main since this release
033e6f6

Added

  • Enhanced provider information retrieval:
    • New get_provider_info() method in both API and CSV modes
    • Combines live provider data with downloaded dataset information
    • Automatic fallback to CSV catalog on API errors
    • Comprehensive metadata about downloaded datasets
  • CSV catalog fallback functionality (#5):
    • Automatic fallback to CSV catalog when API key is not available
    • Optional force_csv_mode to always use CSV catalog
    • Lazy initialization of CSV catalog to improve performance
    • ID normalization for consistent provider lookup
  • Improved error handling:
    • Graceful handling of 413 (Request Entity Too Large) errors
    • Automatic fallback to CSV mode on authentication errors
    • Better token handling with empty headers when no token is available
    • Robust handling of CSV network errors with fallback to cached data
    • Proper handling of empty metadata files during concurrent access

Changed

  • Made CSV catalog initialization lazy to reduce unnecessary directory creation
  • Improved token handling to return None instead of raising errors
  • Enhanced error messages and logging for better debugging
  • Improved file locking mechanism:
    • Fixed handling of file modes for concurrent access
    • Added proper file existence checks before opening
    • Enhanced empty file handling during metadata operations

Developer Changes

  • Added comprehensive tests for provider information retrieval
  • Added tests for CSV catalog functionality
  • Added tests for ID normalization and conversion
  • Added tests for lazy initialization behavior
  • Added tests for CSV network error scenarios
  • Added tests for concurrent file access edge cases
  • Updated documentation with CSV fallback examples and API reference

Full Changelog: v0.3.0...v0.4.0