Skip to main content

DataForgeML

Ask DeepWiki

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

# The lossless Profile Report — every to_dict() field rendered as Markdown.
# On a wide dataset (~82 columns) this is roughly a megabyte of text; for a
# bounded view, read result.to_dict() and select the fields you care about.
print(result.to_markdown())

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

Video

Watch the video

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.3.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for dataforge-ml 3.3.0
File Size Uploaded
dataforge_ml-3.3.0.tar.gz 201.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for dataforge-ml 3.3.0
File Interpreter ABI Platform
dataforge_ml-3.3.0-py3-none-any.whl Python 3 none any Details

Total release size: 443.5 kB

Release files / dataforge_ml-3.3.0.tar.gz

Download URL dataforge_ml-3.3.0.tar.gz
Size 201.7 kB
Tags Source
SHA-256 checksum
How to use checksums
9739d57dff80ecb4d4e9fdef2f025d9252d9a43b9854314cc022b8cd1ac22ace
BLAKE2b-256 checksum
How to use checksums
b17ef693ab0e49f1848beef2dd46d82939cc7f03802148d293775fe4213f9ece
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.19 {"installer":{"name":"uv","version":"0.12.19","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.3.0-py3-none-any.whl

Download URL dataforge_ml-3.3.0-py3-none-any.whl
Size 241.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
37d9c83bfc6177f714c30c273319daae546f49fb77feb4f81e1a0a8df7776bc7
BLAKE2b-256 checksum
How to use checksums
b41e525836c05081347fe72c61b64a8a714fb74e5cbbbac2a222bf88d06c7ed8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.19 {"installer":{"name":"uv","version":"0.12.19","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 history Release notifications | RSS feed

This release

3.3.0 This release

2 release files

3.2.0

2 release files

3.1.1

2 release files

3.1.0

2 release files

3.0.1

2 release files

3.0.0

2 release files

2.2.1

2 release files

2.2.0

2 release files

2.1.0

2 release files

2.0.9

2 release files

2.0.8

2 release files

2.0.7

2 release files

2.0.6

2 release files

2.0.5

2 release files

2.0.4

2 release files

2.0.3

2 release files

2.0.2

2 release files

2.0.1

2 release files

2.0.0

2 release files

1.0.1

2 release files

1.0.0

2 release files

0.11.0

2 release files

0.10.0

2 release files

0.9.0

2 release files

0.8.0

2 release files

0.7.0

2 release files

0.6.0

2 release files

0.5.0

2 release files

0.4.0

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page