Skip to main content

zOS

Alpha — v1.6 zOS is stable and actively used in production internally. The API is functional and the architecture is settled, but rough edges remain. The Documentation/ guides are technically accurate against the core design; some details may lag behind the latest source. Live, up-to-date docs are coming with the official alpha release via zCloud (zolo.media). Expect breaking changes before v2.0.

Every release is gated on the full demo test matrix passing on macOS, Linux, and Windows — arm64 and x86_64.


Declare once—run everywhere.

zOS is not just a Command Line Interface, but a Context Layer Interface—a declarative cross-platform Python framework where context flows through layers to determine how your application manifests.

Write once, adapt to any context: user role, deployment environment, device, or runtime mode (Terminal or Web). zOS handles the heavy lifting, turning ideas into working tools faster.


Quick Start

One-line install (isolated venv at ~/.zolo, CLI on your PATH):

# macOS / Linux
curl -fsSL https://raw.githubusercontent.com/ZoloAi/zOS/main/install.sh | bash
# Windows (PowerShell)
irm https://raw.githubusercontent.com/ZoloAi/zOS/main/install.ps1 | iex

Or plain pip (Python 3.10–3.12):

pip install zolo-os

Then run a demo:

git clone https://github.com/ZoloAi/zOS.git
cd zOS/zDemos/zHello
z zSpark.zhello.zolo

⚠️ PyPI warning: the package is zolo-os. An unrelated public zolo package exists on PyPI and will cause conflicts — don't install it.


📚 New to Zolo?

Start with The zPhilosophy.
It introduces the core concepts of zOS and smoothly leads into the layer-by-layer guides with ready-made demos.

Requirements

  • CPython 3.10 – 3.12 (the range the zGuard trust binaries ship for)
  • macOS / Linux / Windows, arm64 or x86_64

Need help installing requirements on Windows or macOS?
See zInstall Guide for detailed instructions.


Installation Options

Variant Use Case Install Command
Basic CSV + SQLite backends pip install zolo-os
PostgreSQL + PostgreSQL backend pip install "zolo-os[postgresql]"
Webview + native desktop window mode pip install "zolo-os[webview]"
Monitoring + Prometheus metrics pip install "zolo-os[monitoring]"
Full everything above pip install "zolo-os[all]"

See zInstall Guide for editable install and troubleshooting.


🏗️ Architecture

zOS v1.5+ (Context Layer Interface) follows a 5-layer architecture inspired by "Linux From Scratch"—each subsystem stands alone, tested independently, then composed into higher abstractions.

Layer 0: /zSys/             — Pre-boot utilities: formatting, errors, install, logging, CLI routing
Layer 1: /L1_Foundation/    — zConfig (config hierarchy + secrets) + zComm (HTTP, WebSocket, services)
Layer 2: /L2_Handling/      — Display, Auth, Dispatch, Navigation, Parser, Loader (+ plugins), Func, Dialog, Open
Layer 3: /L3_Abstraction/   — zWizard (workflows), zData, zBifrost (WS bridge), zShell (REPL)
Layer 4: /L4_Orchestration/ — zWalker (declarative UI orchestrator) + zServer (HTTP/WSGI server)

Subsystems by Layer

Subsystem Purpose
Layer 1 — /L1_Foundation/
zConfig Self-aware config layermachine → environment → session hierarchy with secrets + logging
zComm Communication hubHTTP client, service orchestration (PostgreSQL, Redis), network utilities
Layer 2 — /L2_Handling/
zDisplay Render everywhere30+ events (tables, forms, widgets) adapt to Terminal or GUI automatically
zAuth Three-tier auth systembcrypt + RBAC + git-like identity, manage platform + multi-app users simultaneously
zDispatch Universal command routersimple modifiers (^~*!) shape behavior, routes to 7+ subsystems seamlessly
zNavigation Unified navigationmenus + breadcrumbs + state + inter-file links, all RBAC-aware
zParser Declarative paths & parsingworkspace-relative + user dirs + plugin discovery, 21+ unified methods
zLoader Intelligent file loader4-tier cache system (System + Pinned + Schema + Plugin) with mtime tracking
zFunc Dynamic Python executorcross-language (using zBifrost) + internal Python, auto-injection removes boilerplate
zDialog Declarative form enginedefine once, auto-validate, render everywhere (Terminal or GUI)
zOpen Universal openercross-OS routing (URLs, files, zPaths) for your tools (session-aware browser + IDE preferences)
Layer 3 — /L3_Abstraction/
zUtils REMOVED v1.7.0 — Plugin management migrated to zLoader (Layer 1) - see migration guide
zWizard Multi-step orchestratorsequential execution + zHat result passing, enabling workflows and navigation
zData Database abstractionbackend-agnostic declarations (SQLite ↔ PostgreSQL ↔ CSV), and auto migration
zBifrost WebSocket bridgereal-time bidirectional communication (server + JavaScript client), enables Terminal → Web GUI transformation
zShell Interactive command center18+ commands + wizard canvas, persistent history, direct access to all subsystems
Layer 4 — /L4_Orchestration/
zWalker Declarative UI orchestratormenus + breadcrumb navigation, coordinates the lower-layer subsystems, Terminal and GUI
zServer HTTP/WSGI serverserves HTML/CSS/JS + declarative routing, dev mode (lightweight) and production mode (Gunicorn), pairs with zBifrost
zRaven Automated test subsystem — drives zWalker + zServer + zBifrost end-to-end; zSpark-activated, off by default
L4 overview →

