Primero sin conexión
Las tablas de referencia y el catálogo TigerTag+ (alrededor de 1 MB) vienen dentro del paquete. offline=True o TIGERTAG_OFFLINE=1 desactiva cualquier acceso a la red.
SDK de código abierto · protocolo TigerTag v2.2
El paquete tigertag convierte los 144 bytes de un chip TigerTag en material, colores, temperaturas y cantidad, verifica su firma ECDSA-P256 y crea nuevas etiquetas. Los datos de referencia vienen dentro del paquete, así que funciona sin conexión justo después de pip install.
$ pip install tigertag
from tigertag import TigerTag
tag = TigerTag.from_pages(uid, payload) # from your NFC SDK
print(tag.pretty()) # human-readable summary
print(tag.verify()) # VALID / NOT SIGNED / INVALID
print(tag.to_dict()) # JSON-ready dictTodo lo que documenta el README, en un solo paquete que funciona sin conexión.
Las tablas de referencia y el catálogo TigerTag+ (alrededor de 1 MB) vienen dentro del paquete. offline=True o TIGERTAG_OFFLINE=1 desactiva cualquier acceso a la red.
ECDSA-P256, totalmente sin conexión, con la clave pública del id_version.json incluido. Instala tigertag[verify] para añadir el paquete cryptography.
TigerTag.create() crea una etiqueta desde cero, patch() devuelve una nueva con campos cambiados, erase() devuelve los 80 bytes a cero que borran un chip.
TigerTag.from_catalog() convierte un ID de producto TigerTag+ en una etiqueta completa lista para escribir, desde el catálogo oficial. catalog_entry() da su título, marca, SKU y foto.
El primer TigerTagDB de un proceso busca datos nuevos como mucho una vez al día y nunca lanza errores: ante cualquier fallo se usan los datos locales.
from_pages(uid, payload) acepta lo que devuelven Android, iOS, Flutter y nfcpy. El README incluye un ejemplo completo para un lector ACR122U con nfcpy.
Un TigerTag firmado lleva una firma ECDSA-P256 que vincula el UID del chip con los datos del producto. El SDK la comprueba sin llamar a ningún servidor. tag.verify() devuelve un SignatureResult: ok es True solo con una firma válida, y status indica el motivo en otro caso (sin firma, sin cryptography, sin clave pública, sin UID).

from_pages() acepta 144 bytes (páginas 0x04 a 0x27, datos y firma) u 80 bytes (solo datos). from_dump() también acepta un volcado completo de 180 bytes y extrae de él el UID.

El comando tigertag lee un volcado de chip, lo muestra como texto, JSON o campos en bruto y actualiza los datos de referencia. parse_tigertag.py es una copia completa e independiente del SDK para proyectos que no pueden añadir dependencias: copia el archivo e importa TigerTag desde él.
Un paquete de Python, tigertag en PyPI, que lee, verifica, crea y modifica chips NFC TigerTag de filamento y resina para impresión 3D. Es de código abierto bajo la licencia Apache 2.0 e implementa el protocolo TigerTag v2.2.
Ejecuta pip install tigertag con Python 3.8 o posterior. Añade tigertag[verify] para las firmas, tigertag[full] para todas las dependencias opcionales o tigertag[nfc] para los lectores PC/SC del playground.
No. Los datos de referencia vienen en el paquete, así que la lectura y la verificación funcionan sin conexión. Desde la versión 1.3.0 el SDK busca datos nuevos como mucho una vez al día; offline=True, TIGERTAG_OFFLINE=1 o auto_update=False lo desactiva.
NTAG213, NTAG215 y NTAG216, y cualquier chip compatible con ISO 14443-3. Lee de la misma forma los chips TigerTag y TigerTag+ y los chips vírgenes listos para programar.
tag.verify() comprueba la firma ECDSA-P256 del chip, que vincula su UID con los datos del producto, con la clave pública incluida en el paquete y sin llamar a un servidor. Necesita el UID: lee el chip con from_pages(uid, payload).
pip install tigertag y después TigerTag.from_pages(uid, payload).
tigertag en PyPI