xero-python
Official Python sdk for Xero API generated by OpenAPI spec for oAuth2
Decision gist · record as of 2026-08-14
Yes, with conditions. The package is actively maintained, has no known vulnerabilities, and is the official Xero SDK—making it the right choice for any Xero integration in Python. However, high install friction suggests you should test installation in your target environment early. The Beta status and requirement for OAuth 2.0 setup mean it's best suited for developers comfortable with API authentication flows and Xero's platform.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires a Xero developer account with API credentials (client ID and secret) and OAuth 2.0 token setup; API calls require valid access tokens obtained through Xero's authorization flow.
- High install friction reported.
- Package is actively maintained (latest release 4 days ago) and supports current Python versions, but the friction signal suggests potential build or dependency resolution challenges during installation.
License · maintenance · safety
MIT license (permissive) — MIT license permits commercial and private use with minimal restrictions; you may use, modify, and distribute the package provided you include the license notice.
last release 2026-08-10 (4 days)
0 known vulnerabilities (OSV.dev, 2026-08-14) · 326,431 downloads/mo, #7,576 on PyPI
Alternatives
Verify before relying
pip install xero-python
from xero_python.accounting import AccountingApi
from xero_python.api_client import ApiClient, Configuration
from xero_python.api_client.oauth2 import OAuth2Token
api_client = ApiClient(
Configuration(
oauth2_token=OAuth2Token(
client_id="YOUR_CLIENT_ID",
client_secret="YOUR_CLIENT_SECRET"
)
)
)
accounting_api = AccountingApi(api_client)- Whether high install friction is due to compiled dependencies, large package size, or complex transitive requirements.
- Current test coverage and stability track record beyond the 'Beta' development status classifier.
- Performance characteristics when handling large volumes of accounting transactions or payroll records.
What it is and what it does
xero-python is the official SDK for integrating Xero's cloud accounting platform with Python applications. It wraps Xero's REST APIs—Accounting, Assets, Projects, Payroll (AU/UK/NZ), and Files—into Python client classes, handling OAuth 2.0 authentication and request serialization automatically. Developers use it to build integrations that read invoices, contacts, and ledger data, or write transactions and payroll records, without manually constructing HTTP requests or managing tokens.
The SDK is generated from OpenAPI specifications and requires no runtime dependencies, but installation reports high friction. It supports Python 3.5 and later and is actively maintained. Setup involves creating a Xero developer account, registering an API application, and configuring OAuth 2.0 credentials. The package handles token persistence and refresh transparently, making it suitable for web applications (especially Flask-based ones, as shown in the documentation) and server-side integrations with small business accounting workflows.
Use it for
- Build a web app that syncs Xero invoices and contacts into a custom CRM or billing system.
- Automate payroll record creation or retrieval for AU, UK, or NZ organizations using Xero Payroll.
- Extract accounting reports and journal entries from Xero for custom financial analysis or auditing.
- Integrate Xero file storage with document management workflows in a larger application.
- Create a project tracking dashboard that pulls time and cost data from Xero Projects.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, with conditions.
The package is actively maintained, has no known vulnerabilities, and is the official Xero SDK—making it the right choice for any Xero integration in Python. However, high install friction suggests you should test installation in your target environment early. The Beta status and requirement for OAuth 2.0 setup mean it's best suited for developers comfortable with API authentication flows and Xero's platform.
Install
xero-python on PyPI
Before you install
High install friction reported. Package is actively maintained (latest release 4 days ago) and supports current Python versions, but the friction signal suggests potential build or dependency resolution challenges during installation.
Requires a Xero developer account with API credentials (client ID and secret) and OAuth 2.0 token setup; API calls require valid access tokens obtained through Xero's authorization flow.
License in practice
MIT license permits commercial and private use with minimal restrictions; you may use, modify, and distribute the package provided you include the license notice.
Quickstart
pip install xero-python
from xero_python.accounting import AccountingApi
from xero_python.api_client import ApiClient, Configuration
from xero_python.api_client.oauth2 import OAuth2Token
api_client = ApiClient(
Configuration(
oauth2_token=OAuth2Token(
client_id="YOUR_CLIENT_ID",
client_secret="YOUR_CLIENT_SECRET"
)
)
)
accounting_api = AccountingApi(api_client)
Verify before relying
- Whether high install friction is due to compiled dependencies, large package size, or complex transitive requirements.
- Current test coverage and stability track record beyond the 'Beta' development status classifier.
- Performance characteristics when handling large volumes of accounting transactions or payroll records.
Package facts
| License | MIT license permissive |
| Python support | Supports the current Python release >=3.5 |
| Install friction | High. Source build required |
| Runtime dependencies | None |
| Maintenance | Actively maintained 4 days since the last release |
| First released | |
| Downloads | 326,431 / month, #7,576 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 4 - BetaIntended Audience :: DevelopersLicense :: OSI Approved :: MIT LicenseNatural Language :: EnglishProgramming Language :: Python :: 3Programming Language :: Python :: 3.5Programming Language :: Python :: 3.6Programming Language :: Python :: 3.7Programming Language :: Python :: 3.8 |
Evidence: xero_python-15.1.0.tar.gz
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “xero api python sdk”
- xero-pythonProvides Python bindings to Xero's accounting, payroll, assets,…
- pyxeroPyXero is a Python client library for the Xero accounting REST API,…
- aliyun-python-sdk-coreProvides core client infrastructure for calling Alibaba Cloud APIs…
Give your agent the search over MCP, or paste the wish link into any chat.
More WWW/HTTP packages
urllib3 is an HTTP client library that provides thread-safe connection pooling, SSL/TLS verification, multipart file uploads, request retries, compression support, and proxy handling for Python applications.
Requests is a Python HTTP library that simplifies sending HTTP/1.1 requests with automatic handling of headers, authentication, cookies, and response parsing.
h11 is a pure-Python HTTP/1.1 protocol implementation that handles parsing and serializing HTTP messages without any built-in I/O, letting you integrate it with any network layer you choose.
HTTPX is a fully featured HTTP client library for Python that provides both sync and async APIs, with support for HTTP/1.1 and HTTP/2, plus an integrated command-line client.
Install it if you are building new projects or modernizing existing ones that rely on HTTP.
A minimal low-level HTTP client library that sends HTTP requests with thread-safe and task-safe connection pooling, supporting HTTP/1.1, HTTP/2, proxies, and both sync and async interfaces.
aiohttp is an async HTTP client and server framework built on asyncio, supporting both WebSockets and middleware-based routing for building concurrent web applications.
Install it if you need async HTTP client or server capabilities in asyncio-based applications.
See also pyxero · Unified-python-sdk · python-quickbooks · python-upwork-oauth2 · intuit-oauth · longbridge · oauth2-client · edx-rest-api-client · requests-oauthlib · Salesforce-FuelSDK