Skip to main content

bulkllm

Enhancements over vanilla LiteLLM

bulkllm builds on top of litellm and adds a few extras:

  • Automatic model registration. The package knows how to fetch the list of models from OpenAI, Anthropic, Gemini and OpenRouter and registers them with LiteLLM. Results are cached on disk so they can be reused offline.
  • Centralised rate limiting. A RateLimiter implementation enforces RPM, TPM, input and output token limits per model (or regex group) and works with both async and sync code.
  • Retry‑aware completion wrappers. Thin wrappers around litellm.completion/acompletion integrate Tenacity retries, rate limiting and usage tracking.
  • Usage tracking with statistics. Per‑model usage is tracked in memory with histograms, percentiles and cost calculations via the UsageTracker and UsageStat helpers.
  • Predefined LLM configurations. A large catalogue of model presets with cost information and convenient selection helpers is included.

Development

Always run make checku before committing.

Quick Commands

  • make init create the environment and install dependencies
  • make help see available commands
  • make autoformat format code
  • make autoformat-unsafe format code - including 'unsafe' fixes
  • make lint run linter
  • make typecheck run type checker
  • make test run tests
  • make coverage run tests with coverage report
  • make check run all checks (format, lint, typecheck, test)
  • make checku run all checks (format-unsafe, lint, typecheck, test)

Code Conventions

Testing

  • Use pytest (no test classes).
  • Always set match= in pytest.raises.
  • Prefer monkeypatch over other mocks.
  • Mirror the source-tree layout in tests/.
  • Always run make checku after making changes.

Exceptions

  • Catch only specific exceptions—never blanket except: blocks.
  • Don’t raise bare Exception.

Python

  • Manage env/deps with uv (uv add|remove, uv run -- …).
  • No logging config or side-effects at import time.
  • Keep interfaces (CLI, web, etc.) thin; put logic elsewhere.
  • Use typer for CLI interfaces, fastapi for web interfaces, and pydantic for data models.

Release files for bulkllm 0.5.12

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

Source distribution (sdist)

Source distribution for bulkllm 0.5.12
File Size Uploaded
bulkllm-0.5.12.tar.gz 241.6 kB Details

Built distribution (wheel)

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

Total release size: 378.1 kB

Release files / bulkllm-0.5.12.tar.gz

Download URL bulkllm-0.5.12.tar.gz
Size 241.6 kB
Tags Source
SHA-256 checksum
How to use checksums
098ba65ab7e9c1c3f72922cdb40017a24252d78fe960c9693f8b9180e62aa980
BLAKE2b-256 checksum
How to use checksums
85a394616bd5d208d60c0427a778afd52d0d39e6ac76675adc16eec72a32caf1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.2

Release files / bulkllm-0.5.12-py3-none-any.whl

Download URL bulkllm-0.5.12-py3-none-any.whl
Size 136.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
ca2d63747350e7714b547b85838e23b1c5b41dbffd0fe7f3d2f8e1cf3830fe45
BLAKE2b-256 checksum
How to use checksums
0b542fc030eebf5cc963cf98805cd9f5597f44be8da10b5cc6ba1b6a506e2d81
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.2

Release history Release notifications | RSS feed

This release

0.5.12 This release

2 release files

0.5.9

2 release files

0.5.8

2 release files

0.5.7

2 release files

0.5.6

2 release files

0.5.3

2 release files

0.5.2

2 release files

0.5.1

2 release files

0.5.0

2 release files

0.4.0

2 release files

0.3.0

2 release files

0.2.1

2 release files

0.1.0

2 release files

0.0.3

2 release files

0.0.2

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