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
Release history Release notifications | RSS feed
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.14.tar.gz
(26.0 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file shadowob_sdk-1.1.14.tar.gz.
File metadata
- Download URL: shadowob_sdk-1.1.14.tar.gz
- Upload date:
- Size: 26.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8212fdd66e226b8cff65353cddfabfa640140a651ecae899644089491306cfd9
|
|
| MD5 |
f50fa9abda77950c31be8146233c244f
|
|
| BLAKE2b-256 |
5bf6ab54993f5502d0601b3f580edd4b11e018b5798d39c8f907fbe9cdb9ddb1
|
File details
Details for the file shadowob_sdk-1.1.14-py3-none-any.whl.
File metadata
- Download URL: shadowob_sdk-1.1.14-py3-none-any.whl
- Upload date:
- Size: 21.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ef621d0fb0b4f06277a85ab2ad65c5c1bc7004d7c94e827ecdfbc7612eff2f68
|
|
| MD5 |
a1353b5be6471c87cea2ceea2ba105bb
|
|
| BLAKE2b-256 |
eedf3201e8de0081993fe1c664ed9f7f802049dd532dfcdf44ba1b8dece4f290
|