Skip to main content

fiscallm

Track the AI cost of each user of your app against their subscription revenue. Zero dependencies, Python 3.9+.

The SDK never sits in the path of your AI calls: tracking only queues an event, a background thread sends batches, and it never raises. Prompts and responses are never sent, only token counts.

pip install fiscallm
import os
from fiscallm import Meter

meter = Meter(api_key=os.environ["FISCALLM_KEY"])  # one per process

# user_id must be the user's RevenueCat app user ID.
res = openai_client.chat.completions.create(model=model, messages=messages)
meter.track_openai(res, user_id=user_id, feature="chat")

meter.track_anthropic(message, user_id=user_id)
meter.track_gemini(result, user_id=user_id)

# Streams (sync or async): iterate the returned stream.
stream = meter.track_stream(
    openai_client.chat.completions.create(model=model, messages=messages, stream=True,
                                          stream_options={"include_usage": True}),
    user_id=user_id,
)

# Anything not priced per token:
meter.track(user_id=user_id, provider="fal", model="flux-pro", cost_usd=0.05)

# Serverless (AWS Lambda, Cloud Functions): before returning
meter.flush()          # or: await meter.aflush()

OpenAI-compatible APIs work with meter.track_openai(res, user_id=user_id, provider="groq").

Docs: https://fiscallm.com/docs

Metadata

Release files for fiscallm 0.1.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 fiscallm 0.1.0
File Size Uploaded
fiscallm-0.1.0.tar.gz 8.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for fiscallm 0.1.0
File Interpreter ABI Platform
fiscallm-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 16.0 kB

Release files / fiscallm-0.1.0.tar.gz

Download URL fiscallm-0.1.0.tar.gz
Size 8.4 kB
Tags Source
SHA-256 checksum
How to use checksums
7488ee4d708804a8bef288e7fe26030b84187f73c287af416297eb087dcb694b
BLAKE2b-256 checksum
How to use checksums
638b3cd2b85a0640a28a1679a3849a4c8c34ca71e43ec3141eacfd5ce3767e63
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.9

Release files / fiscallm-0.1.0-py3-none-any.whl

Download URL fiscallm-0.1.0-py3-none-any.whl
Size 7.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
6867141c257fd1d93b8d34b8dddcf0353e567b6537216670f4cc1579d6f961ab
BLAKE2b-256 checksum
How to use checksums
5aee47a2ad0561d32288e3be269f1605b4e6dd5e2efcbf5af960cf94211bcbc2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.9

Release history Release notifications | RSS feed

0.3.1

2 release files

0.3.0

2 release files

0.2.0

2 release files

This release

0.1.0 This release

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