You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tooling.apache.org by gi...@apache.org on 2026/10/22 19:29:02 UTC
(tooling-llmao) branch dependabot/uv/werkzeug-3.1.9 updated (c6f95ae -> 11eb778)
This is an automated email from the ASF dual-hosted git repository.
dependabot[bot] pushed a change to branch dependabot/uv/werkzeug-3.1.9
in repository https://gitbox.apache.org/repos/asf/tooling-llmao.git
discard c6f95ae build(deps): bump werkzeug from 3.1.8 to 3.1.9
add 4142af3 fleet: probe each vLLM port, and keep the two legacy boxes
add d142787 fleet: one server is one LiteLLM deployment
add 2db0cf6 fleet: probe every listen port on a known multi-model box
add a0a68b0 fleet: 213.173.110.78 still uses the shared vLLM key
add 59ed97e fleet: show the last probe on an Awaiting row
add 689c4ae models: privacy counts every row, including a down endpoint
add 907262a models: name each deployment and replace the label dropdown
add 298e4ad pages: render Help from markdown on each request
add 6f12c16 help: put the article list on the left and emit raw HTML
add 811d775 via Sander and Claude Code Opus 5.5
add bcc1719 help: add a page for Claude Code, Codex, Grok Build, and Pi
add fa82b88 help: keep FAQ in its own section of the left nav
add abbaa7a help: put Help Home with the FAQ, above the guides
add 9e82e74 help: link My Keys and Models, and hide Sign in when already signed in
add b089e32 ci: satisfy the license and ruff-format hooks
add bcd6014 admin: drop the Models link and show whether LiteLLM matches the pin
add 266122c models: identify deployments by host:port and list them in one group
add 58b9ac8 hosting: divide the card's VRAM between the servers on a box
add 16bccfb hosting: size servers from free memory, and read meminfo on unified memory
add e26cc53 models: add a BF16 Qwen3 8B for cards the FP8 build cannot load on
add 8167c9c hosting: count disk once per model in the fit check
add d682738 docs: bring the docs up to date and point the README at the live Help
add 990de39 help: send key requests to My Keys, not the retired Other Keys page
add 28a8486 models: copy the model id from an icon, not a "Copy" link
add 45da9c2 models: say when a model thinks by default, and tidy unavailable cards
add 957d607 models: set the deployment status line out as separate facts
add 035f521 nav: mark the current page, return to it after sign-in, and say Apache LLMAO
add 1083409 nav: move Help to the right and add the ASF links
add c33bf50 home: welcome newcomers with the steps to a first request
add 7c12647 help: Grok Build needs only the config block, not environment variables
add 24f0954 footer: fold the ASF links into two lines and drop Security
add 7a8713e nav: put Help ahead of the ASF menu and quieten the ASF label
add 3a18034 static: stamp the stylesheet and script URLs with the running commit
add a4b0bd0 pages: read the running commit once at startup
add 76a6899 timing: stopwatch each LiteLLM request and each page handler
add b51c7dc Updating benchmark scripts
add 5251bab usage: read LiteLLM's daily aggregate instead of the raw spend log
add 988b2a0 requests: keep access requests and tier overrides in LiteLLM's memory store
add 8b592f5 client: give the HTTP plumbing a class of its own, and tests a stand-in
add 62c5b33 fleet: a deployment knows whether its cost is capacity or money
add d18b9d2 proxy: move litellm_client.py to llmao/proxy/client.py
add 8b04323 proxy: DeploymentManager takes the deployment code out of the backend
add e6efe03 proxy: reorder LiteLLMBackend's methods. No functional change
add af2dfa7 proxy: MemoryStore, the first class cut from the end of LiteLLMBackend
add 9a7c6fe proxy: AccessRequestManager, cut from the end of LiteLLMBackend
add cd93258 proxy: TierManager, cut from the end of LiteLLMBackend
add 8f7e26e proxy: reorder LiteLLMBackend's methods again. No functional change
add 93daeb7 proxy: TeamManager, cut from the end of LiteLLMBackend
add 6c59ecc proxy: UsageManager, cut from the end of LiteLLMBackend
add cd76f08 proxy: KeyManager, the last class cut from LiteLLMBackend
add 1f5a8eb proxy: delete the Backend protocol and the pass-throughs only it needed
add 196bad8 proxy: remove the last pass-throughs; the seam talks to the managers
add 8a8ede1 proxy: LiteLLMBackend keeps only what it uses
add 33724d8 tiers: mint keys on the right tier, with the tier's current limits
add 8a5af10 tests: test_phase1 and test_projects become test_seam
add 895c82a tests: name two test files for what they test. No functional change
add 21bc158 tests: TeamManager's tests get a file of their own
add 18fe212 tests: the tier tests get a file of their own
add e3b27cc tests: split what was left of test_entitlements by what it tests
add 94ec5e4 proxy: fix TeamManager.info for a project with no team yet
add 02314ae projects: two pretend projects for keys that belong to none
add d4b6284 projects: make the pretend projects' teams at startup
add 6babc91 tests: placeholder user ids in place of real ones
add 58bf0cf usage: the allowance counts only what a person's free-tier keys drew
add b690d48 projects: a key with no project may use only our own boxes
add 13f5881 proxy: a place to tell people things -- skew and log
add 4737f43 pages: show skew and log, and let a log entry be acknowledged
add 5d4f3fd pages: three things a page tells a person, kept apart, on every page
add 8ff46a9 bump LiteLLM to 105
add 01114f1 proxy: watch for edits made outside llmao, and show them as work needed
add 9a6c82f teams: the wrong project is the caller's mistake, not LiteLLM being down
add 33eaa59 Linting
add 9274711 proxy: reject an empty completion instead of returning 200
add 1a7c5eb bin: measure the max_tokens floor each model needs
add 23c80fd Making budgeet script +x
add 3e3c4ac seam: changing a tier no longer throws away cached usage
add 323e6a1 models: self_hosted is no longer written in models.yaml
add b6a9ff9 move the LiteLLM hook beside main.py
add c93881c edict for the dictionaries llmao builds and reads itself
add 6deff9a hosting: one installer for every provider
add 0920aed hosting/runpod: an image that provisions once, then runs supervisord
add 7582ece hosting/runpod: build the image on GitHub and push it to ghcr
add c42e2ec hosting/runpod: how to check the image locally with Podman
add 15158b9 hosting/runpod: a pod names itself by its pod id
add 81ce70c providers: a deployment says who serves a model, not models.yaml
add 87fb0de deployments: one failing deployment no longer stops the rest
add 8426d43 fleet: a box serves its model under the name LiteLLM asks for
add fbca6bc install_set: a re-provision replaces the servers already running
add be13d43 hosting/vast: how to re-provision a box
add bc1d40a fleet: compare with LiteLLM only after the fleet's first pass
add a71393d deployments: an unknown address is unknown, not missing
add c6c2041 skew: a deployment at the listen port is reported, not counted
add 105bec2 install_set: use every GPU, and fit the KV cache as well as the weights
add 8e09549 install_set: keep at least 2GB of each card outside vLLM's budget
add ea582e7 install_set: run each server with vLLM's startup plan
add ba0a079 models: say why a serving deployment's badge is yellow
add ef6532c startup: an ERROR when LiteLLM never refreshes its price list
add 300e940 providers: the Vast and RunPod keys are provider accounts
add f943a62 config.yaml.example: one comment for providers, site_admins' back on it
add 2c0c252 models: drop the derived per-token pricing for self-hosted models
add 0135d40 capacity: hourly rollup of vLLM readings, kept in LiteLLM's memory store
add 759a6e3 sampler: one reader of the boxes' /metrics, feeding the hourly rollup
add fcc038c pruner: a daily runner for the memory store, starting with requests
add d52192d admin: a short log of admin actions, and who last changed each tier
add 99abf5e admin: one page that says what is waiting, and what admins have done
add d13342e sampler: the one reader of /metrics, KV cache size included
add 0c994a7 capacity: each hour carries its server's share of the box's rental
add 640a799 capacity: what the model providers we pay were paid
add 7b39df1 capacity: the /admin/capacity page
add 2319ad6 models: say what each model is good for, and not where it runs
add a2cad72 models: say where each deployment lives
add 37c9a91 Shorter None guards where the long form says nothing more
add 243fff1 fleet: say when no provider lists a host, and ask RunPod on its own schedule
add e1567cb fleet: drop a gone box's LiteLLM deployment by itself, and offer no buttons
add b32a90b docs: access control design, a draft
add 0841b02 help: tighten the Claude Code setup and show how to keep it
add 1fa0d98 Merge pull request #51 from apache/gs/claude-doc
add 8a8aab8 Added a script to validate config before run time
add 676dba9 docs: access control, corrections from reading LiteLLM 1.105.0
add 65e22c8 fleet: a serving box keeps its route, and a stale one is removed
add 131e954 bin: suppress N813 on the EasyDict import, as the rest of the tree does
add 97d2ee5 docs: fleet reconciliation design, a draft
add 0fa0a89 docs: expand the fleet reconcile draft
add 03d5ba2 docs: pin the fleet reconcile gates
add 5e33382 docs: fleet reconcile, the review folded in
add 79238b7 docs: pin reconcile passes, and hold the unlisted sentence
add 158da5c docs: fleet reconcile, unlisted from the listings alone, and early work
add 22ac061 docs: one absence rule for both GPU listings
add 62c00db docs: fleet reconcile, the not-reached grace clock and the listen URL fallback
add 9fbee0e reconcile: the deployment key, frozen with tests
add b9b5ce3 fleet: ORPHAN_PASSES for the skew clock, UNLISTED_PASSES for the listings
add 039c403 fleet: one working-key rule, shared by the deployment body and /v1/models
add 7bd46bc deployments: re-read the LiteLLM deployments after every write
add 52818a2 deployments: stamp the key on every /model/new, and look ids up by it
add 08815b4 reconcile: the key's display form, used by every log line and page cell
add 06a921c docs: fleet reconcile, the stamp backfilled and the hand check's findings
add 22d8acd docs: the reconcile design is a working document, meant to become obsolete
add 777b9ea docs: remove fleet-state.md
add 328749b docs: box-protocol.md replaces vllm-fleet-design.md, as fact not proposal
add 6887499 deps: certifi 2026.10.19, and a test that keeps a distrusted root out
add 92deba6 docs: status note for 22 October
add 11eb778 build(deps): bump werkzeug from 3.1.8 to 3.1.9
This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version. This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:
* -- * -- B -- O -- O -- O (c6f95ae)
\
N -- N -- N refs/heads/dependabot/uv/werkzeug-3.1.9 (11eb778)
You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.
Any revisions marked "omit" are not gone; other references still
refer to them. Any revisions marked "discard" are gone forever.
No new revisions were added by this update.
Summary of changes:
.github/workflows/runpod-image.yml | 69 +
README.md | 209 +--
bin/README.md | 178 +-
bin/_discover.py | 145 +-
bin/_fleet.py | 668 ++++++++
bin/check-rendered-config.py | 172 ++
bin/llmao-budget | 191 +++
bin/llmao-fleet | 349 ++++
bin/llmao-load | 260 +++
bin/llmao-watch | 385 +++++
config.yaml.example | 72 +-
docs/ARCHITECTURE.md | 14 +-
docs/STATUS.md | 44 +-
docs/access-control-design.md | 228 +++
docs/box-protocol.md | 203 +++
docs/capacity-design.md | 132 ++
docs/fleet-reconcile-design.md | 738 +++++++++
docs/fleet-state.md | 473 ------
docs/help-authoring.md | 18 +
docs/help/claude-code.md | 60 +
docs/help/codex.md | 21 +
docs/help/faq.md | 62 +
docs/help/grok-build.md | 21 +
docs/help/index.md | 20 +
docs/help/pi.md | 23 +
docs/llmao-harnesses.md | 232 +++
docs/models-dashboard-design.md | 9 +-
docs/status-email-2026-10-22.txt | 165 ++
docs/vllm-fleet-design.md | 311 ----
hosting/README.md | 132 +-
hosting/install_set.py | 532 ++++++
hosting/runpod/Dockerfile | 52 +
hosting/runpod/README.md | 216 ++-
hosting/runpod/bin/supervisorctl | 6 +
hosting/runpod/bin/supervisord | 6 +
hosting/runpod/podman.md | 146 ++
hosting/runpod/provision.sh | 118 ++
hosting/runpod/requirements.txt | 3 +
hosting/vast/README.md | 47 +-
hosting/vast/install_set.py | 307 ----
hosting/vast/provision.sh | 9 +-
litellm.yaml.example | 9 +
litellm_hooks.py | 185 +++
llmao/{requests.py => access_requests.py} | 100 +-
llmao/actions.py | 112 ++
llmao/capacity.py | 492 ++++++
llmao/contention.py | 183 ---
llmao/fleet.py | 631 ++++++--
llmao/litellm_client.py | 1513 -----------------
llmao/model_status.py | 42 +-
llmao/models.py | 124 +-
llmao/providers.py | 150 ++
llmao/{ => proxy}/__init__.py | 9 +-
llmao/proxy/client.py | 1698 ++++++++++++++++++++
llmao/proxy/deployments.py | 537 +++++++
llmao/{__init__.py => proxy/errors.py} | 17 +-
llmao/pruner.py | 72 +
llmao/reconcile.py | 137 ++
llmao/runpod_client.py | 74 +
llmao/sampler.py | 260 +++
llmao/seam.py | 278 ++--
llmao/vast_client.py | 51 +-
main.py | 67 +-
models.yaml | 135 +-
pages.py | 1300 ++++++++++++---
pyproject.toml | 10 +-
static/css/llmao.css | 259 +++
static/js/llmao.js | 61 +
templates/admin.ezt | 262 ++-
templates/capacity.ezt | 166 ++
templates/flashes.ezt | 28 +
templates/footer.ezt | 11 +-
templates/header.ezt | 34 +-
templates/help.ezt | 23 +
templates/home.ezt | 75 +-
templates/key_create.ezt | 2 +-
templates/keys.ezt | 2 +-
templates/models.ezt | 370 ++---
templates/requests.ezt | 70 -
tests/fake_transport.py | 97 ++
tests/mock_backend.py | 20 +-
.../{test_requests.py => test_access_requests.py} | 139 +-
tests/test_actions.py | 98 ++
tests/test_admin.py | 304 ++++
tests/test_admin_work.py | 233 +++
tests/test_capacity.py | 298 ++++
tests/test_cost_map_schedule.py | 54 +
tests/test_deployments.py | 552 +++++++
tests/test_fleet.py | 302 +++-
tests/test_fleet_deployments.py | 86 +-
tests/test_fleet_health.py | 220 ++-
tests/test_help.py | 197 +++
tests/test_hosting.py | 362 ++++-
tests/test_keys.py | 75 +
tests/test_litellm_hooks.py | 133 ++
tests/test_mix.py | 154 --
tests/test_model_status.py | 25 +-
tests/test_models.py | 49 +-
tests/test_notices.py | 226 +++
tests/test_pages_models.py | 394 ++++-
tests/test_phase1.py | 179 ---
tests/test_prices.py | 236 +++
tests/test_projects.py | 193 ---
tests/test_pruner.py | 51 +
tests/test_reconcile.py | 147 ++
tests/test_runpod_provision.py | 167 ++
tests/test_sampler.py | 205 +++
tests/test_seam.py | 572 +++++++
tests/test_spend_rows.py | 318 ----
tests/test_teams.py | 297 ++++
tests/test_tiers.py | 185 +++
.../{test_entitlements.py => test_token_window.py} | 133 +-
tests/test_trust_store.py | 21 +
tests/test_usage.py | 456 ++++++
tests/test_vast_client.py | 58 +-
uv.lock | 182 ++-
116 files changed, 18465 insertions(+), 5548 deletions(-)
create mode 100644 .github/workflows/runpod-image.yml
create mode 100644 bin/_fleet.py
create mode 100755 bin/check-rendered-config.py
create mode 100755 bin/llmao-budget
create mode 100755 bin/llmao-fleet
create mode 100755 bin/llmao-load
create mode 100755 bin/llmao-watch
create mode 100644 docs/access-control-design.md
create mode 100644 docs/box-protocol.md
create mode 100644 docs/capacity-design.md
create mode 100644 docs/fleet-reconcile-design.md
delete mode 100644 docs/fleet-state.md
create mode 100644 docs/help-authoring.md
create mode 100644 docs/help/claude-code.md
create mode 100644 docs/help/codex.md
create mode 100644 docs/help/faq.md
create mode 100644 docs/help/grok-build.md
create mode 100644 docs/help/index.md
create mode 100644 docs/help/pi.md
create mode 100644 docs/llmao-harnesses.md
create mode 100644 docs/status-email-2026-10-22.txt
delete mode 100644 docs/vllm-fleet-design.md
create mode 100755 hosting/install_set.py
create mode 100644 hosting/runpod/Dockerfile
create mode 100755 hosting/runpod/bin/supervisorctl
create mode 100755 hosting/runpod/bin/supervisord
create mode 100644 hosting/runpod/podman.md
create mode 100755 hosting/runpod/provision.sh
create mode 100644 hosting/runpod/requirements.txt
delete mode 100755 hosting/vast/install_set.py
create mode 100644 litellm_hooks.py
rename llmao/{requests.py => access_requests.py} (77%)
create mode 100644 llmao/actions.py
create mode 100644 llmao/capacity.py
delete mode 100644 llmao/contention.py
delete mode 100644 llmao/litellm_client.py
create mode 100644 llmao/providers.py
copy llmao/{ => proxy}/__init__.py (72%)
create mode 100644 llmao/proxy/client.py
create mode 100644 llmao/proxy/deployments.py
copy llmao/{__init__.py => proxy/errors.py} (63%)
create mode 100644 llmao/pruner.py
create mode 100644 llmao/reconcile.py
create mode 100644 llmao/runpod_client.py
create mode 100644 llmao/sampler.py
create mode 100644 templates/capacity.ezt
create mode 100644 templates/help.ezt
delete mode 100644 templates/requests.ezt
create mode 100644 tests/fake_transport.py
rename tests/{test_requests.py => test_access_requests.py} (70%)
create mode 100644 tests/test_actions.py
create mode 100644 tests/test_admin.py
create mode 100644 tests/test_admin_work.py
create mode 100644 tests/test_capacity.py
create mode 100644 tests/test_cost_map_schedule.py
create mode 100644 tests/test_deployments.py
create mode 100644 tests/test_help.py
create mode 100644 tests/test_keys.py
create mode 100644 tests/test_litellm_hooks.py
delete mode 100644 tests/test_mix.py
create mode 100644 tests/test_notices.py
delete mode 100644 tests/test_phase1.py
create mode 100644 tests/test_prices.py
delete mode 100644 tests/test_projects.py
create mode 100644 tests/test_pruner.py
create mode 100644 tests/test_reconcile.py
create mode 100644 tests/test_runpod_provision.py
create mode 100644 tests/test_sampler.py
create mode 100644 tests/test_seam.py
delete mode 100644 tests/test_spend_rows.py
create mode 100644 tests/test_teams.py
create mode 100644 tests/test_tiers.py
rename tests/{test_entitlements.py => test_token_window.py} (50%)
create mode 100644 tests/test_trust_store.py
create mode 100644 tests/test_usage.py
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@tooling.apache.org
For additional commands, e-mail: commits-help@tooling.apache.org