🔒 Security & secrets

zOS treats environment files like dotenv: zEnv.base.zolo and zEnv.<env>.zolo are parsed and injected into os.environ at boot — they are never served over HTTP. The built-in zServer SecurityChecker returns 403 for:

  • env/config/manifest files (/zEnv.*, /zConfig.*, /zSpark.*, /certs/, …)
  • any hidden path segment (/.git/, /.env, …) — even nested under a mount
  • source/secret file types served as assets (.py, .zolo, .key, .pem, .db, …)

So a /plugins/ mount serves your client .js, but never the server-side .py.

Production checklist

  • Keep zEnv.* and certs/*.key|pem|cert gitignored — never commit real secrets.
  • Inject prod secrets via the platform (IAM role / secrets manager), not files.
  • Set TLS certs in zEnv.production → HTTPS/WSS auto-enable (TLS 1.2+).
  • Set the public WEBSOCKET_HOST/port and WEBSOCKET_ALLOWED_ORIGINS.

Alpha note: WebSocket origin/CSRF validation is enabled together with WEBSOCKET_REQUIRE_AUTH (per-feature toggles land before v2.0), and the shared WS token uses a direct compare. Hardening continues through the alpha.


Uninstall & cleanup

Run this command in your terminal:

zolo uninstall

This launches an interactive menu where you can choose:

  1. Framework Only (default) - Removes the package, keeps your data and optional dependencies
  2. Clean Uninstall - Removes package AND all user data (configs, databases, cache)
  3. Dependencies Only - Removes optional dependencies (pandas, psycopg2) but keeps zOS

Each option shows you exactly what will be removed and asks for confirmation before proceeding.

More details →

License

MIT License with Ethical Use Clause

Copyright (c) 2024 Gal Nachshon

Trademarks: "Zolo" and "zOS" (Context Layer Interface) are trademarks of Gal Nachshon.

See LICENSE for details.


Documentation

The guides below are technically accurate against the core architecture, but some details may be slightly behind the current source. Live docs with full examples will ship with the official alpha at zolo.media.


Next: The zPhilosophy →

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

zolo_os-1.6.16.tar.gz (2.5 MB view details)

Uploaded Source

Built Distribution

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

zolo_os-1.6.16-py3-none-any.whl (2.5 MB view details)

Uploaded Python 3

File details

Details for the file zolo_os-1.6.16.tar.gz.

File metadata

  • Download URL: zolo_os-1.6.16.tar.gz
  • Upload date:
  • Size: 2.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.6

File hashes

Hashes for zolo_os-1.6.16.tar.gz
Algorithm Hash digest
SHA256 830d79d98f93e1420728f0cef77cd1e58685878359d1a3cf6f149c7473862685
MD5 781094f56cd8cdf64fead839193e197e
BLAKE2b-256 e7de58f0f33dcbc5d8c5964965fd84dbba503956343334de162607e0e73cd092

See more details on using hashes here.

File details

Details for the file zolo_os-1.6.16-py3-none-any.whl.

File metadata

  • Download URL: zolo_os-1.6.16-py3-none-any.whl
  • Upload date:
  • Size: 2.5 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.6

File hashes

Hashes for zolo_os-1.6.16-py3-none-any.whl
Algorithm Hash digest
SHA256 5b5f8327cd34fd54072501745831b5c10e7475c4bb40451f2cf38f240f8c03ba
MD5 1771ae51223e5a04958d6f3887db2f79
BLAKE2b-256 e31b0543e0247d83f506c2a20f7b76a096dbefda1e4a04f33e95e04f28256222

See more details on using hashes here.

Release history Release notifications | RSS feed

1.7.3

1 file

1.7.2

2 files

1.7.1

1 file

1.7.0

2 files

1.6.23

2 files

1.6.22

1 file

1.6.21

1 file

1.6.20

1 file

1.6.19

1 file

1.6.18

2 files

1.6.17

2 files

This release

1.6.16 This release

2 files

1.6.15

2 files

1.6.14

2 files

1.6.13

2 files

1.6.12

2 files

1.6.11

2 files

1.6.10

2 files

1.6.9

2 files

1.6.8

2 files

1.6.7

2 files

1.6.6

2 files

1.6.5

2 files

1.6.4

2 files

1.6.3

2 files

1.6.2

2 files

1.6.1

1 file

1.6.0

1 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