Skip to content

Search is only available in production builds. Try building and previewing the site to test it out locally.

Python SDK

pip install tracktile
from tracktile import Tracktile
client = Tracktile(jwt="your-api-token")
products = client.products.list()
client = Tracktile(jwt="your-api-token")
ResourceMethods
client.inventoryreceive, move, update, waste, assign, unassign, bundle, merge, unmerge
client.orderslist, create, get, update, delete, get_product_attributes
client.productslist, create, get, update, delete, batch_update, fetch_by_ids
client.purchase_orderslist, create, get, update, delete
client.shipmentslist, create, get, update, patch, delete, get_items
client.supplierslist, create, get, update, delete, get_default_order
client.transportslist, create, get, update, delete

The SDK provides both synchronous and asynchronous clients:

import asyncio
from tracktile import AsyncTracktile
async def main():
client = AsyncTracktile(jwt="your-api-token")
products = await client.products.list()
print(products)
asyncio.run(main())
from tracktile.models import errors
try:
product = client.products.get(id="invalid")
except errors.BadRequestError:
# Handle 400 errors
pass
except errors.UnauthorizedError:
# Handle 401 errors
pass
except errors.ForbiddenError:
# Handle 403 errors
pass
except errors.NotFoundError:
# Handle 404 errors
pass
except errors.ServerError:
# Handle 500 errors
pass
from tracktile import Tracktile
from tracktile.utils import BackoffStrategy, RetryConfig
client = Tracktile(
jwt="your-api-token",
retry_config=RetryConfig(
strategy="backoff",
backoff=BackoffStrategy(
initial_interval=1,
max_interval=50,
exponent=1.1,
max_elapsed_time=100,
),
retry_connection_errors=False,
),
)
import logging
logging.basicConfig(level=logging.DEBUG)
client = Tracktile(
jwt="your-api-token",
debug_logger=logging.getLogger("tracktile"),
)
RuntimeVersion
Python3.8+

Both sync and async clients are available. The SDK uses httpx under the hood for HTTP requests.