Skip to main content

A Python library to manage a Zebra printer fleet and an API for ZPL print requests.

Project description

zebra_day

zebra_day is a Python library, CLI, simulator, and FastAPI web service for managing Zebra printer fleets and serving ZPL print workflows. Shared fleet state, templates, label profiles, observations, and print jobs now live in daylily-tapdb only.

What Changed

  • TapDB is the only supported shared datastore.
  • source ./activate <deploy-name> is the only supported repo activation path.
  • The service/admin runtime uses direct TapDB access through ZebraDayClient.
  • Downstream Python applications should use ZebraDayApiClient against a running zebra_day API.
  • Cognito is the default auth mode. --no-auth remains the explicit runtime override.

Removed in this major cut:

  • local fleet/config files as runtime state
  • DynamoDB and S3 runtime support
  • print_mgr.zpl() and package-root helper shims
  • zday_start, zday_quickstart, and zday dynamo

Quickstart

source ./activate local
zday config init
zday config status
zday gui start

The default GUI port is 8118. HTTPS is enabled automatically when local certs are available.

Runtime Model

flowchart LR
    CLI["zday CLI"] --> Service["zebra_day service/runtime"]
    GUI["FastAPI + Jinja UI"] --> Service
    APIClient["ZebraDayApiClient"] --> API["zebra_day HTTP API"]
    API --> Service
    Service --> TapDB["daylily-tapdb namespace"]
    Service --> Printers["Zebra printers over TCP 9100"]
    Simulator["simulator"] --> Printers

Python Usage

Direct service/admin usage:

from zebra_day import ZebraDayClient, ZebraDaySettings

settings = ZebraDaySettings.from_context("local")
client = ZebraDayClient(settings)
printers = client.list_printers("default")

Downstream app usage:

from zebra_day import ZebraDayApiClient

with ZebraDayApiClient("https://localhost:8118", api_key="internal-token") as client:
    printers = client.list_printers("default")
    client.submit_print_job(
        lab="default",
        printer="printer-1",
        label_zpl_style="tube_2inX1in",
        uid_barcode="SAMPLE-001",
    )

CLI Surface

  • zday gui ...: start, stop, restart, and inspect the GUI server
  • zday printer ...: list, scan, and sync printers
  • zday template ...: list, show, save, preview, and delete templates
  • zday tapdb ...: pass through to TapDB lifecycle commands
  • zday cognito ...: inspect or validate the daycog-backed auth contract
  • zday users ...: manage Cognito group membership for operator/admin roles
  • zday logs ...: inspect zebra_day GUI logs

Docs

Development Checks

ruff check zebra_day tests
ruff format --check zebra_day tests
mypy zebra_day --ignore-missing-imports
pytest tests/ -v --tb=short

Project details


Release history Release notifications | RSS feed

Download files

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

Source Distribution

zebra_day-4.0.1.dev0.tar.gz (20.4 MB view details)

Uploaded Source

Built Distribution

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

zebra_day-4.0.1.dev0-py3-none-any.whl (20.6 MB view details)

Uploaded Python 3

File details

Details for the file zebra_day-4.0.1.dev0.tar.gz.

File metadata

  • Download URL: zebra_day-4.0.1.dev0.tar.gz
  • Upload date:
  • Size: 20.4 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.2

File hashes

Hashes for zebra_day-4.0.1.dev0.tar.gz
Algorithm Hash digest
SHA256 8da3a63a2a7a352770692404dcd38168ce81f110c33e8cf30ae2035fc9c7fe24
MD5 492f5462dcf875c1bf5e14be405e3b03
BLAKE2b-256 708ba6792d1406ac80f32c31a709f321fab1a8e581d220aff3e8300db0d40878

See more details on using hashes here.

File details

Details for the file zebra_day-4.0.1.dev0-py3-none-any.whl.

File metadata

  • Download URL: zebra_day-4.0.1.dev0-py3-none-any.whl
  • Upload date:
  • Size: 20.6 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.2

File hashes

Hashes for zebra_day-4.0.1.dev0-py3-none-any.whl
Algorithm Hash digest
SHA256 82c47ed307c593d661b8c9c9ec09d1cc9e66b445e1b34c9e244af6cbfac6c862
MD5 d4f3678d33fa2b4ebd64eabe31828758
BLAKE2b-256 e4905693e0a0b0c55a3fa35ad2fec97e27a8506a5e2e5630a3889d47b35705c2

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