Skip to main content

tesote-sdk

Official Python SDK for the equipo.tesote.com API.

  • Zero runtime dependencies. Uses only the Python standard library.
  • Min runtime: Python 3.9.
  • Versioned clients side-by-side: V1Client, V2Client.

Install

pip install tesote-sdk

Usage

from tesote_sdk import V2Client

client = V2Client(api_key="sk_live_...")

for account in client.accounts.list():
    print(account["id"])

Mix versions in the same process when you need to:

from tesote_sdk import V1Client, V2Client

legacy = V1Client(api_key="sk_live_...")
new = V2Client(api_key="sk_live_...")

Auth

Single scheme: bearer API key. Pass it at construction. The SDK never persists the key, never logs it, and redacts it to Bearer <last4> in logs and error summaries.

V*Client(api_key="") raises ConfigError synchronously.

Errors

Every error inherits from TesoteError and carries: error_code, message, http_status, request_id, error_id, retry_after, response_body, request_summary, attempts. __cause__ is preserved when wrapping a lower-level exception.

Catch the narrowest type:

from tesote_sdk import RateLimitExceededError, V2Client

try:
    V2Client(api_key=key).accounts.list()
except RateLimitExceededError as e:
    print(f"slow down for {e.retry_after}s (req {e.request_id})")

Full hierarchy: see docs/architecture/errors.md in the monorepo.

Transport features

Configured at the client; resource modules never reimplement them:

Concern Default
Retries 3 attempts, exp backoff + jitter, base 250ms, cap 8s, retry on 429/502/503/504 + network errors
Timeouts connect 5s, read 30s
Idempotency auto Idempotency-Key UUIDv4 on POST/PUT/PATCH/DELETE
Rate limits client.last_rate_limit after every request
Cache opt-in TTL LRU via cache_ttl= per call; pluggable CacheBackend
Logging optional callback, Authorization always redacted

Polling model (v1, v2)

The platform is poll-based. Use accounts.sync(...) (v2) to trigger a refresh, then poll accounts.get(...) until the data settles.

Versioning

  • API versions (v1, v2) ship side-by-side and never get removed.
  • SDK semver is independent. Tag releases as python-vX.Y.Z.

See CHANGELOG.md.

Development

cd packages/python
pip install -e .[test]
ruff check .
mypy src
pytest

License

MIT.

Metadata

Release files for tesote-sdk 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for tesote-sdk 0.2.0
File Size Uploaded
tesote_sdk-0.2.0.tar.gz 22.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for tesote-sdk 0.2.0
File Interpreter ABI Platform
tesote_sdk-0.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 52.6 kB

Release files / tesote_sdk-0.2.0.tar.gz

Download URL tesote_sdk-0.2.0.tar.gz
Size 22.0 kB
Tags Source
SHA-256 checksum
How to use checksums
e59375a8aacd992d2a2c0ea390e58f73e6da8a6a245260fd8251c8f11693447c
BLAKE2b-256 checksum
How to use checksums
7e74ef9928a1887b02f0d5df48f6f3d79c877944478675145cbb3ae9fd15f602
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Apr 29, 2026.

Transparency log

Release files / tesote_sdk-0.2.0-py3-none-any.whl

Download URL tesote_sdk-0.2.0-py3-none-any.whl
Size 30.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
2748fa298a308b7680623115a8f84af9385fba124b94f74e909c039bb5cde695
BLAKE2b-256 checksum
How to use checksums
6420ff81d06625d580b4aad35d0db28242cfb9239e5bea23398ed288455301b9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Apr 29, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page