DataForgeML
DataForgeML is an automated, end-to-end pipeline for turning raw tabular datasets into ML-ready data — without hand-writing schema logic, imputation rules, or splitting code for every new dataset.
The library is built as a one-stop solution: the goal is that a user should not need to manually assemble fragmented libraries steps or write custom glue code around it. Every phase — profiling, imputation, splitting — is designed to compose directly, driven by configuration objects rather than bespoke per-dataset scripts.
Supported input formats: CSV, TSV, Parquet, JSON, NDJSON, JSONL, XLSX, XLS, Arrow, and Feather, with automatic encoding and delimiter detection.
Installation
Requires Python 3.11+.
uv add dataforge-ml
or, from PyPI with pip:
pip install dataforge-ml
Quick start — profile a dataset
Structurally profile a raw dataset: inferred semantic types, per-column stats, missingness, correlations, and nonlinearity signals — all driven by config.
from dataforge_ml import (
PipelineConfig,
ProfileConfig,
SemanticType,
StructuralProfiler,
)
pipeline_config = PipelineConfig(
profiling=ProfileConfig(
compute_correlation=True,
compute_nonlinearity=True,
),
random_seed=42,
)
# Nudge the profiler where you know better than the type detector.
pipeline_config.set_column_type(column="Year", semantic_type=SemanticType.Categorical)
profiler = StructuralProfiler(config=pipeline_config)
result = profiler.profile(data=df) # df is a polars.DataFrame
print(result.to_markdown()) # human-readable profile report
Examples
To see how to use DataForgeML end to end, browse the full set of runnable, self-contained example scripts — each with bundled datasets and step-by-step walkthroughs — in the dedicated examples repository:
https://github.com/DEVunderdog/dataforgeml-examples
Documentation
Full documentation — including the complete API reference, configuration guide, and the domain concepts behind profiling, imputation, and splitting — is available at:
https://devunderdog.github.io/DataForgeML/
License
MIT
Metadata
Release files for dataforge-ml 3.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| dataforge_ml-3.1.0.tar.gz | 175.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| dataforge_ml-3.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 383.9 kB
Release files / dataforge_ml-3.1.0.tar.gz
| Download URL | dataforge_ml-3.1.0.tar.gz |
|---|---|
| Size | 175.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
f91e02acc1719abfcd7dcabf52c2a574261a4fdc648890d9990bb1bc8ea8732a
|
|
BLAKE2b-256 checksum How to use checksums |
5e1fb424fc8be3906ae8937146ac2215665ea05dc8bca879d20ffbca0156bcd4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.1 {"installer":{"name":"uv","version":"0.12.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / dataforge_ml-3.1.0-py3-none-any.whl
| Download URL | dataforge_ml-3.1.0-py3-none-any.whl |
|---|---|
| Size | 208.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
2fd72819b5dd51a3dd0878e446bb403922ebd34cf0c41daf16a33deb21b155f9
|
|
BLAKE2b-256 checksum How to use checksums |
3d9ef6b0aee64c0142ef8ef181c8d114094cf285965bea4dcb56429afa9f7f75
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.1 {"installer":{"name":"uv","version":"0.12.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|