Skip to main content

This repository includes an example of a First Class Swarmauri Example.

Project description

Swarmauri Logo

PyPI - Downloads Hits PyPI - Python Version PyPI - License PyPI - swarmauri_measurement_tokencountestimator


Swarmauri Measurement Token Count Estimator

Token-count measurement plugin for Swarmauri pipelines. Uses OpenAI's tiktoken library to estimate how many tokens a piece of text will consume given a specific tokenizer (default cl100k_base).

Features

  • Implements the MeasurementBase API to slot into Swarmauri observability flows.
  • Wraps tiktoken encoders for quick token-count estimation ahead of LLM calls.
  • Configurable tokenizer name so you can match counts to different model families.

Prerequisites

  • Python 3.10 or newer.
  • tiktoken installed (pulled in automatically as a dependency).
  • If you use custom encodings, ensure they are registered with tiktoken before invoking the measurement.

Installation

# pip
pip install swarmauri_measurement_tokencountestimator

# poetry
poetry add swarmauri_measurement_tokencountestimator

# uv (pyproject-based projects)
uv add swarmauri_measurement_tokencountestimator

Quickstart

from swarmauri_measurement_tokencountestimator import TokenCountEstimatorMeasurement

measurement = TokenCountEstimatorMeasurement()
text = "Lorem ipsum odor amet, consectetuer adipiscing elit."
count = measurement.calculate(text)
print(f"Tokens (cl100k_base): {count}")

Switching Encodings

from swarmauri_measurement_tokencountestimator import TokenCountEstimatorMeasurement

text = "Swarmauri agents coordinate over shared memory"
measurement = TokenCountEstimatorMeasurement()

for encoding in ["cl100k_base", "o200k_base", "p50k_base"]:
    print(encoding, measurement.calculate(text, encoding=encoding))

Use this to check token budgets across different model families before dispatching a request.

Handling Unknown Encodings

from swarmauri_measurement_tokencountestimator import TokenCountEstimatorMeasurement

measurement = TokenCountEstimatorMeasurement()
invalid_count = measurement.calculate("Hello", encoding="not-real")
print(invalid_count)  # Returns None and prints an error message

Wrap the call if you prefer structured error handling:

try:
    count = measurement.calculate("Hello", encoding="not-real")
    if count is None:
        raise ValueError("Unsupported encoding")
except ValueError:
    # fallback logic
    pass

Tips

  • Token counts can change as tokenizers evolve; pin tiktoken to a known version for stable measurements.
  • Normalize whitespace if your prompt assembly adds or strips spaces—tokenizers are sensitive to exact byte sequences.
  • For batch estimation, combine this measurement with Pandas or list comprehensions to preprocess entire prompt sets before sending them to an LLM.

Want to help?

If you want to contribute to swarmauri-sdk, read up on our guidelines for contributing that will help you get started.

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

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

File details

Details for the file swarmauri_measurement_tokencountestimator-0.9.2.dev7.tar.gz.

File metadata

  • Download URL: swarmauri_measurement_tokencountestimator-0.9.2.dev7.tar.gz
  • Upload date:
  • Size: 7.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.3 {"installer":{"name":"uv","version":"0.10.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for swarmauri_measurement_tokencountestimator-0.9.2.dev7.tar.gz
Algorithm Hash digest
SHA256 51e36bd677c3b0010c511f64e209208dd3301bd40b42b85677f133bf90e67d4c
MD5 6b41d5e574d6ce2040e3da36b6a5e338
BLAKE2b-256 4c7dcc2d2217ec61ce0d9965a0108a7a79d082374338f936489538c403e0288c

See more details on using hashes here.

File details

Details for the file swarmauri_measurement_tokencountestimator-0.9.2.dev7-py3-none-any.whl.

File metadata

  • Download URL: swarmauri_measurement_tokencountestimator-0.9.2.dev7-py3-none-any.whl
  • Upload date:
  • Size: 8.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.3 {"installer":{"name":"uv","version":"0.10.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for swarmauri_measurement_tokencountestimator-0.9.2.dev7-py3-none-any.whl
Algorithm Hash digest
SHA256 9136c2f17a92e8337e4fe7c92a0ffbb0d63624ebe459593bf54127726d976cd8
MD5 a7e8b0a511e591100edae8bad1918c8b
BLAKE2b-256 c61c356949d3d344d7380eaf5e140216856949334b119880640a6f2b1dcdc8f9

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 Pingdom Monitoring Sentry Error logging StatusPage Status page