Skip to main content

dmgen для Python

pip install libscanner-dmgen

Пакет импортируется как dmgen. Платформы: Windows x64, Linux x86-64, ARM64 и ARMv7 (glibc 2.36 и новее: Debian 12, Ubuntu 23.04+, Raspberry Pi OS Bookworm).

English. A DataMatrix ECC 200 generator for Python with GS1 and Chestny Znak (Russian product marking) validation: PNG/JPEG output, module matrix, readable error reports. Install with pip install libscanner-dmgen, import as dmgen. 30-day free trial, then a license from https://libscanner.com/en/. Create a DataMatrix code online: https://libscanner.com/en/generate/

Создать DataMatrix онлайн, без установки: https://libscanner.com/generate/

Обёртка на ctypes над плоским C ABI библиотеки dmgen (dmgen_c.dll / libdmgen_c.so). Компилируемого расширения нет: одно колесо на платформу работает с любым Python 3.8+.

Колесо поставки (раздел «Загрузки» личного кабинета) несёт и собранную утилиту-оболочку: после pip install libscanner-dmgen в окружении есть команда dmgen (и python -m dmgen) — dmgen "текст" -o код.png, dmgen --license status. Файл ключа dmgen.key — в dmgen/_lib/, общий для утилиты и библиотеки.

import dmgen

png = dmgen.make_image("0104601234567893215Abc12Xyz!-\x1d93dGVz", gs1="cz")
dmgen.save("(01)04601234567893(21)5Abc12Xyz!-(93)dGVz", "code.png", gs1="cz", module_px=10)
jpg = dmgen.make_image("Hello", fmt="jpeg", quality=100, side=26)

rep = dmgen.validate_gs1("(01)04601234567894(21)ABC")
rep.ok          # False
rep.issues[0]   # Issue(code=…, warning=False, message='AI (01) GTIN: контрольная цифра 4, должна быть 3', …)

dmgen.encode_matrix("ABC")   # [[1, 0, 1, …], …] — 1 тёмный модуль
dmgen.SIZES                  # (10, 12, 14, …, 144)

Строка str кодируется в байты UTF-8; bytes передаются как есть. Ошибки — исключения dmgen.Gs1Error (с отчётом .report), dmgen.EncodeError, dmgen.UnlicensedError (нет ни пробного периода, ни лицензии), dmgen.DmgenError (общий предок).

Лицензия — dmgen.license: status(), activate(key), refresh(), deactivate(), write_activation_request(path), import_license_file(path), fingerprint(); ответы — dict из того же JSON, что у dmgen --license ... --json. Проще всего положить файл dmgen.key с ключом рядом с dmgen_c.dll / libdmgen_c.so в пакете (dmgen/_lib/): библиотека активирует его сама.

Библиотека грузится только из dmgen/_lib/ пакета. Переменная DMGEN_LIB (абсолютный путь) — для пакета из исходников, где _lib пуст, и колесо не переопределяет; системный поиск (PATH, каталоги библиотек) не используется.

Документация и лицензия

Документация: https://libscanner.com/docs/datamatrix-generator/?lang=python

Пробный период — 30 дней с первого запуска на машине, без регистрации и без сети. Без интернета: личный кабинет https://libscanner.com → Лицензии → «Активация без интернета».

Metadata

Release files for libscanner-dmgen 1.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distributions (wheels)

Table of built distributions (wheels) for libscanner-dmgen 1.0.1
File
libscanner_dmgen-1.0.1-py3-none-win_amd64.whl Python 3 none Windows x86-64 Details
libscanner_dmgen-1.0.1-py3-none-manylinux_2_36_x86_64.whl Python 3 none Linux glibc 2.36+ x86-64 Details
libscanner_dmgen-1.0.1-py3-none-manylinux_2_36_armv7l.whl Python 3 none Linux glibc 2.36+ ARMv7l Details
libscanner_dmgen-1.0.1-py3-none-manylinux_2_36_aarch64.whl Python 3 none Linux glibc 2.36+ ARM64 Details

Total release size: 5.4 MB

Release files / libscanner_dmgen-1.0.1-py3-none-win_amd64.whl

Download URL libscanner_dmgen-1.0.1-py3-none-win_amd64.whl
Size 1.9 MB
Tags Python 3 Windows x86-64
SHA-256 checksum
How to use checksums
2cbf087cc60027cdfbfb61f51740b7ab46d7b4eeda9f5d04753b002ce7e65d85
BLAKE2b-256 checksum
How to use checksums
edd0767894831f7ce05b462b48dc553f3d6949bfff416a09240b96fb55ff66c6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.5

Release files / libscanner_dmgen-1.0.1-py3-none-manylinux_2_36_x86_64.whl

Download URL libscanner_dmgen-1.0.1-py3-none-manylinux_2_36_x86_64.whl
Size 1.3 MB
Tags Linux glibc 2.36+ x86-64 Python 3
SHA-256 checksum
How to use checksums
6c17a249f0a4ad940ae02f7ea2a629d207c649c212dc31787872a3462cc0a137
BLAKE2b-256 checksum
How to use checksums
f6396efb7b171bb535c64aa068362ae66133fc3a42ecd67a86da1cca7401b1c1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.5

Release files / libscanner_dmgen-1.0.1-py3-none-manylinux_2_36_armv7l.whl

Download URL libscanner_dmgen-1.0.1-py3-none-manylinux_2_36_armv7l.whl
Size 1.0 MB
Tags Linux glibc 2.36+ ARMv7l Python 3
SHA-256 checksum
How to use checksums
27eafbbdf300888768f1538ed1d09ad3d8313361ce381a4b0af13b29cf441262
BLAKE2b-256 checksum
How to use checksums
0c2e04e038029063edf449d9ac2c1d3b22b0f0c9fca3ceca59eb1f5e5edff221
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.5

Release files / libscanner_dmgen-1.0.1-py3-none-manylinux_2_36_aarch64.whl

Download URL libscanner_dmgen-1.0.1-py3-none-manylinux_2_36_aarch64.whl
Size 1.2 MB
Tags Linux glibc 2.36+ ARM64 Python 3
SHA-256 checksum
How to use checksums
10a172e14bd8a09e53a582734e983f03eb68274e0153b1242ca8a1c4d21924af
BLAKE2b-256 checksum
How to use checksums
cbbe0c17bf068eb1c476ce15ef3a5bad4144acd57f1ebcb566f56814e460653f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.5

Release history Release notifications | RSS feed

This release

1.0.1 This release

4 release files

1.0.0

4 release files

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