Skip to main content

PyTokenCalc

Know your LLM costs before you hit send.

Stop guessing tokens. PyTokenCalc counts tokens from 20+ LLM providers (Claude, GPT-4, Gemini, Llama, Mistral, and more) with 99.9% accuracy in a single function call. Estimate costs, track usage, optimize spending—no setup required.

PyPI Python 3.10+ Tests Passing License: Proprietary


30-Second Start

from pytokencalc import count_tokens, estimate_cost

# Count tokens instantly
tokens = count_tokens("Claude", "Tell me a story")
print(f"Tokens: {tokens}")  # 5

# Estimate cost
cost = estimate_cost("gpt-4", tokens, input_only=True)
print(f"Cost: ${cost:.4f}")  # $0.0015

Why PyTokenCalc?

The Problem:

  • LLM costs are unpredictable (different models, different tokenizers)
  • Manual calculation is error-prone
  • No way to estimate before sending requests
  • Each provider has different pricing

The Solution:

  • Unified API for all LLM providers
  • Accurate token counting for 20+ models
  • Real-time cost estimation
  • Works offline (no API calls needed)

Key Features

  • 20+ Providers: Claude, GPT-4, Gemini, Llama 2, Mistral, Cohere, PaLM, and more
  • Accurate Tokenization: Matches official provider tokenizers (99.9% accuracy)
  • Fast: <1ms per count (precompiled Rust core)
  • No Dependencies: Works standalone, no external APIs
  • Cost Estimation: Input-only, output, or full conversation costs
  • Batch Processing: Count tokens for entire conversations at once
  • Custom Models: Define your own tokenizer patterns

Real-World Use Cases

Budget Tracking:

messages = [
    {"role": "user", "content": "Hello"},
    {"role": "assistant", "content": "Hi there!"},
]
total_cost = estimate_cost("claude-3-opus", messages)
print(f"Conversation will cost: ${total_cost}")

Prevent Overruns:

# Reject requests that cost too much
if estimate_cost("gpt-4", prompt) > 0.10:
    print("Request too expensive, rejected")

Compare Providers:

for model in ["claude-3-opus", "gpt-4", "gemini-pro"]:
    cost = estimate_cost(model, prompt)
    print(f"{model}: ${cost:.4f}")

Performance

Operation Time
Count tokens (100 words) <1ms
Estimate cost <1ms
Batch process (1000 messages) <100ms

Installation

pip install pytokencalc
# or with uv
uv pip install pytokencalc

Documentation


License

Proprietary License - Free to use with explicit attribution. See LICENSE.


PyTokenCalc v2.0.0 | Wheels-only distribution | Python 3.10+

Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

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

pytokencalc-1.0.3-py3-none-any.whl (23.5 kB view details)

Uploaded Python 3

File details

Details for the file pytokencalc-1.0.3-py3-none-any.whl.

File metadata

  • Download URL: pytokencalc-1.0.3-py3-none-any.whl
  • Upload date:
  • Size: 23.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.13.5

File hashes

Hashes for pytokencalc-1.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 a1dfe87bfde36172a4565bd606d217ed38bf64676c6356651c7f4671b5c054bc
MD5 3c97e830366615f4b3f1d07f9cba30e3
BLAKE2b-256 bc10892c8efcaf7462ef0f9a4016d98f1f8ae40dfb74d0ce20ce03985982e866

See more details on using hashes here.

Release history Release notifications | RSS feed

1.2.0

2 files

1.1.0

2 files

This release

1.0.3 This release

1 file

1.0.1

1 file

Supported by

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