{"library":"recurly","title":"Recurly Python Client","description":"The `recurly` library is the official Python client for Recurly's V3 API, enabling developers to integrate subscription billing and management into their applications. It provides functionalities for managing accounts, subscriptions, invoices, and transactions. The library is actively maintained with frequent minor version releases, often driven by updates to the underlying Recurly API schema, and the current stable version is 4.70.0.","language":"python","status":"active","last_verified":"Sun May 17","install":{"commands":["pip install recurly"],"cli":null},"imports":["import recurly\nclient = recurly.Client(api_key='YOUR_API_KEY')","from recurly import ApiError","from recurly import NetworkError"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"import os\nimport recurly\n\n# It's highly recommended to store your API key as an environment variable.\nRECURLY_API_KEY = os.environ.get('RECURLY_API_KEY', 'YOUR_PRIVATE_API_KEY')\n\n# Initialize the Recurly client\n# For EU region, use: client = recurly.Client(RECURLY_API_KEY, region='eu')\nclient = recurly.Client(RECURLY_API_KEY)\n\n# Example: Fetch an account by its code\ntry:\n    # Note: Use 'code-' prefix for account codes, if applicable, based on your Recurly setup.\n    account_code = 'code-example-account-123'\n    account = client.get_account(account_code=account_code)\n    print(f\"Successfully retrieved account: {account.id} (Code: {account.code}, Email: {account.email})\")\n\n    # Example: List recent invoices for the account\n    print(f\"\\nRecent invoices for account {account.code}:\")\n    for invoice in client.list_account_invoices(account_id=account.id).items():\n        print(f\"  Invoice {invoice.id}: State={invoice.state}, Total={invoice.total}\")\n\nexcept recurly.ApiError as e:\n    print(f\"Recurly API Error: {e.message}\")\n    if e.error_code:\n        print(f\"  Error Code: {e.error_code}, Details: {e.details}\")\nexcept recurly.NetworkError as e:\n    print(f\"Recurly Network Error: {e.message}\")\nexcept Exception as e:\n    print(f\"An unexpected error occurred: {e}\")\n","lang":"python","description":"This quickstart demonstrates how to initialize the Recurly client using an API key and perform a basic API call to retrieve an account and list its invoices. Ensure `RECURLY_API_KEY` is set as an environment variable or replaced with your actual private API key. Remember to handle `recurly.ApiError` for API-specific responses and `recurly.NetworkError` for connectivity issues.","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":{"tag":null,"tag_description":null,"last_tested":"2026-05-17","installed_version":"4.70.0","pypi_latest":"4.70.0","is_stale":false,"summary":{"python_range":"3.10–3.9","success_rate":100,"avg_install_s":1.6,"avg_import_s":0.19,"wheel_type":"wheel"},"results":[{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"recurly","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.16,"mem_mb":10.6,"disk_size":"18.7M"},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"recurly","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":1.6,"import_time_s":0.12,"mem_mb":10.6,"disk_size":"19M"},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"recurly","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.25,"mem_mb":10.9,"disk_size":"20.5M"},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"recurly","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":1.6,"import_time_s":0.22,"mem_mb":10.9,"disk_size":"21M"},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"recurly","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.23,"mem_mb":11.1,"disk_size":"12.4M"},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"recurly","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":1.4,"import_time_s":0.22,"mem_mb":11.1,"disk_size":"13M"},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"recurly","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.21,"mem_mb":10.5,"disk_size":"12.1M"},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"recurly","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":1.5,"import_time_s":0.21,"mem_mb":10.3,"disk_size":"13M"},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"recurly","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.17,"mem_mb":10.4,"disk_size":"18.2M"},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"recurly","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":1.8,"import_time_s":0.14,"mem_mb":10.4,"disk_size":"19M"}]}}