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 typeflowapp

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.2.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.2-py3-none-any.whl (48.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: typeflowapp-0.0.2.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.2.tar.gz
Algorithm Hash digest
SHA256 eb794b6e912abb1e6641d8453889d4458271f4971cd5c5732aaeb35d248607a4
MD5 b6d56b217315658865166d5fa09f63ef
BLAKE2b-256 b548fd899d788d4db9984c253a82bee1ee56df33d8244dc5750d7db0a4eefc85

See more details on using hashes here.

File details

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

File metadata

  • Download URL: typeflowapp-0.0.2-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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 f2a0cf786519059c533609ee159c4726ce3ef4c3cbced549e7dc24a1d71f32d1
MD5 521d2b0a45ff35f28910d001c1fc4f5e
BLAKE2b-256 ae6834fd0dc246b9718ed098582c5467aa2737013be1b33f3d8e1c066861166c

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