Skip to main content

The Token Company Python SDK

Compress LLM prompts to reduce costs and latency. 100K tokens compressed in ~85ms.

CI PyPI version Python versions License: MIT

Docs · Website · Dashboard · Node.js SDK

Install

pip install the-token-company

Quick start

from thetokencompany import TheTokenCompany

client = TheTokenCompany(api_key="ttc-...")
result = client.compress("Your long prompt text here...", model="bear-2")

print(result.output)           # compressed text
print(result.tokens_saved)     # tokens removed
print(result.compression_ratio)  # e.g. 1.8

SDK wrappers

Drop-in wrappers that auto-compress conversation turns before sending to your LLM. By default every turn — user, system, tool, and assistant/agent — is compressed. To keep the provider's KV cache warm, pass a per-role aggressiveness dict that omits the assistant key (e.g. {"user": 0.2, "system": 0.2, "tool": 0.2}).

OpenAI / OpenRouter

from openai import OpenAI
from thetokencompany.openai import with_compression

client = with_compression(OpenAI(), compression_api_key="ttc-...")

response = client.chat.completions.create(
    model="gpt-4o",
    messages=[
        {"role": "system", "content": "You are a helpful assistant..."},
        {"role": "user", "content": "Summarize these results..."},
    ],
)

Works with AsyncOpenAI too — the wrapper detects async automatically.

Anthropic

from anthropic import Anthropic
from thetokencompany.anthropic import with_compression

client = with_compression(Anthropic(), compression_api_key="ttc-...")

response = client.messages.create(
    model="claude-sonnet-4-6",
    max_tokens=1024,
    system="You are a helpful assistant...",
    messages=[{"role": "user", "content": "Summarize these results..."}],
)

Both messages and the system parameter are compressed.

Async

from thetokencompany import AsyncTheTokenCompany

async with AsyncTheTokenCompany(api_key="ttc-...") as client:
    result = await client.compress("Your long prompt text...")

Models

Model Description
bear-2 Latest, recommended
bear-1.2 Previous generation

Aggressiveness

Control compression intensity with aggressiveness (0.0 – 1.0, default 0.5):

result = client.compress(text, model="bear-2", aggressiveness=0.8)

App ID

Tag compression requests with an application identifier for usage tracking:

# Set on the client — applies to all requests
client = TheTokenCompany(api_key="ttc-...", app_id="my-chatbot")

# Or per-request (overrides the client-level value)
result = client.compress(text, model="bear-2", app_id="my-chatbot")

Also supported in wrappers:

client = with_compression(OpenAI(), compression_api_key="ttc-...", app_id="my-chatbot")

Gzip

Enable gzip compression of request payloads for better performance on large inputs (up to 2.2x faster on 1M+ tokens):

client = TheTokenCompany(api_key="ttc-...", gzip=True)

Protect text from compression

Use protect() to wrap content in <ttc_safe> tags — protected text passes through unchanged:

from thetokencompany import protect

prompt = f"{protect('system:')} You are a helpful assistant.\n{protect('user:')} Hello!"
result = client.compress(prompt, model="bear-2")

Response

CompressResponse fields:

Field Type Description
output str Compressed text
output_tokens int Token count after compression
input_tokens int Token count before compression
tokens_saved int Tokens removed
compression_ratio float Ratio (e.g. 1.8x)

License

MIT

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

the_token_company-0.5.0.tar.gz (31.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

the_token_company-0.5.0-py3-none-any.whl (20.8 kB view details)

Uploaded Python 3

File details

Details for the file the_token_company-0.5.0.tar.gz.

File metadata

  • Download URL: the_token_company-0.5.0.tar.gz
  • Upload date:
  • Size: 31.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.12.13

File hashes

Hashes for the_token_company-0.5.0.tar.gz
Algorithm Hash digest
SHA256 ecf3d756b855aa7d754f40e8e9cfc7058b9f1890b8773041b9297b53a59eabcf
MD5 fb106a17d2001a15562edb9ad05cf7e3
BLAKE2b-256 548c5d6c1b01a350a4c5d16110932d0440ac765eb307eac0ad9c5b9f4b00bccc

See more details on using hashes here.

File details

Details for the file the_token_company-0.5.0-py3-none-any.whl.

File metadata

File hashes

Hashes for the_token_company-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4fc2d288de4efc636a88baeb5cd4915a222ec16aaf74a4e2f932b45550235bd3
MD5 9f3ffc78de1bf09fefebcdff1210e995
BLAKE2b-256 297d68fe4aa165c8099b59f096f55d64003d280c9fb1da9fbce43eafb13ddb45

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page