Offline zuerst
Die Referenztabellen und der TigerTag+-Katalog (etwa 1 MB) sind im Paket enthalten. offline=True oder TIGERTAG_OFFLINE=1 schaltet jeden Netzwerkzugriff ab.
Open-Source-SDK · TigerTag-Protokoll v2.2
Das Paket tigertag macht aus den 144 Bytes eines TigerTag-Chips Material, Farben, Temperaturen und Menge, prüft seine ECDSA-P256-Signatur und erstellt neue Tags. Die Referenzdaten sind im Paket enthalten, daher funktioniert es direkt nach pip install offline.
$ 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 dictAlles, was die README beschreibt, in einem Paket, das offline funktioniert.
Die Referenztabellen und der TigerTag+-Katalog (etwa 1 MB) sind im Paket enthalten. offline=True oder TIGERTAG_OFFLINE=1 schaltet jeden Netzwerkzugriff ab.
ECDSA-P256, vollständig offline, mit dem öffentlichen Schlüssel aus der mitgelieferten id_version.json. Installieren Sie tigertag[verify] für das Paket cryptography.
TigerTag.create() baut ein Tag von Grund auf, patch() gibt ein neues Tag mit geänderten Feldern zurück, erase() liefert die 80 Null-Bytes zum Löschen eines Chips.
TigerTag.from_catalog() macht aus einer TigerTag+-Produkt-ID ein vollständiges, schreibfertiges Tag aus dem offiziellen Katalog. catalog_entry() liefert Titel, Marke, SKU und Foto.
Die erste TigerTagDB eines Prozesses sucht höchstens einmal täglich nach neuen Daten und wirft nie einen Fehler: bei jedem Problem werden die lokalen Daten genutzt.
from_pages(uid, payload) nimmt, was Android, iOS, Flutter und nfcpy liefern. Die README enthält ein vollständiges Beispiel für ein ACR122U-Lesegerät mit nfcpy.
Ein signierter TigerTag trägt eine ECDSA-P256-Signatur, die die Chip-UID an die Produktdaten bindet. Das SDK prüft sie ohne Serveraufruf. tag.verify() liefert ein SignatureResult: ok ist nur bei gültiger Signatur True, status nennt sonst den Grund (keine Signatur, cryptography fehlt, kein öffentlicher Schlüssel, keine UID).

from_pages() nimmt 144 Bytes (Seiten 0x04 bis 0x27, Daten und Signatur) oder 80 Bytes (nur Daten). from_dump() akzeptiert auch einen vollständigen 180-Byte-Dump und entnimmt ihm die UID.

Der Befehl tigertag liest einen Chip-Dump, gibt ihn als Text, JSON oder Rohfelder aus und aktualisiert die Referenzdaten. parse_tigertag.py ist eine vollständige, eigenständige Kopie des SDK für Projekte ohne zusätzliche Abhängigkeit: Datei hineinlegen und TigerTag daraus importieren.
Ein Python-Paket, tigertag auf PyPI, das TigerTag-NFC-Chips für 3D-Druck-Filament und -Harz liest, prüft, erstellt und ändert. Es ist Open Source unter der Apache-Lizenz 2.0 und implementiert das TigerTag-Protokoll v2.2.
Führen Sie pip install tigertag mit Python 3.8 oder neuer aus. tigertag[verify] fügt die Signaturprüfung hinzu, tigertag[full] alle optionalen Abhängigkeiten, tigertag[nfc] PC/SC-Lesegeräte für den Playground.
Nein. Die Referenzdaten sind im Paket enthalten, Lesen und Prüfen funktionieren offline. Seit Version 1.3.0 sucht das SDK höchstens einmal täglich nach neuen Referenzdaten; offline=True, TIGERTAG_OFFLINE=1 oder auto_update=False schaltet das ab.
NTAG213, NTAG215 und NTAG216 sowie jeden ISO-14443-3-kompatiblen Chip. TigerTag- und TigerTag+-Chips liest es auf dieselbe Weise, ebenso leere Chips, die zur Programmierung bereit sind.
tag.verify() prüft die ECDSA-P256-Signatur des Chips, die seine UID an die Produktdaten bindet, mit dem im Paket enthaltenen öffentlichen Schlüssel und ohne Serveraufruf. Dafür wird die UID gebraucht: Lesen Sie den Chip mit from_pages(uid, payload).
pip install tigertag, dann TigerTag.from_pages(uid, payload).
tigertag auf PyPI