Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 5 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,11 @@
Org-level GitHub configuration: the **reusable workflows** every LabelZoom repo's CI
calls, plus the community health files that inherit across the org.

This repo is **public**, and that is load-bearing, not an oversight. `labelzoom-api` and
`labelzoom-zpl-sdk` are public repos, and **a public repo cannot call a reusable workflow
from a private one.** No setting changes that. Nothing secret lives here: workflow YAML,
secret *names*, toolchain versions and action SHAs are all public by design. Secret
*values* never are.
This repo is **public**, and that is load-bearing, not an oversight. Several org repos are
public — `labelzoom-sdk`, `labelzoom-mcp` and `labelzoom-n8n-node` among them — and **a
public repo cannot call a reusable workflow from a private one.** No setting changes that.
Nothing secret lives here: workflow YAML, secret *names*, toolchain versions and action
SHAs are all public by design. Secret *values* never are.

## The doubled path

Expand Down
69 changes: 65 additions & 4 deletions profile/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,21 +2,82 @@

# LabelZoom

Barcode label conversion and design. Convert ZPL, EPL, DPL, TSPL and PDF between formats,
Barcode label conversion and design. Convert ZPL, EPL, TSPL, DPL and PDF between formats,
render labels to images, and design them in the browser — at
**[labelzoom.com](https://www.labelzoom.com)**.

## Open source
The conversion API takes 13 source formats (`zpl` `epl` `tspl` `dpl` `xml` `json` `pdf`
`png` `bmp` `gif` `jpg` `jpeg` `url`) to 11 targets (the same list minus `jpg`, which
normalizes to `jpeg`, and `url`, which is a fetch instruction rather than a format).
**An API key is optional** — every client works anonymously against the free tier.

## Client SDKs

[**labelzoom-sdk**](https://github.com/labelzoom/labelzoom-sdk) is one repo publishing
eight packages that behave identically on the wire. They share a written contract
([`docs/API_CONTRACT.md`](https://github.com/labelzoom/labelzoom-sdk/blob/main/docs/API_CONTRACT.md))
and a language-neutral conformance suite of 83 fixtures that every SDK's tests execute, so
"works in Python" and "works in Rust" mean the same thing.

| Language | Package | Install |
|---|---|---|
| .NET | [`LabelZoom.Sdk`](https://www.nuget.org/packages/LabelZoom.Sdk) | `dotnet add package LabelZoom.Sdk` |
| Node | [`@labelzoom/sdk`](https://www.npmjs.com/package/@labelzoom/sdk) | `npm install @labelzoom/sdk` |
| Java | [`com.labelzoom:labelzoom-sdk`](https://central.sonatype.com/artifact/com.labelzoom/labelzoom-sdk) | Maven Central |
| Python | [`labelzoom-sdk`](https://pypi.org/project/labelzoom-sdk/) | `pip install labelzoom-sdk` |
| PHP | [`labelzoom/sdk`](https://packagist.org/packages/labelzoom/sdk) | `composer require labelzoom/sdk` |
| Go | [`labelzoom-sdk/go`](https://pkg.go.dev/github.com/labelzoom/labelzoom-sdk/go) | `go get github.com/labelzoom/labelzoom-sdk/go` |
| Ruby | [`labelzoom`](https://rubygems.org/gems/labelzoom) | `gem install labelzoom` |
| Rust | [`labelzoom`](https://crates.io/crates/labelzoom) | `cargo add labelzoom` |

[**labelzoom-sdk-php**](https://github.com/labelzoom/labelzoom-sdk-php) is a read-only
mirror of the PHP SDK, published because Packagist reads `composer.json` from a repository
root. File issues and PRs against
[labelzoom-sdk](https://github.com/labelzoom/labelzoom-sdk), not the mirror.

## Integrations

| | |
|---|---|
| [labelzoom-mcp](https://github.com/labelzoom/labelzoom-mcp) | An [MCP](https://modelcontextprotocol.io) server that lets an AI assistant convert a label and **render it to an image and look at it** — so it can check that ZPL produces the label you meant instead of reasoning about the source blind |
| [labelzoom-n8n-node](https://github.com/labelzoom/labelzoom-n8n-node) | [n8n](https://n8n.io) community node — convert labels between formats inside a workflow |

Both are on `0.1.0` and not yet published to npm; build them from source for now.

## Scripts and utilities

| | |
|---|---|
| [labelzoom-api](https://github.com/labelzoom/labelzoom-api) | The label data model and the `LabelReader` / `LabelWriter` contracts every format adapter implements |
| [labelzoom-sdk](https://github.com/labelzoom/labelzoom-sdk) | Client SDK for the LabelZoom conversion API |
| [python-zpl-utils](https://github.com/labelzoom/python-zpl-utils) | Standalone Python scripts: PDF→ZPL, PNG→ZPL, and send-ZPL-to-a-printer |
| [groovy-zpl-utils](https://github.com/labelzoom/groovy-zpl-utils) | The same idea in Groovy: PNG→ZPL and send-ZPL-to-a-printer. No dependencies |

Both are copy-and-run scripts rather than published packages — useful when you want one
conversion and not a dependency.

## MOCA clients

Clients for MOCA, the query language and server protocol used by Blue Yonder (formerly JDA
/ RedPrairie) warehouse management systems. Sponsored by LabelZoom, BSD-3-Clause, and
independent of the label platform.

| | |
|---|---|
| [labelzoom-moca-client-java](https://github.com/labelzoom/labelzoom-moca-client-java) | `com.labelzoom:labelzoom-moca-client-java` — published to GitHub Packages |
| [labelzoom-moca-client-dotnet](https://github.com/labelzoom/labelzoom-moca-client-dotnet) | [`LabelZoom.MocaClient`](https://www.nuget.org/packages/LabelZoom.MocaClient) on NuGet (`netstandard2.0`) |

## Org configuration

[**.github**](https://github.com/labelzoom/.github) holds the reusable GitHub Actions
workflows every LabelZoom repo's CI calls, the workflow templates, and the community
health files that inherit org-wide — including this page. Consumers pin `@v1`, a moving
tag advanced only by an explicit release step.

## Docs and API

- **Documentation:** [docs.labelzoom.com](https://docs.labelzoom.com)
- **API:** [labelzoom.com/api](https://www.labelzoom.com/api)
- **Try it in the browser:** [web app](https://www.labelzoom.com/app/) ·
[label designer](https://www.labelzoom.com/designer)

## Security

Expand Down