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

Uploaded Python 3

File details

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

File metadata

  • Download URL: typeflowapp-0.0.3.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.3.tar.gz
Algorithm Hash digest
SHA256 cef458267bd5deb688aa0296888fb5b4c5110fd30177c58839942f38cf1b7301
MD5 c22c9391f2421c0200babb134dd1147c
BLAKE2b-256 fa563acce92989064c594d1e5fe9713a7e8c4ddb42a25dd6ff0ee63d806a7d8d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: typeflowapp-0.0.3-py3-none-any.whl
  • Upload date:
  • Size: 537.5 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.3-py3-none-any.whl
Algorithm Hash digest
SHA256 3b24a2e625f6af5edb1c1f48f55e03f87f174fcb6a93d0c6bf9d49233fe83c93
MD5 29093c0b331a0da0f202198dfd850781
BLAKE2b-256 bfbc5823f3862e2cb9513bc55210a8cd90184b2c958a0ea79144aeea9c39b405

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