Hyperrr Commerce Engine & Core Platform
Hyperrr is a declarative, runtime-discoverable, capability-driven domain composition engine for modern headless commerce, built on Python 3.12+, FastAPI, Async SQLAlchemy 2.0+, Pydantic v2, and the Universal TypeScript Client SDK (@hyperrr/sdk).
🌟 Architecture Highlights
1. Capability-Driven Decoupled Architecture
Hyperrr decouples core commerce business logic from third-party vendor APIs. The frontend and domain workflows interact exclusively with standard, vendor-agnostic capabilities:
payment.gateway(Fulfilled byrazorpay,stripe, etc.)tax.calculator(Fulfilled byindia_gst,avalara,taxjar, etc.)shipping.carrier(Fulfilled bydelhivery,fedex,shiprocket, etc.)auth.provider(Fulfilled bygoogle_auth,webauthn,otp, etc.)storage.driver(Fulfilled bys3_storage,gcs,minio, etc.)email.sender(Fulfilled bysmtp_email,resend,sendgrid, etc.)
Frontends remain 100% vendor-agnostic: Swapping payment or tax vendors requires 0 frontend code modifications.
2. Universal TypeScript Client SDK (@hyperrr/sdk)
A unified client library (packages/sdk/) for building modern Storefronts, Admin Panels, Mobile Apps, or Headless integrations (Next.js, Remix, React Native):
npm install @hyperrr/sdk
import { HyperrrClient } from "@hyperrr/sdk";
const hyperrr = new HyperrrClient({
baseUrl: "https://api.yourstore.com",
apiKey: "pk_live_...",
});
// Standard Commerce Primitives (Vendor-Agnostic)
const products = await hyperrr.catalog.listProducts();
const cart = await hyperrr.cart.create();
const tax = await hyperrr.tax.calculate({ destinationStateCode: "29", items: [...] });
const rates = await hyperrr.shipping.getRates({ postalCode: "560103" });
3. Dual-Package Standalone Extensions
Every extension is structured as a self-contained dual package ready to be extracted into standalone GitHub repositories:
- Python Backend: Published to PyPI (
hyperrr-razorpay,hyperrr-india-gst, etc.) and installed on the server withhyperrr add <name>. - TypeScript Client Plugin: Published to npm (
@hyperrr-extension/razorpay,@hyperrr-extension/india-gst, etc.) and chained intoHyperrrClientwith.use():
import { HyperrrClient } from "@hyperrr/sdk";
import { razorpayPlugin } from "@hyperrr-extension/razorpay";
import { indiaGstPlugin } from "@hyperrr-extension/india-gst";
const hyperrr = new HyperrrClient({ ... })
.use(razorpayPlugin())
.use(indiaGstPlugin());
// Typed extension-specific operations & settings
await hyperrr.indiaGst.generateEWayBill({ orderId: "ord_9204" });
await hyperrr.razorpay.updateSettings({ auto_capture: true });
🛠️ Developer CLI Commands
# Add/install a package from Git, ZIP, Marketplace, or Local directory
hyperrr add https://github.com/GoHyperrr/hyperrr-india-gst#v1.0.0
hyperrr add ./razorpay.zip
hyperrr add customer
# Display dependency graph & runtime status
hyperrr tree
hyperrr packages
# Manage runtime capability bindings
hyperrr enable razorpay
hyperrr disable stripe
# Run database schema migrations & health checks
hyperrr migrate --export
hyperrr health
# Launch HTTP ASGI server
hyperrr serve --host 127.0.0.1 --port 8000 --reload
📚 Documentation & Developer Guides
Detailed guides and architecture specifications:
- Developer & SDK Guide: Universal TypeScript SDK usage, client architecture, and CLI workflows.
- Package Development Guide: Creating core domain packages, objects, workflows, and routes.
- Provider & Extension Guide: Building standalone dual-package provider extensions with typed TypeScript plugins.
- Core Services Specification: Security guardrails, SSRF protection, AST scanners, and database transactions.
- Commerce API Specification: REST endpoints and schema definitions across catalog, checkout, orders, tax, and payments.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
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 hyperrr-0.1.0.tar.gz.
File metadata
- Download URL: hyperrr-0.1.0.tar.gz
- Upload date:
- Size: 699.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
uv/0.9.18 {"installer":{"name":"uv","version":"0.9.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6e8e1fa2a3a56a6cd3633bea60435c846fe35a0d3e4b10af9f20a5baf7dabb5e
|
|
| MD5 |
f72ed7607ce628d0b240ce09341980fd
|
|
| BLAKE2b-256 |
5d868c7014443dc406200174e6665cf0b0917c269c03babc93a94b6ea135713a
|
File details
Details for the file hyperrr-0.1.0-py3-none-any.whl.
File metadata
- Download URL: hyperrr-0.1.0-py3-none-any.whl
- Upload date:
- Size: 393.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
uv/0.9.18 {"installer":{"name":"uv","version":"0.9.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
43512ffebc270c7de958f860c3ce88ef75c8a130f1873d45618af95663c77d0f
|
|
| MD5 |
3c5c62e8163e5ebeedd3c96233d0e3c2
|
|
| BLAKE2b-256 |
a4f91e1a87232ba3c884414e99673ae1110308f4ff31854a975c7d7d0946c2ce
|