SubscriptionKore
Provider-agnostic async subscription management library for SaaS applications
Features
- Multi-provider support: Stripe, Paddle, Chargebee, Lemon Squeezy
- Async-first: Built with asyncio for high performance
- Type-safe: Full type hints and Pydantic models
- Database agnostic: Works with SQLAlchemy, Redis, and more
- Event-driven: Domain events for extensibility
- FastAPI integration: Ready-to-use FastAPI routers
Installation
pip install subscriptionkore
For optional dependencies:
pip install subscriptionkore[all] # All providers and integrations
Quick Start
from subscriptionkore import SubscriptionKore, SubscriptionKoreConfig
# Configure
config = SubscriptionKoreConfig(
default_provider="stripe",
stripe_api_key="sk_test_...",
)
# Initialize
async with SubscriptionKore(config) as sk:
# Create customer
customer = await sk.create_customer(
email="user@example.com",
name="John Doe"
)
# Create subscription
subscription = await sk.create_subscription(
customer_id=customer.id,
price_id="price_123"
)
print(f"Created subscription: {subscription.id}")
Documentation
Full documentation is available at Read the Docs.
Examples
See the examples/ directory for complete applications:
fastapi_app.py: FastAPI integration examplemulti_provider_app.py: Multi-provider setup
Contributing
Contributions are welcome! Please see the contributing guide.
License
MIT License
Metadata
Release files for subscriptionkore 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| subscriptionkore-0.1.0.tar.gz | 8.5 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| subscriptionkore-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 8.5 MB
Release files / subscriptionkore-0.1.0.tar.gz
| Download URL | subscriptionkore-0.1.0.tar.gz |
|---|---|
| Size | 8.5 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b77d49e98564bee399db99b73ae32cefdc1684ca1bbc2af2f90044e1958fa6d1
|
|
BLAKE2b-256 checksum How to use checksums |
ff15ced17281f5b1b6079e431861a093c9e046c79e6e5b75914e334be40b1a38
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.0.1 CPython/3.12.2
|
Release files / subscriptionkore-0.1.0-py3-none-any.whl
| Download URL | subscriptionkore-0.1.0-py3-none-any.whl |
|---|---|
| Size | 88.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
2acbd0a75d2138a6442e1b596a640ac381f22b40580d4c1868a46c74e454b725
|
|
BLAKE2b-256 checksum How to use checksums |
e1a9f13bb86c6fdf9307123740d2e13acdac0841f3cd44b4c28aa8c84334938a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.0.1 CPython/3.12.2
|