Skip to main content

Python SDK to access Xero APIs

Project description

xero-sdk-py

Python SDK to access Xero APIs

Requirements

  1. Python 3+
  2. Requests library

Installation

Install Xero SDK using pip as follows:

pip install xerosdk

Usage

This SDK requires OAuth2 authentication credentials such as client ID, client secret and refresh token.

  1. Create a connection using the XeroSDK class.
from xerosdk import XeroSDK 

connection = XeroSDK(
    base_url='<XERO_BASE_URL>',
    client_id='<YOUR CLIENT ID>',
    client_secret='<YOUR CLIENT SECRET>',
    refresh_token='<YOUR REFRESH TOKEN>'
)

# tenant_id is required to make a call to any API
tenant_id = connection.tenants.get_all()[0]['tenantId']
connection.set_tenant_id(tenant_id)
  1. Access any of the API classes
"""
USAGE: <XeroSDK INSTANCE>.<API_NAME>.<API_METHOD>(<PARAMETERS>)
"""

# Get a list of all Invoices
response = connection.invoices.get_all()

# Get a list of all Invoices using generator
for response in invoices.list_all_generator():
   print(response)

# Get an Invoice by id
response = connection.invoices.get_by_id(<invoice_id>)

NOTE: Only Tenants, Invoices, Accounts, Contacts, Items and TrackingCategories API classes are defined in this SDK.

Integration Tests

  1. Install pytest package using pip as follows:
pip install pytest
  1. Create a 'test_credentials.json' file at project root directory and enter Xero OAuth2 authentication credentials of your Xero app.
{
  "base_url": "<xero_base_url>",
  "client_id": "<client_id>",
  "client_secret": "<client_secret>",
  "refresh_token": "<refresh_token>"
}
  1. Run integration tests as follows:
python -m pytest tests/integration

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

xerosdk-0.14.3.tar.gz (11.3 kB view details)

Uploaded Source

Built Distribution

xerosdk-0.14.3-py3-none-any.whl (17.0 kB view details)

Uploaded Python 3

File details

Details for the file xerosdk-0.14.3.tar.gz.

File metadata

  • Download URL: xerosdk-0.14.3.tar.gz
  • Upload date:
  • Size: 11.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.2

File hashes

Hashes for xerosdk-0.14.3.tar.gz
Algorithm Hash digest
SHA256 dcc5e8f8394c46043056d07908cca2c55a52ab6151f1cb65795f3d0c504322d9
MD5 cda515c055a0ba0c7fcfcdc15d1bc226
BLAKE2b-256 a11e6fa47be55064e13c015cc262c4cfbf3c8dbc3dfa8d48c08c9f96e8d3b5a1

See more details on using hashes here.

File details

Details for the file xerosdk-0.14.3-py3-none-any.whl.

File metadata

  • Download URL: xerosdk-0.14.3-py3-none-any.whl
  • Upload date:
  • Size: 17.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.2

File hashes

Hashes for xerosdk-0.14.3-py3-none-any.whl
Algorithm Hash digest
SHA256 4ba91849461352b5c17f34047e13c18bdd45727a663e2b22bcf7a2ea114cf52b
MD5 448a8a28ead097f69fadbe978a0018a6
BLAKE2b-256 dc668d2839505df09cedc790eb821c12ee3b1093cc18a36af377a74a44baafaa

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page