Vatly
Python Fluent

Move from JS or PHP

Python Fluent keeps the same billing concepts, with snake_case methods and async I/O.

Python Fluent keeps the same billing concepts, with snake_case methods and async I/O. Compose an existing AsyncVatlyClient; no framework container is installed.

ConceptPython
Checkout buildervatly.checkout_builder().with_items(...).create()
Subscription checkoutvatly.subscribe().to_plan(...).create()
Billable/entityHost-authorized EntityRef(kind, id)
Customer handlevatly.customer(id); await cache/network accessors
Subscription handlevatly.subscription(LocalSubscription(...))
Resource fieldsPydantic snake_case attributes; wire-key dictionaries for overrides
StorageAsync Protocol implementations supplied by the host

Inspect a checkout before sending it

from vatly_fluent import Vatly


def example(vatly: Vatly):
    builder = vatly.subscribe().to_plan("subscription_plan_example").with_quantity(2)
    return builder.payload()

payload() is a detached dictionary and makes no network request. Use the same builder with await builder.create() to send it. PHP/JS method names are not aliases in Python. Cancellation returns no resource; resume refreshes a handle.

See Core concepts before porting a storage driver and Subscriptions for the initial-linkage/expiry limitations. PORTING.md records upstream source revisions and deliberate API differences. API reference defines wire fields.

Copyright © 2026