Registry / payments / paddle-python-sdk

paddle-python-sdk

JSON →
library1.15.0pypypi✓ verified 25d ago

Official Python SDK for Paddle Billing (the new Paddle platform). PyPI package is paddle-python-sdk, imports as paddle_billing. Requires Python >=3.11. Note: there are two Paddle platforms — Paddle Classic (legacy) and Paddle Billing (current). This SDK is Paddle Billing only.

pip install paddle-python-sdk
INSTALL
IMPORT
SIG · PADDLE-PYTHON-SDK
P
paddle-python-sdk
paymentspythonv1.15.0
Install
2.6s avg
Import
1508ms
Disk
27MB
Pass rate
6/ 10
Env Coverage6 / 10
glibc
3.93.13
musl
3.93.13
Install & Compatibility
Where this runs
tested against v1.15.0 · pip install
no network on importno background threads
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
glibc
py 3.10
✕ build_error
✕ build_error
py 3.11
✓ —
✓ 2.8s
py 3.12
✓ —
✓ 2.6s
py 3.13
✓ —
✓ 2.5s
py 3.9
✕ build_error
✕ build_error
27MB installed
● package 27MB
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

Client
from paddle_billing import Client paddle = Client('PADDLE_API_SECRET_KEY')
import paddle paddle.Client('...')
Package is paddle-python-sdk, module is paddle_billing. There is no 'paddle' importable module from this package.
Sandbox environment
from paddle_billing import Client, Environment, Options paddle = Client('PADDLE_API_SECRET_KEY', options=Options(Environment.SANDBOX))
paddle = Client('PADDLE_API_SECRET_KEY', sandbox=True)
Sandbox is passed via Options(Environment.SANDBOX), not a boolean flag. Sandbox API keys are separate from live keys.

Paddle Billing SDK. Import module is paddle_billing, not paddle.

from paddle_billing import Client paddle = Client('PADDLE_API_SECRET_KEY') # List products products = paddle.products.list() for product in products: print(f'{product.id}: {product.name}') # Verify webhook signature from paddle_billing.Notifications import Secret, Verifier integrity_check = Verifier().verify(request, Secret('WEBHOOK_SECRET_KEY'))
Debug
Known issues
breakingPaddle Classic (old platform) and Paddle Billing (new platform) are entirely different APIs with different SDKs. This SDK (paddle-python-sdk) is Paddle Billing only. If your account is on Paddle Classic, this SDK will not work.
fix
Check your Paddle dashboard. Paddle Classic shows 'Paddle Classic' branding. Billing uses api.paddle.com endpoints. Classic uses vendors.paddle.com. There is no official Python SDK for Paddle Classic — use requests against the REST API directly.
affects: all
breakingRequires Python >=3.11. Installing on Python 3.10 or lower will fail at install time or raise a RuntimeError.
fix
Upgrade to Python 3.11+.
affects: all
gotchaPackage name is paddle-python-sdk but import module is paddle_billing. 'import paddle' or 'from paddle import ...' will fail — 'paddle' is not the module name.
fix
from paddle_billing import Client
affects: all
gotchaSandbox and live API keys are separate credentials. Using a live key against the sandbox environment (or vice versa) returns 401 or unexpected data.
fix
Generate separate API keys in your Paddle Sandbox account and your live account.
affects: all
gotchaPaddle Billing list() methods return iterators, not lists. Code that indexes the result directly (products[0]) raises TypeError.
fix
Iterate with for product in paddle.products.list() or convert with list(paddle.products.list()).
affects: all
Errors
Common errors & fixes
ModuleNotFoundError: No module named 'paddle_billing'
The `paddle-python-sdk` package is not installed in your Python environment or the import statement is incorrect.
fix
Install the SDK using `pip install paddle-python-sdk`. Ensure your import statements correctly reference `paddle_billing`, e.g., `from paddle_billing import Client`.
AuthenticationError
The API key provided is either missing, incorrect, or does not have the necessary permissions to perform the requested operation.
fix
Verify your Paddle Billing API key is correct and has the required permissions. Ensure it's passed correctly when initializing the SDK client.
TypeError: Client.__init__ missing 1 required positional argument: 'api_key'
The `Client` class was instantiated without providing the mandatory `api_key` argument.
fix
Initialize the `Client` with your API key, for example: `from paddle_billing import Client; client = Client(api_key='YOUR_API_KEY')`.
Upgrade
Version history
1.15.0latest on PyPI · released Jul 28, 2026
Audit
Dependencies
httpxrequiredHTTP client used internally.
Agent activity
36 hits · last 30 days
node
32
OpenAI (training)
1
Resources
paddle-python-sdk — pip install paddle-python-sdk · libregistry