Skip to main content

Entropia Riko logo

Entropia Riko

PyPI version GitHub release License: MIT

Entropia Riko hero

中文 | English

Entropia Riko is a professional node-graph deep-learning editor — ComfyUI-style visual workflows for PyTorch (and optional TensorFlow/Keras), with a modular Blender-like workspace, live training curves, code export, a plugin system, and a built-in file manager.

It runs as a web app (browser) and ships an Electron shell so you can use it as a standalone desktop app — you choose.

Install (PyPI)

pip install entropia-riko            # core + API server + PyTorch
pip install "entropia-riko[tf]"      # + TensorFlow/Keras nodes
pip install "entropia-riko[hf]"      # + Hugging Face (Diffusers/Transformers) nodes

Use it as a Python library:

import entropia_riko
import entropia_riko.nodes          # registers all 194 built-in nodes
from entropia_riko.runtime.registry import default_registry

print(entropia_riko.__version__)                  # "0.1.0"
print(len(default_registry().list()))             # 194

Or launch the API server:

entropia-riko                       # FastAPI on http://127.0.0.1:8000
# equivalent:
python -m uvicorn entropia_riko.server.app:app --port 8000

The pip package ships the Python runtime (nodes, executor, codegen, trainer, subgraphs, API server). The browser/Electron UI is not in the pip package — clone this repo for the full editor.

