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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8cab7b191cb7188486aecf3d03cd9f187a6264586ef1a5d5fd2fae17c07b3470
|
|
| MD5 |
bdbcfd8d04d1feccbf6964182bd0a1e3
|
|
| BLAKE2b-256 |
3dd07742345df27ce81fc3c7c18dcefead48bd3f407e0f8ab42f1164ac78f086
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
32b364b7c343bf7e7253b147064d09434256195a249e34616a9b3efcbf2e4589
|
|
| MD5 |
13384366e93b17c7de0a584c3c61b418
|
|
| BLAKE2b-256 |
df7566c15bb7a518120180b9adb97fa3c9b0c39375b77a178b012c54768db826
|