Skip to main content

No project description provided

Project description

Typeflow

Typeflow is a visual, type-safe workflow engine for Python.
It turns your Python functions and classes into reusable visual nodes that can be connected to build complete systems.

You design workflows visually — Typeflow generates the orchestrator and runs it with full type validation.


Features

Feature Description
Visual DAG editor React Flow UI served locally
Type-safe nodes @node() and @node_class decorators
Deterministic lifecycle compile → generate → run
Live execution Real-time updates via Server-Sent Events (SSE)
Auto orchestrator Generates src/orchestrator.py
Isolated dependencies Project-level .venv via uv
Python-first No external server or cloud required
Fully offline Pure local development

Installation

pip install typeflow

Quickstart

1. Create a new project

typeflow setup my_project
cd my_project
source .venv/bin/activate    # macOS/Linux
# or
.\.venv\Scripts\activate     # Windows

2. Create your first node

typeflow create-node word_counter

Edit src/nodes/word_counter/main.py:

from typeflow import node

@node()
def word_counter(text: str) -> int:
    """Count words in a string."""
    return len(text.split())

3. Create a class node

typeflow create-class TextFormatter

Edit src/classes/TextFormatter.py:

from typeflow import node_class

@node_class
class TextFormatter:
    prefix: str = ""
    suffix: str = ""

    def format(self, text: str) -> str:
        """Apply prefix and suffix."""
        return f"{self.prefix}{text}{self.suffix}"

4. Validate all nodes

typeflow validate

5. Open the visual editor

typeflow start-ui

Navigate to: http://localhost:8000

6. Build your workflow

Drag and connect:

Input → TextFormatter.format → word_counter → Output

7. Compile, generate, and run

typeflow compile
typeflow generate
typeflow run

This builds and executes the orchestrator at src/orchestrator.py.


Documentation

Complete documentation, examples, and guides are available at:

https://typeflow.dev (replace with your hosted MkDocs URL)


Why Typeflow?

  • Brings structure, clarity, and determinism to workflow creation
  • Makes Python functions/classes visually orchestratable
  • Encourages modular, strongly typed design
  • Future-ready for AI-assisted node generation
  • Ideal for:
    • Data pipelines
    • ETL
    • Automation
    • ML preprocessing
    • AI agents

Contributing

Contributions are welcome!
See CONTRIBUTING.md or See Contributing from hosted Documentation for details on:

  • Development workflow
  • Testing standards
  • Area ownership

License

Licensed under the GNU General Public License.


Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

typeflowapp-0.0.1.tar.gz (507.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

typeflowapp-0.0.1-py3-none-any.whl (48.3 kB view details)

Uploaded Python 3

File details

Details for the file typeflowapp-0.0.1.tar.gz.

File metadata

  • Download URL: typeflowapp-0.0.1.tar.gz
  • Upload date:
  • Size: 507.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for typeflowapp-0.0.1.tar.gz
Algorithm Hash digest
SHA256 8cab7b191cb7188486aecf3d03cd9f187a6264586ef1a5d5fd2fae17c07b3470
MD5 bdbcfd8d04d1feccbf6964182bd0a1e3
BLAKE2b-256 3dd07742345df27ce81fc3c7c18dcefead48bd3f407e0f8ab42f1164ac78f086

See more details on using hashes here.

File details

Details for the file typeflowapp-0.0.1-py3-none-any.whl.

File metadata

  • Download URL: typeflowapp-0.0.1-py3-none-any.whl
  • Upload date:
  • Size: 48.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for typeflowapp-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 32b364b7c343bf7e7253b147064d09434256195a249e34616a9b3efcbf2e4589
MD5 13384366e93b17c7de0a584c3c61b418
BLAKE2b-256 df7566c15bb7a518120180b9adb97fa3c9b0c39375b77a178b012c54768db826

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page