Skip to main content

Theatrical SDK for Python

Type-safe async-first Python client for cinema platform APIs. Part of the Theatrical polyglot SDK.

Install

pip install theatrical

Status

Alpha — all 8 resource modules implemented with full TS API parity. 332 pytest tests passing. mypy strict clean, ruff clean.

Requirements

  • Python 3.10+
  • httpx >= 0.27.0
  • pydantic >= 2.0.0

Quick Start

from theatrical import TheatricalClient, TheatricalConfig, TheatricalEnvironment

async with TheatricalClient(TheatricalConfig(
    api_key="your-api-key",
    environment=TheatricalEnvironment.SANDBOX,
)) as client:
    sessions = await client.sessions.list()

Mock Mode

client = TheatricalClient.create_mock()
# Returns pre-defined NZ cinema fixture data — no API key needed

Singleton Pattern

# At startup:
TheatricalClient.set_global(TheatricalConfig(api_key="key"))

# Anywhere:
client = TheatricalClient.global_instance()

Features

  • Async-first design with httpx and context manager support
  • pydantic v2 models with automatic camelCase alias support
  • 8 resource modules: sessions, sites, films, orders, loyalty, subscriptions, pricing, F&B
  • Typed error hierarchy: AuthenticationError, NotFoundError, RateLimitError, ValidationError
  • Mock mode with NZ cinema fixture data for offline development
  • PEP 561 compliant — ships py.typed for downstream type checking
  • 332 tests, mypy strict, ruff clean

Development

pip install -e ".[dev]"
make check  # runs typecheck, lint, test

Disclaimer

This project is an independent, open-source developer toolkit for cinema platform APIs. It is not affiliated with, endorsed by, or officially connected to Vista Group International Ltd or any of its subsidiaries. All product names, trademarks, and registered trademarks are property of their respective owners.

Metadata

Release files for theatrical 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for theatrical 0.1.0
File Size Uploaded Provenance Actions
theatrical-0.1.0.tar.gz 26.6 kB With provenance Details for theatrical-0.1.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for theatrical 0.1.0
File Interpreter ABI Platform Actions
theatrical-0.1.0-py3-none-any.whl Python 3 none any Details for theatrical-0.1.0-py3-none-any.whl

Total release size: 67.0 kB

Release files / theatrical-0.1.0.tar.gz

Download URL theatrical-0.1.0.tar.gz
Size 26.6 kB
Tags Source
SHA-256 checksum
How to use checksums
2cfc78b451147e9b3c78ad7c3d006a1e7f6f84aaecaed94d50db99174daf5893
BLAKE2b-256 checksum
How to use checksums
768c3780a9a785b9a0f13c35e06a0393bc1ad69e8ffc084dc8ab159aab69df78
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 1, 2026.

Transparency log

Release files / theatrical-0.1.0-py3-none-any.whl

Download URL theatrical-0.1.0-py3-none-any.whl
Size 40.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
49125c93c88c7a75e40468f82cc607fd3770971019d688aca2f7c808b9831fa6
BLAKE2b-256 checksum
How to use checksums
3fc14a9b3b04f60f8adbdcf44052b9534f83f4c42eedd3fa0a161c42a6bc5821
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 1, 2026.

Transparency log

Security for theatrical 0.1.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for theatrical-0.1.0.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 1, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files Full provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page