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
ZebraDayApiClientagainst a running zebra_day API. - Cognito is the default auth mode.
--no-authremains 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 shimszday_start,zday_quickstart, andzday 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 serverzday printer ...: list, scan, and sync printerszday template ...: list, show, save, preview, and delete templateszday tapdb ...: pass through to TapDB lifecycle commandszday cognito ...: inspect or validate the daycog-backed auth contractzday users ...: manage Cognito group membership for operator/admin roleszday logs ...: inspect zebra_day GUI logs
Docs
- docs/README.md
- zebra_day/docs/programatic_guide.md
- zebra_day/docs/zebra_day_ui_guide.md
- docs/tapdb_hard_migration_plan.md
Development Checks
ruff check zebra_day tests
ruff format --check zebra_day tests
mypy zebra_day --ignore-missing-imports
pytest tests/ -v --tb=short
Metadata
Release files for zebra-day 6.0.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| zebra_day-6.0.2.tar.gz | 20.3 MB | Without provenance | Details for zebra_day-6.0.2.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| zebra_day-6.0.2-py3-none-any.whl | Python 3 | none | any | Details for zebra_day-6.0.2-py3-none-any.whl |
Total release size: 40.5 MB
Release files / zebra_day-6.0.2.tar.gz
| Download URL | zebra_day-6.0.2.tar.gz |
|---|---|
| Size | 20.3 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
7cb937006a765c11081c6a1157b6d841ae2887a9f4233af3a45fa2838be9ff1b
|
|
BLAKE2b-256 checksum How to use checksums |
a727a93a5c216529841982ae79142467d0714860a1cae3ba43b328b8c40abae3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.2
|
Release files / zebra_day-6.0.2-py3-none-any.whl
| Download URL | zebra_day-6.0.2-py3-none-any.whl |
|---|---|
| Size | 20.2 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
e825509ec5d2fbc4e45654eefceba772796f2169eef4e5b52d704bb19aef8904
|
|
BLAKE2b-256 checksum How to use checksums |
29f1dc9c56f5a443501ba4a2b508899d6cd047ef66234f1dcb76b6184289ec99
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.2
|
Security for zebra-day 6.0.2
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.