No description
  • Python 72.1%
  • JavaScript 20%
  • HTML 3.6%
  • Shell 2.9%
  • Java 1.3%
  • Other 0.1%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-10-12 17:02:12 +02:00
android Release 0.4.2 with native server installation and configurable ports 2026-10-12 17:02:12 +02:00
docs Release 0.4.0: unify web workspace and LOGO-style diagrams 2026-10-12 02:12:55 +02:00
examples Add HellLogic workbench with Ember branding and local installer 2026-09-21 19:17:38 +02:00
helllogic Release 0.4.2 with native server installation and configurable ports 2026-10-12 17:02:12 +02:00
packaging Release 0.4.2 with native server installation and configurable ports 2026-10-12 17:02:12 +02:00
scripts Release 0.4.1 with Windows bundles and server installer 2026-10-12 16:37:47 +02:00
tests Release 0.4.2 with native server installation and configurable ports 2026-10-12 17:02:12 +02:00
.gitignore Release 0.3.4 with touch and pen canvas editing 2026-09-30 17:01:33 +02:00
PKGBUILD Release 0.4.2 with native server installation and configurable ports 2026-10-12 17:02:12 +02:00
pyproject.toml Release 0.4.2 with native server installation and configurable ports 2026-10-12 17:02:12 +02:00
README.md Release 0.4.2 with native server installation and configurable ports 2026-10-12 17:02:12 +02:00

HellLogic

Local FBD logic editor with a read-only ladder view, Karnaugh analysis, simulation, and an offline Android application. Python 3.10+; no Python runtime dependencies.

Run

python3 -m helllogic
# Choose a port or suppress browser launch:
python3 -m helllogic web --port 8765 --no-browser

Install with pip install .. The helllogic command and application-menu launcher open the web editor.

Workspace

FBD is the editable program. LD and Karnaugh are derived views; switching tabs preserves the FBD layout, zoom, selection, history, and simulation. Build an equation once to create both diagrams. Manual logic edits retain the original expression as Source equation · modified; analysis always uses the current circuit.

Use Arrange & route to replace the whole FBD placement and wire routes in one undoable action. Layout and routing never run automatically. Drag blocks and connections to adjust them manually. Settings → Connections selects Lines (default) or Circles; this preference stays in the browser, independently of project files. Inverted inputs and negated outputs use filled dots.

The library follows the LOGO-style instruction order, with alternate functions under Additional. Network instructions are local simulation inputs and outputs; they have no communication settings.

Simulation supports live digital and analog inputs, step/run/reset, virtual time, retention, timers, counters, and message displays. Clock and power-cycle controls are under Advanced. On narrow screens, Library and Properties open drawers.

Karnaugh supports output selection, interactive truth rows and map cells, SOP/POS grouping, CSV, and a two-page print/PDF export. Visual maps support at most four inputs. Stateful, analog, or feedback circuits require simulation.

Save and Open use version-1 JSON projects. Existing single-bend routes remain readable; new arranged routes store waypoint lists. Imported LD projects compile to editable FBD. Invalid imports and equations preserve the open project.

CLI utilities

helllogic check examples/equation.json
helllogic truth examples/equation.json --csv
helllogic equation 'y = !ac + (!a!d + ab)b' --language FBD -o circuit.json

Build and verify

Windows portable and hosting bundles (written to dist/):

python scripts/build-release.py
# Build only one target:
python scripts/build-release.py windows
python scripts/build-release.py server

The Windows x64 ZIP includes the official embedded Python runtime; extract it and run HellLogic.cmd. The builder downloads the pinned runtime and verifies its SHA-256. For offline builds, pass --windows-runtime /path/to/python.zip.

The server archive includes the application, Dockerfile, HTTPS reverse proxy, Compose configuration, and a Python launcher. See hosting instructions. Hosting is at the domain root; simulations require one application instance.

Install a native Python server with a systemd user service (no Docker required):

./packaging/server/install-server.sh --port 9000

Use --foreground to run without systemd, --host 0.0.0.0 for network access, or --no-start to install files only. For direct startup from the checkout: ./packaging/server/start-server.sh --port 9000. Docker HTTPS hosting is optional: ./packaging/server/install-server.sh --docker --domain logic.example.com. The same scripts are included at the root of the server release.

python -m unittest discover -s tests
python -m build --wheel --no-isolation
./scripts/build-arch.sh --force
./android/build_apk.sh

Browser checks: node scripts/workspace-browser-qa.cjs and node scripts/workspace-touch-browser-qa.cjs (Playwright and Chromium required). Set HELLLOGIC_URL, PLAYWRIGHT_MODULE, or CHROMIUM_PATH to override defaults. See Android, simulation, parameters, and conversion.

This is a local simulator. It does not read Siemens projects or communicate with PLC hardware. The repository does not declare a distribution license; see package status.