Skip to main content

Block diagram editor for control systems

Project description

Lynx - Block Diagram Widget for Control Systems

Lightweight block diagram editor GUI for control systems in Jupyter notebooks

Lynx is a Jupyter widget that enables interactive creation and editing of block diagrams for linear SISO control systems. Designed for controls engineers working in Jupyter environments.

Features

  • Interactive Canvas: Drag-and-drop block diagram editing
  • Control Theory Blocks: Transfer Function, State Space, Gain, Sum Junction, I/O markers
  • Real-Time Validation: Algebraic loop detection, connection constraints
  • Git-Friendly Persistence: Human-readable JSON format
  • Python Integration: Use numpy expressions for parameters, export to python-control
  • SISO Systems: Focus on linear single-input, single-output control systems

For more details, see the documentation site

Quick Start

The easiest way to install from pip:

pip install lynx-nb

Source build

Backend installation

# Using UV (recommended)
uv pip install -e ".[dev]"

# Or using pip
pip install -e ".[dev]"

Frontend Setup

cd js
npm install
npm run build

Jupyter Kernel Setup

# Install Jupyter kernel for this project
uv run ipython kernel install --user --env VIRTUAL_ENV $(pwd)/.venv --name=lynx

Basic Usage

import lynx
import numpy as np

# Create a diagram
diagram = lynx.Diagram()

# Launch interactive editor (displays in Jupyter)
lynx.edit(diagram)

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

lynx_nb-0.1.4.tar.gz (2.8 MB view details)

Uploaded Source

Built Distribution

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

lynx_nb-0.1.4-py3-none-any.whl (2.0 MB view details)

Uploaded Python 3

File details

Details for the file lynx_nb-0.1.4.tar.gz.

File metadata

  • Download URL: lynx_nb-0.1.4.tar.gz
  • Upload date:
  • Size: 2.8 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.9.28 {"installer":{"name":"uv","version":"0.9.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for lynx_nb-0.1.4.tar.gz
Algorithm Hash digest
SHA256 3d3191535496a1fdab63fbe11181f8b14960faaeefcf13fc8dbf5afe8d225b98
MD5 0f5047050941d0e68648c84c99750dc8
BLAKE2b-256 3415365070cec37538db0bc96533e5cbc5e5477fb20d076368911b958aacee62

See more details on using hashes here.

File details

Details for the file lynx_nb-0.1.4-py3-none-any.whl.

File metadata

  • Download URL: lynx_nb-0.1.4-py3-none-any.whl
  • Upload date:
  • Size: 2.0 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.9.28 {"installer":{"name":"uv","version":"0.9.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for lynx_nb-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 8dc5728485ef541753a461d3ec8a82e7de5b6a5818c61d95d0ec4f68b2a22c7a
MD5 d81f7c8e0796620fb22ce36d2af92a83
BLAKE2b-256 6191fea32af03bff1fc97d1d98def5927069b48b61d95279f314937be880f2d6

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page