Skip to content

Conversation

@mfittko
Copy link

@mfittko mfittko commented Nov 28, 2025

Title

Fix: Prevent TypeError in daily spend sorting with None values

Relevant issues

N/A

Pre-Submission checklist

Please complete all items before asking a LiteLLM maintainer to review your PR

  • I have Added testing in the tests/litellm/ directory, Adding at least 1 test is a hard requirement - see details
  • I have added a screenshot of my new test passing locally
  • My PR passes all unit tests on make test-unit
  • My PR's scope is as isolated as possible, it only solves 1 specific problem

Type

🐛 Bug Fix

Changes

The daily spend batch processor was crashing with a TypeError when sorting transactions. This occurred because optional fields like model or custom_llm_provider could be None (a scenario that became more frequent after a recent upgrade), and Python's sort cannot compare None with strings.

This change normalizes the sort key for daily spend transactions by coercing potentially None string fields to empty strings ("") before sorting. This ensures robust sorting even when optional fields are absent. Additionally, mcp_namespaced_tool_name has been included in the sort key for more deterministic ordering.


Slack Thread

Open in Cursor Open in Web

Co-authored-by: github <github@mfittko.com>
@cursor
Copy link

cursor bot commented Nov 28, 2025

Cursor Agent can help with this pull request. Just @cursor in comments and I'll start working on changes in this branch.
Learn more about Cursor Agents

@mfittko mfittko marked this pull request as ready for review November 28, 2025 14:42
@mfittko mfittko self-assigned this Nov 28, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants