0.3.0 (March 10, 2023)#

Release 0.3.0, require rics>=3.0.0. Add the id-translation-project cookiecutter template.

Added#

  • New optional schema argument for SqlFetcher.

  • Finished Translator.load_persistent_instance() implementation (no longer experimental).

  • The SqlFetcher.finalize_statement() method, used to customize fetching behavior programmatically.

  • New INFO-level begin/end log messages for Translator.translate().

  • Raise ConcurrentOperationError in AbstractFetchers.fetch() to prevent race conditions.

  • Limit AbstractFetcher.fetch_all() to sources that contain the required placeholders (after mapping) by default.

  • A large number of new debug messages with extra-dict values set. These all have keys event_key and event_stage as well as an executon_time argument when event_stage='EXIT'. Additional extras depend on context.

  • Caching logic to AbstractFetcher. Only active when explicitly enabled and AbstractFetcher.online is False.

  • Environment variable interpolation is now possible anywhere TOML config files. Key points:

    • Cache logic does NOT consider actual values (only names)

    • By default, simple interpolation is enabled.

    • TOML config metaconfig can be placed in metaconf.toml, next to main config.

    • Interpolation can be configured under [env] in metaconf.

Changed#

  • Improve error reporting for unmapped required placeholders; warn about potential override issues.

  • Default MultiFetcher.duplicate_source_discovered_action increased from ‘ignore’ to ‘warn’.

  • Allow specifying MultiFetcher init arguments from the main TOML configuration file.

  • Set default value of MultiFetcher.max_workers to 1.

  • Set default value of SqlFetcher.include_views to False.

Fixed#

  • Minimum install requirement is now correctly set to SQLAlchemy>=1.4.

  • Now correctly always fetches all placeholders when performing a FETCH_ALL-operation.

  • Copy allow_name_inheritance in Translator.copy().

Removed#

  • Redundant alias types.ExtendedOverrideFunction and related code.

  • The PandasFetcher.read_function_args init argument, since read_function_kwargs is much less error-prone.

  • Custom handling of environment variables in SqlFetcher.