Dataset Foundry
A toolkit for building validated datasets.
Dataset Foundry uses the concept of data pipelines to load, generate or validate datasets. A pipeline is a sequence of actions executed either against the dataset itself or the individual items in the dataset.
For details on which actions are supported, see the actions documentation.
Installation
-
Install the package:
pip install dataset-foundry
-
Create a
.envfile in the project root:# Provider API keys OPENAI_API_KEY= ANTHROPIC_API_KEY= # Command-line defaults DF_MODEL=anthropic/claude-sonnet-4-20250514 # Keep full display open after finishing so you can browse the results # DF_NO_EXIT=true
Default Settings
- Default Model: gpt-4o-mini
- Default Temperature: 0.7
- Default Number of Samples: 10
- Dataset Directory: ./datasets
- Logs Directory: ./logs
Project Structure
dataset-foundry/
├── src/
│ └── dataset_foundry/
│ ├── actions/ # Actions for processing datasets and items within those datasets
│ ├── cli/ # Command-line interface tools
│ ├── core/ # Core functionality
│ └── utils/ # Utility functions
├── datasets/ # Generated datasets
├── examples/ # Example pipelines
│ └── refactorable_code/ # Example pipelines to build a dataset of code requiring refactoring
└── logs/ # Operation logs
Running Pipelines
Pipelines can be run from the command line using the dataset-foundry command.
dataset-foundry <pipeline_module> <dataset_name>
For example, to run the generate_spec pipeline to create specs for a dataset saved to
datasets/dataset1, you would use:
dataset-foundry examples/refactorable_code/generate_spec/pipeline.py dataset1
Use dataset-foundry --help to see available arguments.
Running Examples
To generate a set of specs for a dataset named o3v5, you would use:
dataset-foundry examples/refactorable_code/generate_spec/pipeline.py samples --num-samples=2
To generate a set of functions and unit testsfrom the specs, you would use:
dataset-foundry examples/refactorable_code/generate_all_from_spec/pipeline.py samples
To run the unit tests for the generated functions, you would use:
dataset-foundry examples/refactorable_code/regenerate_unit_tests/pipeline.py samples
If some of the unit tests fail, you can regenerate them by running:
dataset-foundry examples/refactorable_code/regenerate_unit_tests/pipeline.py samples
Variable Substitutions
Variable substitutions allows you to use variables in your prompts and in certain parameters passed into pipeline actions.
Prompt templates and certain parameters are parsed as f-strings, with the following enhancements:
- Dotted references are supported and resolve both dictionary keys or object attributes. For
instance,
{spec.name}will return the value ofspec['name']ifspecis a dictionary, or the value ofspec.nameifspecis an object. - Formatters can be specified after a colon. For example,
{spec:yaml}will return thespecobject formatted as a YAML string. Supported formatters include:yaml,json,upper,lower.
For instance, if an item is being processed with an id of 123 and a spec dictionary with a
name key of my_function, the following will save the code property of the item as a file named
item_123_my_function.py:
...
save_item(contents=Key("code"), filename="item_{id}_{spec.name}.py"),
...
License
This project is licensed under the MIT License - see the LICENSE file for details.
Metadata
Release files for dataset-foundry 0.5.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 | Provenance | Actions |
|---|---|---|---|---|
| dataset_foundry-0.5.0.tar.gz | 138.8 kB | With provenance | Details for dataset_foundry-0.5.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| dataset_foundry-0.5.0-py3-none-any.whl | Python 3 | none | any | Details for dataset_foundry-0.5.0-py3-none-any.whl |
Total release size: 242.4 kB
Release files / dataset_foundry-0.5.0.tar.gz
| Download URL | dataset_foundry-0.5.0.tar.gz |
|---|---|
| Size | 138.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
0c4d1e33b45dfcdb539bfb5f3c2a2d7d7c111c26d73b00ebb0f4d3e86b1094b3
|
|
BLAKE2b-256 checksum How to use checksums |
3b9cdf3722cc034775eeb247bdc56d25c2f2ca056636a59ed31e534235eb724d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Mar 27, 2026.
Transparency logRelease files / dataset_foundry-0.5.0-py3-none-any.whl
| Download URL | dataset_foundry-0.5.0-py3-none-any.whl |
|---|---|
| Size | 103.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
3c6245fc34a9d97757393c6fb1cfae5c5751055ed1118a9018284eb2221b0ac5
|
|
BLAKE2b-256 checksum How to use checksums |
781f190e2d79d3cb7a3e37854f2b0ade62fedb2faf0b41b605ea324a18649b1a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Mar 27, 2026.
Transparency logSecurity for dataset-foundry 0.5.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for dataset_foundry-0.5.0.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Mar 27, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.