Skip to main content

Datalayer

Become a Sponsor

⚛️ Reactor

Application builders hit a wall when a feature spans the browser and the server: frontend and backend plugin systems usually disagree about discovery, dependencies, lifecycle, compatibility, and enablement. Teams duplicate those contracts, hard-wire optional features into the host, and must coordinate rebuilds and deployments just to add, remove, or replace one capability.

Reactor gives JavaScript frontends and Python backends one extensibility model, inspired by VS Code, Eclipse (OSGi), and other proven plugin systems.

Reactor Example Music

Reactor provides two sibling packages:

  • @datalayer/reactor (TypeScript): Plugin runtime with a framework-agnostic core and separate React integration.
  • datalayer_reactor (PyPI distribution, imported as reactor): FastAPI + pluggy plugin reactor for modular extensibility.

Both tiers implement the same architecture. That is the point of writing it down once: a host that lists, describes, groups or draws plugins should never have to ask which side of the wire one came from.

📖 Documentation

reactor.datalayer.tech — everything is there, and only there. Source in docs/.

Why Reactor what this targets that a hook callback does not
Architecture the seven constructs, and the two distinctions the model rests on
Get started in TypeScript · in Python install, and a plugin running
TypeScript runtime plugins, lifecycle, contribution points, extensions, activation, lazy loading, remote plugins, allowed origins, React bindings, signals
Python runtime manifests, contribution points, extensions, tenants, the HTTP API
Across the tiers what a plugin may declare about its counterpart, and why it is not enforced
Federation plugins that arrive from a URL, containers, and where one is allowed to come from
Python-packaged extensions one pip install shipping both tiers, the frontend built into the wheel

🎵 The music store, running in the page

reactor.datalayer.tech/examples/music/demo — a store assembled entirely from plugins, with a switch per plugin on both tiers. Untick one and watch what it contributed leave.

Repository layout

Path What is in it
src/ TypeScript package source for @datalayer/reactor
reactor/ Python package source for datalayer_reactor
plugins/ reusable plugins shipped alongside the runtime — the manager and the graph
examples/ the demos, including the music store
docs/ the documentation site

Develop

# TypeScript: the runtime and the bundled plugins.
npm install
npm run build
npm test
npm run typecheck

# Python.
python -m venv .venv
source .venv/bin/activate
pip install -e .
python -m reactor

# The music example, both tiers.
make music

# The documentation site.
cd docs && make install && make start

Release

See RELEASE.md.

Release files for datalayer-reactor 1.0.2

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

Built distribution (wheel)

Table of built distributions (wheels) for datalayer-reactor 1.0.2
File Interpreter ABI Platform
datalayer_reactor-1.0.2-py3-none-any.whl Python 3 none any Details

Release files / datalayer_reactor-1.0.2-py3-none-any.whl

Download URL datalayer_reactor-1.0.2-py3-none-any.whl
Size 55.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c7d7650bd94f552bb42bdbce14c5bea677d0f0d7286c592589e4dde17d92a1a9
BLAKE2b-256 checksum
How to use checksums
7d373298ff768c55625f9453082e6aeb76b3455083eac15b81182c11c1f6d367
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.11

Release history Release notifications | RSS feed

1.0.4

2 release files

1.0.3

2 release files

This release

1.0.2 This release

1 release file

1.0.1

1 release file

1.0.0

1 release file

0.1.3

1 release file

0.1.2

1 release file

0.1.1

1 release file

0.1.0

1 release file

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