skillfed

rdt

Reversible Data Transforms

rdt v1.22.0 196.1K downloads/30d#9,798 on PyPI135
License unclear BUSL-1.1 Active released

What it is and what it does

RDT is a data transformation library that automatically detects the semantic type of each column in your dataset (datetime, boolean, categorical, numerical) and applies an appropriate reversible encoder to convert it to numerical form. Once transformed, your data is ready for machine learning pipelines. The key feature is reversibility: you can transform data back to its original format after processing, which is useful for validation, inspection, or final output generation.

The library works through a HyperTransformer that learns column statistics during a fit phase, then applies the learned transformations consistently. It depends on numpy, pandas, scipy, and scikit-learn for numerical operations, Faker for synthetic value generation, and python-dateutil for temporal handling. The library supports Python 3.9 through 3.14 and is actively maintained.

Use it for:

  • Prepare mixed-type tabular data for machine learning models that require numerical input
  • Generate synthetic data by transforming real data, training generative models, then reversing to realistic format
  • Handle missing values and categorical encoding automatically across multiple columns at once
  • Validate data transformations by round-tripping: transform and reverse to check fidelity
  • Normalize heterogeneous datasets from databases or CSVs into a uniform numerical representation

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

RDT converts raw, mixed-type data into fully numerical form via reversible transformations, then converts it back to the original format.

Yes, with conditions. RDT is actively maintained, has low install friction, and solves a real problem in data preprocessing. However, the BUSL-1.1 license restricts commercial use until a future date—verify the license terms match your use case before committing. No known security vulnerabilities. Suitable for research, internal tools, and open-source projects where the license permits.

Install

rdt on PyPI

pip

pip install rdt

uv

uv add rdt

poetry

poetry add rdt

Installing rdt

Before you install

Low friction: pure Python wheel with six standard scientific dependencies (numpy, pandas, scipy, scikit-learn, Faker, python-dateutil). Active maintenance with a release 7 days ago.

License in practice

Licensed under BUSL-1.1 (Business Source License), a source-available license that restricts commercial use until a future date; verify terms apply to your use case.

Quickstart

pip install rdt

from rdt import HyperTransformer, get_demo

data = get_demo()
ht = HyperTransformer()
ht.detect_initial_config(data=data)
ht.fit(data)
transformed = ht.transform(data)
original = ht.reverse_transform(transformed)

Requires Python 3.9 or later (supports up to 3.14). BUSL-1.1 license may restrict commercial use.

Verify before relying

  • Whether BUSL-1.1 restrictions affect your intended use (commercial, internal, or open-source context)
  • Performance characteristics with large datasets or high-dimensional data
  • Reversibility accuracy for edge cases (missing values, rare categories, outliers)

Package facts

License BUSL-1.1 (unclear)
Python support supports the current Python release (<3.15,>=3.9)
Install friction low — pure-Python wheel
Runtime dependencies 6 — numpy, pandas, scipy, scikit-learn, Faker, python-dateutil
Maintenance actively maintained — 7 days since the last release
Last repo commit
First released
Downloads 196,091/month — #9,798 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: rdt-1.22.0-py3-none-any.whl

Keywords: machine learning, synthetic data generation, benchmark, generative models

Development Status :: 5 - Production/StableIntended Audience :: DevelopersNatural Language :: EnglishProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Programming Language :: Python :: 3.9Topic :: Scientific/Engineering :: Artificial Intelligence

Tags

reversible data transformationconvert data to numericaldata preprocessing pipelinesynthetic data preparationmixed-type column encoding
data-preprocessingreversible-transformssynthetic-data

More Artificial Intelligence packages