1.1.0 (February 22, 2026)#

Added#

  • Relevant Translator methods (e.g. translate() now accept an io_kwargs argument.

    • Valid io_kwargs depend on the IO type (e.g. PandasIO).

    • Invalid io_kwargs arguments are logged and suppressed.

  • Added io_kwargs to PandasIO, DaskIO and PolarsIO. The default behavior has not changed.

    • PandasIO: added level=-1, missing_as_nan=False, and as_categories=False. See PandasIO for details.

    • DaskIO: added missing_as_nan=False and as_categories=False. Similar to PandasIO.

    • PolarsIO: added fast=False; sacrifices flexibility (always) for speed (sometimes).

Changed#

  • The PlaceholderTranslations.from_dict() method no longer attempts to delegate to from_dataframe().

  • Calling Translator.cache on an instance without offline data will now raise RuntimeError.

  • The PandasIO.extract() method now returns builtin types (e.g. int instead of numpy.int64).

  • Refactor DaskIO.insert(); now uses a more efficient strategy based on map_partitions().

Fixed#

  • Raise NotInplaceTranslatableError on PDEP-6 errors (e.g. when translating pandas.Series[int] with copy=False.

  • Fix pandas.DataFrame translation when columns are pandas.MultiIndex.

  • Fix Translator.default_fmt typehint (is never None).

  • Fix inconsistent behavior of Translator instances that were initialized with fetcher=TranslationMap.

  • Fix Translator.copy() handling of transformers.

  • Various docstrings and log messages.