{"id":22785915,"url":"https://github.com/simonwaldherr/ups","last_synced_at":"2025-06-15T00:07:34.795Z","repository":{"id":48416707,"uuid":"153938980","full_name":"SimonWaldherr/ups","owner":"SimonWaldherr","description":"Uncommon Printing System","archived":false,"fork":false,"pushed_at":"2025-04-27T13:43:38.000Z","size":26,"stargazers_count":28,"open_issues_count":1,"forks_count":7,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-06-15T00:07:34.132Z","etag":null,"topics":["go","golang","hacktoberfest-accepted","labeling-tool","print","printer","printing","xml","zpl","zpl-programming-language"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SimonWaldherr.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2018-10-20T19:05:51.000Z","updated_at":"2025-06-09T05:18:14.000Z","dependencies_parsed_at":"2025-06-02T22:47:29.702Z","dependency_job_id":null,"html_url":"https://github.com/SimonWaldherr/ups","commit_stats":{"total_commits":17,"total_committers":3,"mean_commits":5.666666666666667,"dds":"0.17647058823529416","last_synced_commit":"dfb3e2913740f310488550a9143c4870c1eb0983"},"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"purl":"pkg:github/SimonWaldherr/ups","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SimonWaldherr%2Fups","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SimonWaldherr%2Fups/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SimonWaldherr%2Fups/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SimonWaldherr%2Fups/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SimonWaldherr","download_url":"https://codeload.github.com/SimonWaldherr/ups/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SimonWaldherr%2Fups/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259901381,"owners_count":22929224,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["go","golang","hacktoberfest-accepted","labeling-tool","print","printer","printing","xml","zpl","zpl-programming-language"],"created_at":"2024-12-11T23:08:25.790Z","updated_at":"2025-06-15T00:07:34.786Z","avatar_url":"https://github.com/SimonWaldherr.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# UPS - Uncommon Printing System\n\n*a simple printing system for labels*  \n\n[![DOI](https://zenodo.org/badge/153938980.svg)](https://doi.org/10.5281/zenodo.15291217) \n[![GoDoc](https://godoc.org/github.com/SimonWaldherr/ups?status.svg)](https://godoc.org/github.com/SimonWaldherr/ups)  \n\nI wrote the [Uncommon Printing System](https://simonwaldherr.de/go/ups) a long time ago to replace a proprietary printing system called NiceWatch by [NiceLabel](https://www.nicelabel.com). \nDon't get me wrong, [Nice Label Designer](https://www.nicelabel.com/design-and-print) is still the best WYSIWYG Label Editor on Earth, but NiceWatch is slow and unstable. \nThe UPS is programmed to support Label Templates designed with NiceLabel Designer and print them on ZPL compatible printers. \n\nThis repository contains a refactored version of **UPS**. It only contains general purpose features, features like:\n\n* handling invalid XML-Files from SAP systems\n* reload missing data in XML-Files from SAP systems\n* save log-data to a BI (business intelligence) system\n* transfer material master data to a sub-system\n* load printer data from a SAP database table\n\nare not included.\n\nI use UPS in a customized version to print up to 10000 labels daily.\nUPS can also do a lot more with ease, but in the current case of application it is not needed.\nYou can even run UPS on a Raspberry Pi.\n\nCurrently I only print on Zebra ZM400, Zebra ZT410, Zebra QL 420 (plus) and Zebra QLn 420, but I plan to extend the UPS to support non ZPL printers as well.\n\n## Test it\n\nto test the application you can simply follow these steps:\n\n1. ```go get simonwaldherr.de/go/ups/cmd/ups```\n1. ```ups \u0026```\n1. ```nc -l 9100 \u003e zpl \u0026```\n1. ```cat xmlreq.xml | nc localhost 30000```\n1. ```kill -9 $(pidof ups)```\n\n## Why\n\nWhy what? Why I wrote the application? Because I did not want to bother anymore with an unstable proprietary software! \nI wasted several hours a week managing the NiceWatch system and keeping it running. \nI had much better things to do and that's why I wrote UPS.  \n\nWhy I made some choices the way I made them? Mostly there is also a reasonable cause - you want an example? \nThere is a function called ```cdatafy``` which adds ```CDATA```-sections to the XML-string. \nYou may ask why on earth someone would need such a function. \nBecause many SAP developers don't know anything about XML in general and XML marshalling in specific, \nso they just concatenate strings and as result they create invalid XMLs. \nIt seems like the favorite word of most SAP consultants is standard, \nbut when it comes to actual W3C, WHATWG, IETF, ISO, … standards, they do not care.\n\n## But\n\nIf you only need a tool to print images on a Label-printer you can use this tool:  \n[![SimonWaldherr/zplgfa - GitHub](https://gh-card.dev/repos/SimonWaldherr/zplgfa.svg?fullname)](https://github.com/SimonWaldherr/zplgfa)  \n\n\n## License\n\n[MIT](https://github.com/SimonWaldherr/ups/blob/master/LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsimonwaldherr%2Fups","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsimonwaldherr%2Fups","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsimonwaldherr%2Fups/lists"}