Skip to main content

🧬 Formed

CI Docs Python version License PyPI version Ask DeepWiki

Formed is a flexible framework for managing data, experiments, and workflows in both research and production environments. It provides a simple yet powerful DAG-based workflow system with automatic caching, dependency tracking, and seamless integration with popular ML tools.

Key Features

  • 📊 DAG-based workflows: Define complex workflows as directed acyclic graphs with automatic dependency resolution
  • 💾 Smart caching: Content-based automatic caching that detects code changes via AST analysis
  • 🔧 Flexible configuration: Use Jsonnet/JSON for declarative workflow definitions with type safety
  • 🔌 Rich integrations: Built-in support for PyTorch, 🤗 Transformers, MLflow, and more
  • 🎯 Type-safe: Leverage Python type hints for automatic object construction and validation
  • 📦 Extensible: Easy to extend with custom steps, formats, and organizers

Quick Example

Define reusable computation steps with automatic caching:

# mysteps.py
from collections.abc import Iterator
from formed import workflow

@workflow.step
def load_dataset(size: int) -> Iterator[int]:
    for i in range(size):
        yield i

@workflow.step
def square(dataset: Iterator[int]) -> Iterator[int]:
    for i in dataset:
        yield i * i

Connect steps in a workflow configuration:

// workflow.jsonnet
{
  steps: {
    dataset: {
      type: 'load_dataset',
      size: 10
    },
    results: {
      type: 'square',
      dataset: { type: 'ref', ref: 'dataset' }
    }
  }
}

Configure and run:

# formed.yml
workflow:
  organizer:
    type: filesystem

required_modules:
  - mysteps
formed workflow run workflow.jsonnet --execution-id my-experiment

Results are automatically cached - rerunning only executes changed steps!

Installation

pip install formed

With integrations:

pip install formed[mlflow]         # MLflow integration
pip install formed[torch]          # PyTorch integration
pip install formed[transformers]   # 🤗 Transformers integration
pip install formed[all]            # All integrations

Documentation

📖 Full documentation available here

Why Formed?

Formed bridges the gap between experimental notebooks and production pipelines:

  • Reproducible: Content-based caching ensures consistent results
  • Iterative: Only re-execute what changed, speeding up development
  • Collaborative: Declarative configs make workflows easy to share and review
  • Production-ready: Same code works in research and deployment

Whether you're prototyping in Jupyter or deploying at scale, formed adapts to your workflow.

License

MIT License - see LICENSE file for details.

Metadata

Release files for formed 0.0.13

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

Source distribution (sdist)

Source distribution for formed 0.0.13
File Size Uploaded Provenance Actions
formed-0.0.13.tar.gz 196.0 kB Without provenance Details for formed-0.0.13.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for formed 0.0.13
File Interpreter ABI Platform Actions
formed-0.0.13-py3-none-any.whl Python 3 none any Details for formed-0.0.13-py3-none-any.whl

Total release size: 444.4 kB

Release files / formed-0.0.13.tar.gz

Download URL formed-0.0.13.tar.gz
Size 196.0 kB
Tags Source
SHA-256 checksum
How to use checksums
694da879db7660a22274335d332d27b5b0719cf10efe6a196cd0fdb85d99c8a3
BLAKE2b-256 checksum
How to use checksums
9be66a8baa2345e313a7f6b0677d9dbcd10673f25a49a820ad09fccd8044335b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.11.32 {"installer":{"name":"uv","version":"0.11.32","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 / formed-0.0.13-py3-none-any.whl

Download URL formed-0.0.13-py3-none-any.whl
Size 248.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
2f9dd1c525e6e9d241c0eb54b6b6be5d2ad85e50a843a4ed6fcf35247acb1e6c
BLAKE2b-256 checksum
How to use checksums
d062289d939c75bb9598c2e9d214338291e92771b79dc5e965d9dc1cea14c475
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.11.32 {"installer":{"name":"uv","version":"0.11.32","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}

Security for formed 0.0.13

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.

No provenance found

None of the files in this release were uploaded with provenance metadata.

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

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