Tongflow plugin package (node contracts, deploy scan, ABI helpers)
Project description
tongflow (PyPI)
pip install tongflow installs the Python import name tongflow (plugin contracts, deploy.py scan, node slot metadata).
Install
pip install tongflow
Use
from tongflow.slots import node_slot
from tongflow.node_slots import NodeSlots
from tongflow import current_app
In this monorepo, Modal impl.py / stub deploy.py images pin tongflow==0.0.5 (PyPI). Bump the version string in those files when you publish a new release.
Plugin identity
Plugin Python source is the single source of truth. The scanner derives plugin runtime configuration from code and AST; do not add per-plugin JSON manifests.
For every plugin repository, these names must be identical:
- directory name
pluginId- Modal app name
- git repository name
Use tongflow-modal-<semantic-name> for Modal plugins and
tongflow-llm-<semantic-name> for LLM plugins, such as
tongflow-modal-docling, tongflow-modal-qwen3asr, or
tongflow-llm-openai. Do not encode hardware details in the name, such as
gpu or cpu.
Runner detection is prefix-based and validated against the entry files:
tongflow-modal-*withdeploy.py: Modal plugintongflow-llm-*withentry.py: LLM plugin- both files or neither file: scanner error
Modal plugins should derive their app from the directory name:
from tongflow import current_app
app = current_app(__file__)
Future plugin-level metadata must be declared as top-level UPPER_CASE
literals in deploy.py or entry.py so the scanner can extract it with AST.
Do not reintroduce JSON configuration files.
Build and publish (maintainers)
From the Tongflow repo root:
export TWINE_USERNAME=__token__
export TWINE_PASSWORD=pypi-xxxxxxxx # https://pypi.org/manage/account/token/
pnpm tongflow:publish
This runs scripts/publish-tongflow-pypi.sh (clean, python -m build, twine check, twine upload).
TestPyPI: TONGFLOW_UPLOAD_TESTPYPI=1 pnpm tongflow:publish (use a TestPyPI token).
Manual equivalent from sdk/: python -m pip install build twine && python -m build && python -m twine upload dist/*
Project details
Release history Release notifications | RSS feed
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 tongflow-0.0.18.tar.gz.
File metadata
- Download URL: tongflow-0.0.18.tar.gz
- Upload date:
- Size: 23.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0734fe77cfd7e4d832c7e705382d2bd9a9c4a65b50521608b2948cf39b66e095
|
|
| MD5 |
0ad0b43cc138b1de87595a45424fa7dc
|
|
| BLAKE2b-256 |
41eac89574eb01d4e84c16bcb599e187cae22c693c2f8c393997e4e39d35d7ac
|
File details
Details for the file tongflow-0.0.18-py3-none-any.whl.
File metadata
- Download URL: tongflow-0.0.18-py3-none-any.whl
- Upload date:
- Size: 43.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b05d036f133cc3a384ebe5bcac74debff230c36891fc5387b6d6a19acf36c7cd
|
|
| MD5 |
6df2f6f2969b659e4f26a232b711b454
|
|
| BLAKE2b-256 |
bc6177f5c9d50d61e6b3a4da81be60ed1da9989305420b39ea92ec9d7dd6941f
|