Python SDK for accessing Sage Intacct REST APIs
Project description
Intacct REST SDK for Python
A Python SDK for the Sage Intacct REST API, providing a simple and intuitive interface to interact with Intacct's financial data and operations.
Local Setup
# Create and activate virtual environment
python -m venv venv
source venv/bin/activate
# Install dev dependencies
pip install -r requirements.txt
Quick Start
1. Authentication Setup
First, you'll need to set up OAuth2 credentials with Intacct:
- Register your application in Intacct to get
client_idandclient_secret - Set up environment variables or pass credentials directly
import os
from intacctsdk import IntacctRESTSDK
sdk = IntacctRESTSDK(
refresh_token='your_refresh_token',
entity_id='your_entity_id' # Optional
)
2. Basic Usage
For comprehensive examples and usage patterns, see the example.py file which demonstrates:
- OAuth2 authentication flow
- Working with different modules dimensions
- Filtering and querying data
- Error handling
- Token management
Common Methods
All API classes inherit from ApiBase and support these common methods:
get_all_generator(fields, filters=[], filter_expression=None, order_by=[], dimension_name=None)
Returns a generator that yields paginated results.
Parameters:
fields(List[str]): List of fields to retrievefilters(List[Dict], optional): Filter conditionsfilter_expression(str, optional): Filter expression ('and' or 'or')order_by(List[Dict], optional): Sort conditionsdimension_name(str, optional): For dimensions API only
get_by_id(id)
Get a single object by its ID.
count(filters=[], filter_expression=None, dimension_name=None)
Get the count of objects matching the filters.
get_model()
Get the schema/model definition for the object type.
Error Handling
The SDK provides custom exceptions for different error scenarios:
from intacctsdk.exceptions import InvalidTokenError, BadRequestError, InternalServerError
try:
accounts = list(sdk.accounts.get_all_generator(fields=['id', 'name']))
except InvalidTokenError as e:
print(f"Token error: {e.message}")
# Handle token refresh or re-authentication
except BadRequestError as e:
print(f"Bad request: {e.message}")
# Handle invalid parameters or request format
except InternalServerError as e:
print(f"Server error: {e.message}")
# Handle temporary server issues
License
This project is licensed under the MIT License - see the LICENSE file for details.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file sageintacctrestsdk-1.3.2.tar.gz.
File metadata
- Download URL: sageintacctrestsdk-1.3.2.tar.gz
- Upload date:
- Size: 11.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4583409bc5b36dd91eae2dd9f15f4e14b51ee2ab98572cb7e06cff04f5919549
|
|
| MD5 |
156fd74b93d05b43b0e3c86fa274b8f2
|
|
| BLAKE2b-256 |
c1299bbc22d35fe1db02728abbea157c6cdbe303d0cc7f9347a1301a40a21be4
|
File details
Details for the file sageintacctrestsdk-1.3.2-py3-none-any.whl.
File metadata
- Download URL: sageintacctrestsdk-1.3.2-py3-none-any.whl
- Upload date:
- Size: 21.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2fe5748d6daf2f854c10aa2c21e05c7589db019e14311134533de0b7f561f04f
|
|
| MD5 |
faee7560061461afd20622e12d910a23
|
|
| BLAKE2b-256 |
406fea1e47fbdb1244a5e05e1095ecfcdebea79dee9546c884bbc3ea0420f569
|