0.5.0 (June 29, 2023)#

Added#

  • Add Translator.translated_names(). Returns the most recent names that were translated by calling instance.

  • Ability to mark a fetcher as optional. In multi-fetcher mode, optional fetchers are discarded if they raise an error the first time a source/placeholder enumeration is requested.

  • A name-to-source dict may now be passed in place of the names 'names'-argument.

  • Translation of set-type data is now supported.

  • Add environment variable ID_TRANSLATION_DISABLED to globally disable translation. Emits TranslationDisabledWarning once.

  • New exception type MissingNamesError. Raised when names cannot be derived (and not explicitly given) based on the data type instead of AttributeError.

Changed#

  • Add handling of attributes of retrieved translation elements (e.g. UUID.int).

  • The AbstractFetcher.selective_fetch_all-flag now restricts the columns retrieved by SqlFetcher.

  • Extend heuristic_functions.like_database_table to handle more pluralization types.

  • Explicit names may no longer combined with ignored_names.

  • Improve support for translation of heterogeneous dict value types.

Fixed#

  • Translation of pandas.MultiIndex is now properly supported (as indicated by not throwing UntranslatableTypeError).

  • Preserve format_spec and conversion in Format.positional_part. This means that format strings such as '{uuid!s:.8}:{name!r}' will now work as expected.

  • Ensure deterministic match selection when scores are equal due to overrides.

  • Ensure placeholders aren’t fetched twice in the same query.

  • Prevent crashing when using a non-translatable parent type with the 'attribute'-argument.

Removed#

  • The now unused module fetching.support, and the function SqlFetcher.TableSummary.select_columns().