Skip to main content

Python SDK for Signety supply chain tracking and product authentication

Project description

Signety Python SDK

Python SDK for Signety supply chain tracking and product authentication.

Installation

pip install signety

Quick Start

from signety import Signety

client = Signety(api_key="sk_live_your_key_here")

# Record a supply chain event
result = client.events.create(
    unit_serial="A7K3M9P2Q5W8",
    event_type="SHIP",
    from_location="MUM-WH-1",
    to_location="DEL-DC-2",
)

if result.success:
    print("Event recorded:", result.data)
elif result.queued:
    print("API unavailable — event queued for retry")
else:
    print("Error:", result.error)

Features

  • Supply chain events: Record MANUFACTURE, PACK, SHIP, RECEIVE, DELIVER, RETURN events
  • Unit tracking: Look up units by serial number, get full supply chain timeline
  • Order sync: Sync external orders for scan-to-bind packing
  • Inventory: Query stock levels per location per SKU
  • Shipments: Create and track shipments between locations
  • Webhooks: Register endpoints to receive event notifications
  • Local retry queue: Failed API calls are queued locally and retried automatically
  • Kill switch: Signety(enabled=False) disables all network calls instantly
  • Async support: AsyncSignety for async/await usage

Authentication

Generate an API key in the Signety enterprise dashboard (Supply Chain > API Keys).

client = Signety(api_key="sk_live_...")

Error Handling

All methods return Result objects — they never raise exceptions.

result = client.events.create(...)

if result.success:
    event = result.data
elif result.queued:
    print("Queued for retry")
else:
    print(f"Error: {result.error}")

Webhook Verification

is_valid = Signety.verify_webhook_signature(
    payload=request.body,
    signature=request.headers["X-Signety-Signature"],
    secret="whsec_your_secret",
)

Retry Queue

Failed calls are automatically saved to ~/.signety/queue/ and retried on the next successful call (piggyback flush). You can also flush manually:

flushed, failed = client.flush()

Or via CLI:

signety flush --api-key sk_live_...

Requirements

  • Python 3.9+
  • httpx >= 0.25.0
  • pydantic >= 2.0.0

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

signety-1.0.0.tar.gz (11.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

signety-1.0.0-py3-none-any.whl (15.3 kB view details)

Uploaded Python 3

File details

Details for the file signety-1.0.0.tar.gz.

File metadata

  • Download URL: signety-1.0.0.tar.gz
  • Upload date:
  • Size: 11.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for signety-1.0.0.tar.gz
Algorithm Hash digest
SHA256 af3baca0e936944318262389eeca303087d90fd3ac584e65669144b3313030bc
MD5 9e5dafeb058cb9cd36d41c515f6d875c
BLAKE2b-256 b88293b559d107710f1c740d27f9c8749dc46744ed9c2142faa6d3bf14e1f2b9

See more details on using hashes here.

Provenance

The following attestation bundles were made for signety-1.0.0.tar.gz:

Publisher: release.yml on signety/signety-python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file signety-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: signety-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 15.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for signety-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 dbbf246d1fdc9aed480e97a86b71a470956688ea8e266efacf249dff0098a345
MD5 07153810583cab7690187761b743ce1e
BLAKE2b-256 3c20b529b07f113c9d48516cd9a6b38fc7d61c35ee512698230a4fbfc2919567

See more details on using hashes here.

Provenance

The following attestation bundles were made for signety-1.0.0-py3-none-any.whl:

Publisher: release.yml on signety/signety-python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page