Skip to main content

Shadow SDK — Python client for Shadow server REST API and Socket.IO real-time events

Project description

Shadow Python SDK

Python client for the Shadow server REST API and Socket.IO real-time events.

Installation

pip install shadowob-sdk

Quick Start

from shadowob_sdk import ShadowClient, ShadowSocket

# REST API
client = ShadowClient("https://shadowob.com", token="your-jwt-token")
me = client.get_me()
print(f"Logged in as {me['username']}")

# Send a message
msg = client.send_message("channel-id", "Hello from Python!")
print(f"Sent message: {msg['id']}")

# Real-time events
socket = ShadowSocket("https://shadowob.com", token="your-jwt-token")
socket.on("message:new", lambda msg: print(f"New message: {msg['content']}"))
socket.connect()
socket.join_channel("channel-id")
socket.wait()  # Block until disconnected

Commerce Automation

from shadowob_sdk import ShadowClient

client = ShadowClient("https://shadowob.com", token="your-jwt-token")

# Buyer-facing product context includes product, shop, provider, delivery, refund,
# credit, and asset homepage links.
context = client.get_commerce_product_context("product-id")

# Preview an offer, then purchase with an idempotency key.
preview = client.get_commerce_offer_checkout_preview("offer-id")
if preview["nextAction"] == "purchase":
    client.purchase_commerce_offer(
        "offer-id",
        idempotency_key="checkout-20260518-001",
    )

# External provider apps use an OAuth access token for app-scoped entitlements.
app_client = ShadowClient("https://shadowob.com", token="oauth-access-token")
access = app_client.get_oauth_commerce_entitlement_access(
    resource_id="oauth-app-id:premium",
)
if access["allowed"]:
    app_client.redeem_oauth_commerce_entitlement(
        resource_id="oauth-app-id:premium",
        idempotency_key="provider-delivery-001",
    )

API Reference

See the full documentation for complete API reference.

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

shadowob_sdk-1.1.5.tar.gz (23.4 kB view details)

Uploaded Source

Built Distribution

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

shadowob_sdk-1.1.5-py3-none-any.whl (19.8 kB view details)

Uploaded Python 3

File details

Details for the file shadowob_sdk-1.1.5.tar.gz.

File metadata

  • Download URL: shadowob_sdk-1.1.5.tar.gz
  • Upload date:
  • Size: 23.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.13

File hashes

Hashes for shadowob_sdk-1.1.5.tar.gz
Algorithm Hash digest
SHA256 416484695b4e588a0d9f02abbb91b75c1489616f45541f6a7579d82608c1602b
MD5 de10142ccaf8a6cdb70c9d652d7ae801
BLAKE2b-256 93b8feb0d1cc201559a72504f3cfb8367461488534cdc02dea233a2c44144cab

See more details on using hashes here.

File details

Details for the file shadowob_sdk-1.1.5-py3-none-any.whl.

File metadata

  • Download URL: shadowob_sdk-1.1.5-py3-none-any.whl
  • Upload date:
  • Size: 19.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.13

File hashes

Hashes for shadowob_sdk-1.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 f0511c30699e9a952650a037bd0be23bb7c34ecac5e9d8baa5331be6c5566b12
MD5 4163eceefeac5619f1f967b7903f891a
BLAKE2b-256 814e04cb7a64f6292bec09155b7c55dada66b55b85ec43007cdd3a0846a1687c

See more details on using hashes here.

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