Skip to main content

Python Client SDK Generated by Speakeasy.

Project description

FlexPrice Python SDK

Type-safe Python client for the FlexPrice API: billing, metering, and subscription management for SaaS and usage-based products.

Requirements

  • Python 3.10+

Installation

pip install flexprice-py

With uv or poetry:

uv add flexprice-py
# or
poetry add flexprice-py

Quick start

Initialize the client with your server URL and API key, then ingest an event:

from flexprice_py import Flexprice

with Flexprice(
    server_url="https://api.cloud.flexprice.io",
    api_key_auth="YOUR_API_KEY",
) as flexprice:
    # Ingest an event
    result = flexprice.events.ingest_event(
        request={
            "event_name": "Sample Event",
            "external_customer_id": "customer-123",
            "properties": {"source": "python_app", "environment": "test"},
            "source": "python_app",
        }
    )
    print(result)

Async usage

The same client supports async when used as an async context manager:

import asyncio
from flexprice_py import Flexprice

async def main():
    async with Flexprice(
        server_url="https://api.cloud.flexprice.io",
        api_key_auth="YOUR_API_KEY",
    ) as flexprice:
        result = await flexprice.events.ingest_event_async(
            request={
                "event_name": "Sample Event",
                "external_customer_id": "customer-123",
                "properties": {"source": "python_async", "environment": "test"},
                "source": "python_async",
            }
        )
        print(result)

asyncio.run(main())

Authentication

  • Pass your API key as api_key_auth when creating the client. The SDK sends it in the x-api-key header.
  • Prefer environment variables (e.g. FLEXPRICE_API_KEY) and load them in code; get keys from your FlexPrice dashboard or docs.

Features

  • Full API coverage (customers, plans, events, invoices, payments, entitlements, etc.)
  • Sync and async support
  • Type-safe request/response models (Pydantic)
  • Built-in retries and error handling

For a full list of operations, see the API reference or the generated docs/sdks/ in this repo.

Troubleshooting

  • Missing or invalid API key: Ensure api_key_auth is set (or set FLEXPRICE_API_KEY and pass it in). Keys are for server-side use only.
  • Wrong server URL: Use https://api.cloud.flexprice.io (no trailing slash). The SDK appends paths as needed.
  • 4xx/5xx on ingest: Event ingest returns 202 Accepted; for errors, check request fields (event_name, external_customer_id, properties, source) against the API docs.

Documentation

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

flexprice_py-0.0.46.tar.gz (222.0 kB view details)

Uploaded Source

Built Distribution

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

flexprice_py-0.0.46-py3-none-any.whl (527.8 kB view details)

Uploaded Python 3

File details

Details for the file flexprice_py-0.0.46.tar.gz.

File metadata

  • Download URL: flexprice_py-0.0.46.tar.gz
  • Upload date:
  • Size: 222.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.12

File hashes

Hashes for flexprice_py-0.0.46.tar.gz
Algorithm Hash digest
SHA256 a43a5d35d8a50767410a26bbf262c14e69573e1fdfa3d9e295f9b39898ade5c4
MD5 16cfb5fe2666eadf8a4197b7d9ef1a9c
BLAKE2b-256 96773a2a8c1bb5cd92cd567803f9bf22a2ba6488863d93f3ebb0af28730273a7

See more details on using hashes here.

File details

Details for the file flexprice_py-0.0.46-py3-none-any.whl.

File metadata

  • Download URL: flexprice_py-0.0.46-py3-none-any.whl
  • Upload date:
  • Size: 527.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.12

File hashes

Hashes for flexprice_py-0.0.46-py3-none-any.whl
Algorithm Hash digest
SHA256 a9e7b2bd0bce5e1e05e8130cb06d80bc61e0fd8f5c6048daf530f3f5214d697d
MD5 423a9d241620817bf3afc9de9a3c38b0
BLAKE2b-256 5aae27f1792936b6d21e924f1d86cd122209a86a2dfb4640619fca649ad121c7

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