llm_cost_tracker 0.1.1 → 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +37 -0
- data/README.md +202 -11
- data/lib/llm_cost_tracker/budget.rb +97 -0
- data/lib/llm_cost_tracker/configuration.rb +37 -0
- data/lib/llm_cost_tracker/errors.rb +37 -0
- data/lib/llm_cost_tracker/event_metadata.rb +54 -0
- data/lib/llm_cost_tracker/generators/llm_cost_tracker/add_latency_ms_generator.rb +29 -0
- data/lib/llm_cost_tracker/generators/llm_cost_tracker/templates/add_latency_ms_to_llm_api_calls.rb.erb +9 -0
- data/lib/llm_cost_tracker/generators/llm_cost_tracker/templates/create_llm_api_calls.rb.erb +16 -4
- data/lib/llm_cost_tracker/generators/llm_cost_tracker/templates/initializer.rb.erb +14 -1
- data/lib/llm_cost_tracker/generators/llm_cost_tracker/templates/upgrade_llm_api_call_cost_precision.rb.erb +15 -0
- data/lib/llm_cost_tracker/generators/llm_cost_tracker/templates/upgrade_llm_api_call_tags_to_jsonb.rb.erb +41 -0
- data/lib/llm_cost_tracker/generators/llm_cost_tracker/upgrade_cost_precision_generator.rb +29 -0
- data/lib/llm_cost_tracker/generators/llm_cost_tracker/upgrade_tags_to_jsonb_generator.rb +29 -0
- data/lib/llm_cost_tracker/llm_api_call.rb +68 -2
- data/lib/llm_cost_tracker/middleware/faraday.rb +50 -12
- data/lib/llm_cost_tracker/parsers/anthropic.rb +4 -1
- data/lib/llm_cost_tracker/parsers/gemini.rb +9 -2
- data/lib/llm_cost_tracker/parsers/openai.rb +10 -3
- data/lib/llm_cost_tracker/parsers/openai_compatible.rb +44 -0
- data/lib/llm_cost_tracker/parsers/registry.rb +16 -7
- data/lib/llm_cost_tracker/price_registry.rb +69 -0
- data/lib/llm_cost_tracker/prices.json +51 -0
- data/lib/llm_cost_tracker/pricing.rb +74 -74
- data/lib/llm_cost_tracker/railtie.rb +3 -0
- data/lib/llm_cost_tracker/storage/active_record_store.rb +12 -3
- data/lib/llm_cost_tracker/tracker.rb +49 -54
- data/lib/llm_cost_tracker/unknown_pricing.rb +47 -0
- data/lib/llm_cost_tracker/version.rb +1 -1
- data/lib/llm_cost_tracker.rb +33 -5
- data/llm_cost_tracker.gemspec +4 -3
- metadata +20 -6
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: llm_cost_tracker
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.1.
|
|
4
|
+
version: 0.1.2
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Sergii Khomenko
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2026-04-
|
|
11
|
+
date: 2026-04-18 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: activesupport
|
|
@@ -140,9 +140,10 @@ dependencies:
|
|
|
140
140
|
- - "~>"
|
|
141
141
|
- !ruby/object:Gem::Version
|
|
142
142
|
version: '3.0'
|
|
143
|
-
description: Tracks token usage and estimated costs for OpenAI, Anthropic,
|
|
144
|
-
Gemini calls. Works as Faraday middleware
|
|
145
|
-
per-user/per-feature attribution,
|
|
143
|
+
description: Tracks token usage and estimated costs for OpenAI, Anthropic, Google
|
|
144
|
+
Gemini, OpenRouter, DeepSeek, and OpenAI-compatible calls. Works as Faraday middleware
|
|
145
|
+
for Ruby clients, with ActiveRecord storage, per-user/per-feature attribution, budget
|
|
146
|
+
alerts, and budget enforcement.
|
|
146
147
|
email:
|
|
147
148
|
- sergey@mm.st
|
|
148
149
|
executables: []
|
|
@@ -156,21 +157,34 @@ files:
|
|
|
156
157
|
- README.md
|
|
157
158
|
- Rakefile
|
|
158
159
|
- lib/llm_cost_tracker.rb
|
|
160
|
+
- lib/llm_cost_tracker/budget.rb
|
|
159
161
|
- lib/llm_cost_tracker/configuration.rb
|
|
162
|
+
- lib/llm_cost_tracker/errors.rb
|
|
163
|
+
- lib/llm_cost_tracker/event_metadata.rb
|
|
164
|
+
- lib/llm_cost_tracker/generators/llm_cost_tracker/add_latency_ms_generator.rb
|
|
160
165
|
- lib/llm_cost_tracker/generators/llm_cost_tracker/install_generator.rb
|
|
166
|
+
- lib/llm_cost_tracker/generators/llm_cost_tracker/templates/add_latency_ms_to_llm_api_calls.rb.erb
|
|
161
167
|
- lib/llm_cost_tracker/generators/llm_cost_tracker/templates/create_llm_api_calls.rb.erb
|
|
162
168
|
- lib/llm_cost_tracker/generators/llm_cost_tracker/templates/initializer.rb.erb
|
|
169
|
+
- lib/llm_cost_tracker/generators/llm_cost_tracker/templates/upgrade_llm_api_call_cost_precision.rb.erb
|
|
170
|
+
- lib/llm_cost_tracker/generators/llm_cost_tracker/templates/upgrade_llm_api_call_tags_to_jsonb.rb.erb
|
|
171
|
+
- lib/llm_cost_tracker/generators/llm_cost_tracker/upgrade_cost_precision_generator.rb
|
|
172
|
+
- lib/llm_cost_tracker/generators/llm_cost_tracker/upgrade_tags_to_jsonb_generator.rb
|
|
163
173
|
- lib/llm_cost_tracker/llm_api_call.rb
|
|
164
174
|
- lib/llm_cost_tracker/middleware/faraday.rb
|
|
165
175
|
- lib/llm_cost_tracker/parsers/anthropic.rb
|
|
166
176
|
- lib/llm_cost_tracker/parsers/base.rb
|
|
167
177
|
- lib/llm_cost_tracker/parsers/gemini.rb
|
|
168
178
|
- lib/llm_cost_tracker/parsers/openai.rb
|
|
179
|
+
- lib/llm_cost_tracker/parsers/openai_compatible.rb
|
|
169
180
|
- lib/llm_cost_tracker/parsers/registry.rb
|
|
181
|
+
- lib/llm_cost_tracker/price_registry.rb
|
|
182
|
+
- lib/llm_cost_tracker/prices.json
|
|
170
183
|
- lib/llm_cost_tracker/pricing.rb
|
|
171
184
|
- lib/llm_cost_tracker/railtie.rb
|
|
172
185
|
- lib/llm_cost_tracker/storage/active_record_store.rb
|
|
173
186
|
- lib/llm_cost_tracker/tracker.rb
|
|
187
|
+
- lib/llm_cost_tracker/unknown_pricing.rb
|
|
174
188
|
- lib/llm_cost_tracker/version.rb
|
|
175
189
|
- llm_cost_tracker.gemspec
|
|
176
190
|
homepage: https://github.com/sergey-homenko/llm_cost_tracker
|
|
@@ -198,5 +212,5 @@ requirements: []
|
|
|
198
212
|
rubygems_version: 3.5.9
|
|
199
213
|
signing_key:
|
|
200
214
|
specification_version: 4
|
|
201
|
-
summary: Self-hosted LLM API cost
|
|
215
|
+
summary: Self-hosted LLM API cost guardrails for Ruby and Rails
|
|
202
216
|
test_files: []
|