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.13.0.tar.gz (10.9 kB view hashes)

Uploaded source

Built Distribution

xerosdk-0.13.0-py3-none-any.whl (16.7 kB view hashes)

Uploaded py3

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page