Skip to main content

· xcover-python ·

Supported Versions codecov


xcover-python is a Python API Client for XCover.


Installation

xcover-python is available on PyPI. To install the latest version run:

pip install xcover-python

or

poetry install xcover-python

Features

  • Authentication
  • Simple configuration using env variables
  • (WIP) High-level API to perform partner operations on quotes and bookings

Configuration

Config object

The library provides XCoverConfig dataclass that can be used as shown:

from xcover import XCover, XCoverConfig

client = XCover(
    XCoverConfig( # minimal config, check autocomplete for more options
        base_url="https://api.xcover.com/xcover",
        partner_code="--PARTNER_CODE--",
        auth_api_key="--API_KEY--",
        auth_api_secret="--API_SECRET--",
    )
)

Env variables

Alternatively, it is possible to use env variables.

The full list of configuration options:

Environment Variable Config Property Description Default Value
XC_BASE_URL XCoverConfig.base_url XCover base URL (e.g. https://api.xcover.com/api/v2/) -
XC_PARTNER_CODE XCoverConfig.partner_code Partner code (e.g. LLODT) -
XC_HTTP_TIMEOUT XCoverConfig.http_timeout HTTP timeout in seconds 10
XC_AUTH_API_KEY XCoverConfig.auth_api_key API key to use -
XC_AUTH_API_SECRET XCoverConfig.auth_api_secret API secret to use -
XC_AUTH_ALGORITHM XCoverConfig.auth_algorithm HMAC encoding algorithm to use hmac-sha512
XC_AUTH_HEADERS XCoverConfig.auth_headers Headers to sign (request-target) date
XC_RETRY_TOTAL XCoverConfig.retry_total Total number of retries 5
XC_RETRY_BACKOFF_FACTOR XCoverConfig.retry_backoff_factor Backoff factor for retries timeout 2

Usage example

Using low-level call method

import requests

from xcover.xcover import XCover

# Env variables are used
client = XCover()

# Prepare payload
payload = {
    "request": [
        {
            "policy_type": "event_ticket_protection",
            "policy_type_version": 1,
            "policy_start_date": "2021-12-01T17:59:00.831+00:00",
            "event_datetime": "2021-12-25T21:00:00+00:00",
            "event_name": "Ariana Grande",
            "event_location": "The O2",
            "number_of_tickets": 2,
            "tickets": [
                {"price": 100},
            ],
            "resale_ticket": False,
            "event_country": "GB",
        }
    ],
    "currency": "GBP",
    "customer_country": "GB",
    "customer_region": "London",
    "customer_language": "en",
}
# Calling XCover API
response: requests.Response = client.call(
    method="POST",
    url="partners/LLODT/quotes/",
    payload=payload,
)

quote = response.json()
print(quote)

Retries

This client will automatically retry certain operations when it is considered safe to do this. The retry number and intervals could be controlled via XC_RETRY_TOTAL and XC_RETRY_BACKOFF_FACTOR environment variables ot the same config options.

Auto retry logic can be enabled/disabled per operation. However, further fine-tuning is possible via extending XCover class if required.

Metadata

Release files for xcover-python 0.1.2

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

Source distribution (sdist)

Source distribution for xcover-python 0.1.2
File Size Uploaded
xcover_python-0.1.2.tar.gz 5.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for xcover-python 0.1.2
File Interpreter ABI Platform
xcover_python-0.1.2-py3-none-any.whl Python 3 none any Details

Total release size: 13.1 kB

Release files / xcover_python-0.1.2.tar.gz

Download URL xcover_python-0.1.2.tar.gz
Size 5.8 kB
Tags Source
SHA-256 checksum
How to use checksums
c6ebb891ba1c427a843c8a2d576253cad6e9c84ee76a81a0728a76b78084ed25
BLAKE2b-256 checksum
How to use checksums
5cc5adf3dab39066dd838b5959b47d430db6e50d5cfabc994d86e367276359bd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.9

Release files / xcover_python-0.1.2-py3-none-any.whl

Download URL xcover_python-0.1.2-py3-none-any.whl
Size 7.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
ae7c80cbacbfa55b94c64e8a65424ccebbba00b617634a10184059d5626f6b46
BLAKE2b-256 checksum
How to use checksums
4b952c9ea09e971c81a530f2de22e8c031499f39275569f0b27619fe9cf21994
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.9

Release history Release notifications | RSS feed

This release

0.1.2 This release

2 release files

0.1.1

2 release files

0.1.0

2 release files

0.0.4

2 release files

0.0.2

2 release files

0.0.1

2 release files

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