rdt
Reversible Data Transforms
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 rdtuv
uv add rdtpoetry
poetry add rdtInstalling 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
Tags
More Artificial Intelligence packages
LiteLLM provides a unified Python interface to…
permissive · top 100 on PyPI
huggingface-hubClient library and CLI tool for downloading,…
permissive · top 100 on PyPI
langchainLangChain provides a framework for building…
permissive · top 1,000 on PyPI
hf-xethf-xet provides chunk-based deduplication and…
permissive · top 1,000 on PyPI
tokenizersTokenizers converts raw text into token…
permissive · top 1,000 on PyPI
transformersTransformers provides a unified framework for…
permissive · top 1,000 on PyPI
sdvSDV generates synthetic tabular data by…
unclear · top 15,000 on PyPI
fasttransformfasttransform provides a Transform class for…
permissive · top 15,000 on PyPI
deepechoDeepEcho generates synthetic time series data…
unclear · top 15,000 on PyPI
sdmetricsSDMetrics evaluates synthetic data by computing…
permissive · top 15,000 on PyPI
copulasCopulas models multivariate statistical…
unclear · top 15,000 on PyPI
ctganCTGAN generates synthetic tabular data by…
unclear · top 15,000 on PyPI
data-designer-engineExecution engine for the NeMo Data Designer…
permissive · top 15,000 on PyPI
frictionlessFrictionless provides a unified Python…
permissive · top 5,000 on PyPI
dbldatagenGenerates synthetic data at scale within…
unclear · top 15,000 on PyPI
unstructured-ingestUnstructured Ingest is a local ETL pipeline…
permissive · top 15,000 on PyPI