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.5.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.5-py3-none-any.whl (2.0 MB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: lynx_nb-0.1.5.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.5.tar.gz
Algorithm Hash digest
SHA256 31795e026e4c04525a72ff3f6d623ef9e9d67a60fe42b0479c386bfbbea761b3
MD5 87997841623caa77e991bafc2d3ae1d4
BLAKE2b-256 07bcb5567c877e955f665f44488722a7061f517234ced2047aa6e3e715d88045

See more details on using hashes here.

File details

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

File metadata

  • Download URL: lynx_nb-0.1.5-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.5-py3-none-any.whl
Algorithm Hash digest
SHA256 019db3da251f8c696a5916678ecaf75fb10c58c9c667e139da3de6a73009d2ef
MD5 3b843dc012b927db790de8f51eb84a9d
BLAKE2b-256 f5c5d3ebd7b587ce9876f030bf7dfef7b7a77ab2908601dd05b8078be345b803

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