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

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for zolo_os-1.6.17.tar.gz
Algorithm Hash digest
SHA256 11a38018385c9ef2d6f7112e055227548823f1915a662d4b98e6eb7342a8a7ca
MD5 d3f333f72178090f0b401900eafcf0d4
BLAKE2b-256 6b94a109d3a6cd0e098d8ecf8c17a421b1e68835419dc67d2b54c073146d659e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: zolo_os-1.6.17-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.12.4

File hashes

Hashes for zolo_os-1.6.17-py3-none-any.whl
Algorithm Hash digest
SHA256 5bc1526617340a33cb851e441a167e24e91617af7d76a5b375df8eebaa75fdbd
MD5 fdfe027697c68f6ef3d5db61025a8f48
BLAKE2b-256 78c435b125b818936a56f77ecd7f672aa9e29086132ef952d201367179aff17a

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

This release

1.6.17 This release

2 files

1.6.16

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