Skip to main content

dashai-frankenstein

A DashAI plugin that registers Frankenstein Transformer model classes as DashAI components, so end users can train, evaluate, predict, save, and load them from the DashAI UI.

Components registered

Entry point Class DashAI base Binds to task
frankenstein_mlm FrankensteinMLMModel BaseModel TextClassificationTask
frankenstein_decoder FrankensteinDecoderModel BaseGenerativeModel TextToTextGenerationTask
frankenstein_vit_cls FrankensteinViTClassifier BaseModel ImageClassificationTask
frankenstein_vit_seg FrankensteinViTSegmenter BaseModel SegmentationTask
segmentation_task SegmentationTask BaseTask (new task provided by this plugin)

Schema (v1: passthrough JSON)

Each model exposes a minimal pydantic schema with a single user-facing field: frankenstein_json, a string containing a full Frankenstein training config as a single-line JSON. The Frankenstein JSON Schema is the source of truth — the JSON is validated against it (additionalProperties: false + enums) and Frankenstein's config loader (cross-component constraints) before any train/inference launches. Errors surface to the DashAI user as a readable ValueError.

Build your YAML with the Frankenstein YAML builder, convert it to a one-line JSON string, and paste it into the field:

python -c "import yaml,json,sys; print(json.dumps(yaml.safe_load(open(sys.argv[1]))))" my_config.yaml

Training parameters (device, batch_size, num_epochs, learning rate) are read from the config's training_runtime block and optimizer parameters — they are NOT separate DashAI form fields. Generation parameters (max_new_tokens, temperature, top_k) on the decoder component are kept as DashAI fields (they are inference-time, not training-time, and the Frankenstein schema has no home for them).

Note: The field is a single-line text input (DashAI does not yet support a multiline textarea for plugin schema fields), which is why the config is passed as a one-line JSON string rather than a multiline YAML document. A true multiline textarea is tracked as a future upstream improvement to DashAI.

Install

pip install dashai-frankenstein            # from PyPI once published
# or, from this repo:
pip install -e ./dashai-frankenstein

DashAI discovers the plugin via the dashai.plugins entry-points group on startup — no DashAI source edits required.

Architecture

See docs/dashai-plugin-audit.md in the Frankenstein repo for the full integration design (§5 component designs, §6 phased plan, §7 Frankenstein changes). This package is the Phase 1–3 adapter layer; it consumes the Frankenstein engine API (src.engine) added in Phase 0.

Metadata

Release files for dashai-frankenstein 0.2.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for dashai-frankenstein 0.2.1
File Size Uploaded
dashai_frankenstein-0.2.1.tar.gz 21.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for dashai-frankenstein 0.2.1
File Interpreter ABI Platform
dashai_frankenstein-0.2.1-py3-none-any.whl Python 3 none any Details

Total release size: 53.1 kB

Release files / dashai_frankenstein-0.2.1.tar.gz

Download URL dashai_frankenstein-0.2.1.tar.gz
Size 21.1 kB
Tags Source
SHA-256 checksum
How to use checksums
1768716436ec8cbf50c11786fcc46563bb7db7e90b3ef923938de5cd5c67b3f4
BLAKE2b-256 checksum
How to use checksums
a1c4089f413b2a12dba211f9930ca016d03dccc46c5aac22b54e498ec7ccfad8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.0 {"installer":{"name":"uv","version":"0.12.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"26.04","id":"resolute","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / dashai_frankenstein-0.2.1-py3-none-any.whl

Download URL dashai_frankenstein-0.2.1-py3-none-any.whl
Size 32.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
e2d7f95bd4deb3dee10bd51ee9b70191fd85251c1b766f32affe4ecd99212d4e
BLAKE2b-256 checksum
How to use checksums
e84819a6d0c23f5a373615c37086fe81e0ad10a2585cce328390710c51d05258
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.0 {"installer":{"name":"uv","version":"0.12.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"26.04","id":"resolute","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release history Release notifications | RSS feed

0.5.0

2 release files

0.4.0

2 release files

0.3.1

2 release files

0.3.0

2 release files

This release

0.2.1 This release

2 release files

0.2.0

2 release files

0.1.0

2 release 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