Features

  • 200+ nodes — math, tensor ops, neural layers/activations, attention, normalization, reductions, shape ops, einsum, losses, data loaders, model inference, subgraph references, Hugging Face (Diffusers / Transformers), and TensorFlow/Keras equivalents.
  • Node graph canvas (React Flow) — right-click search menu, drag to connect, custom node cards with live output previews.
  • Modular Blender-style workspace — split/merge/resize any panel (drag the corner grip; both resulting rounded windows are previewed in blue), switch any window's type, multiple workspace tabs with presets (Layout / Code / Training / MNIST Studio / Text→Image / …).
  • Code editor — a Notepad-style window (File/Edit menus + toolbar: New, Open, Save, Undo/Redo, Cut/Copy/Paste) for previewing/editing exported PyTorch code.
  • Train + live loss curve — stream per-step loss (SSE) into an SVG chart.
  • Train-to-model / load-from-modelsave_model + model_loader file nodes (Houdini-style file picker on the path parameter) persist/restore model weights as safetensors or torch state_dicts.
  • Clean code export — PyTorch nn.Module and TensorFlow tf.keras.Model.
  • Multi-file project export — File → Export Code → Export Project… writes a GitHub-layout PyTorch repo (README.md, requirements.txt, src/<name>.py) equivalent to the working folder.
  • Subgraph navigation — double-click a graph_reference/import node to enter it; a Houdini-style breadcrumb (root / subgraph) in the top-left shows the level and exits back up.
  • Multi-modal subgraph I/Ograph_input / graph_output accept a data_kind (tensor / text / json / image_tensor), not just numbers.
  • Project-as-unit — work with a project folder (see templates/project/), not a single file; .riko/.ric files remain the on-disk format.
  • Asset Library & New File — a working-directory file manager with drag-and-drop folders, right-click create/rename/delete, "expand full nodes" (inline a file's graph instead of a subgraph reference), and per-file PyTorch code preview.
  • Built-in file explorer — Windows-style Import/Export (browse, back/forward, quick access, recent folders; copy files/folders instead of browser downloads).
  • Plugin system — load plugins from .py files, toggle them on/off; managed in both a workspace panel and Preferences.
  • Handwriting pad — draw a 28×28 digit and send it as a constant node to the MNIST example for inference.
  • Themes — Light / Dark / System / Liquid Glass (Apple-style translucent).
  • Detachable floating windows — all dialogs are draggable windows.
  • Binary .ric format + ASCII .riko format with full metadata/settings.

Train → Save → Load → Infer

Models flow through the graph as model values and persist to disk via two file nodes (Houdini-style — the path parameter has a file picker):

  • save_model (train-to-model) — serialize a model's state_dict to .safetensors (default) or .pt/.pth.
  • model_loader (load-from-model) — load a state_dict back; set the module parameter (or feed a template) to rebuild the model structure and make it callable again.

/api/train also accepts save_path to persist the fitted model right after training. Example graphs ship in train + infer pairs (e.g. examples/models/cnn_train.riko + cnn_infer.riko), each showing the loop:

# 1) train the CNN and write cnn.safetensors
curl -X POST http://127.0.0.1:8000/api/train \
  -H "Content-Type: application/json" \
  -d '{"doc": <cnn_train.riko>, "steps": 20, "save_path": "cnn.safetensors"}'

# 2) run cnn_infer.riko — it loads cnn.safetensors and runs inference

Quick Start (browser)

cd entropia-riko
python -m venv .venv
. .venv/bin/activate            # Windows: .venv\Scripts\activate
pip install -r requirements.txt
npm install

# Terminal 1 — API (http://localhost:8000)
.venv/bin/python -m uvicorn entropia_riko.server.app:app --reload --port 8000

# Terminal 2 — frontend (http://localhost:5173)
npm run dev

Open http://localhost:5173 (the /api routes proxy to :8000).

Quick Start (desktop app)

The Electron shell spawns the backend and opens a native window on the Vite dev server:

npm install --save-dev electron
npm run dev &                # keep the Vite dev server running
npm run desktop

Set RIKO_DEV_URL to point at another frontend URL if needed.

.riko / .ric file format

.riko is human-readable JSON; .ric is the same document zlib-compressed behind an ERIK magic header. Both carry version, metadata (name, app, appVersion), nodes, edges, and settings (theme, background image). See docs/FILE_FORMAT.md.

Plugins

Plugins live in plugins/*/ (a plugin.json manifest + an entry Python module that registers nodes via @register). Load more from a .py file and toggle them from the Plugins panel or Preferences → Plugins. Disabled plugins are skipped so their nodes stay unregistered. Bundled examples: example_plugin, math_extra, stat_extra.

Development commands

.venv/bin/python -m unittest discover -s tests -t .   # Python tests
npm test                                              # frontend tests (vitest)
npm run build                                         # type-check + production build
npm run dev                                           # Vite dev server
npm run desktop                                       # Electron desktop shell
.venv/bin/python scripts/make_brand_assets.py         # brand asset helper (see script)

Distribution / Release

Package a clean, shareable source ZIP (commits pending changes, then archives only tracked files — no node_modules, .venv, dist, caches, or backups):

.venv/bin/python scripts/release.py "release note"

Output: entropia-riko-release.zip in the parent directory (the working folder is never modified). It contains entropia_riko/, public/, plugins/, examples/, templates/, electron/, scripts/, tests/, docs/, the READMEs, and config files — everything a recipient needs to pip install -r requirements.txt + npm install and run.

PyPI release

Build and publish the Python package (entropia-riko on PyPI):

.venv/bin/python -m pip install build twine
.venv/bin/python -m build --outdir dist-pypi
.venv/bin/python -m twine upload dist-pypi/*

Project structure

entropia_riko/
├── ui/         React app (canvas, panels, code editor, file manager, …)
├── core/       Tensor IR + graph document model (.riko/.ric)
├── runtime/    Registry, executor, PyTorch/TF codegen, trainer, subgraph
├── backend/    Torch device detection + conversion
├── nodes/      Node definitions
├── plugins/    Plugin loader
└── server/     FastAPI API server
plugins/        Bundled plugins
examples/       Ready-to-run pre-wired example graphs (dataset → model → loss → output)
electron/       Desktop shell (main + preload)
scripts/        Brand asset generator
public/brand/   logo.svg + hero.jpg (replace in place to rebrand)

Documentation

  • User Guide — full manual (UI, nodes, training, export, API).
  • docs/: APP_SPEC.md, APP_ARCHITECTURE.md, API.md, NODE_SYSTEM.md, DATA_FORMAT.md, FILE_FORMAT.md, UI_STANDARD.md, TORCH_BACKEND.md, CROSS_PLATFORM.md.

License

MIT

Download files

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

Source Distribution

entropia_riko-0.1.5.tar.gz (78.1 kB view details)

Uploaded Source

Built Distribution

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

entropia_riko-0.1.5-py3-none-any.whl (88.1 kB view details)

Uploaded Python 3

File details

Details for the file entropia_riko-0.1.5.tar.gz.

File metadata

  • Download URL: entropia_riko-0.1.5.tar.gz
  • Upload date:
  • Size: 78.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.14.5

File hashes

Hashes for entropia_riko-0.1.5.tar.gz
Algorithm Hash digest
SHA256 656bdd5d6bdcdab1cd651c3be98db26e373dd1e5dd86af9fafea2ec1c55aae95
MD5 b8865a34d03fec7446fbd61cf11eef99
BLAKE2b-256 a9ac0e004b8ebae8efd337f855cd9ad18bbd668c1e515670f9d0c757ff7bb24a

See more details on using hashes here.

File details

Details for the file entropia_riko-0.1.5-py3-none-any.whl.

File metadata

  • Download URL: entropia_riko-0.1.5-py3-none-any.whl
  • Upload date:
  • Size: 88.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.14.5

File hashes

Hashes for entropia_riko-0.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 8dd9bf3869c0d349137ddc20d44eaa55e029133ff1f0e5db21a7bacddbe2c0b6
MD5 bacb12acea8affc5a1c9c757d639b9a1
BLAKE2b-256 71b35893e66cfaf6312b08960d92329522d892d1b29bc55ad795d2e96da498c6

See more details on using hashes here.

Release history Release notifications | RSS feed

0.2.0

2 files

This release

0.1.5 This release

2 files

0.1.4

2 files

0.1.3

2 files

0.1.2

2 files

0.1.1

2 files

0.1.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page