metergraph-core 0.8.7__tar.gz → 0.8.9__tar.gz
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.
- {metergraph_core-0.8.7/src/metergraph_core.egg-info → metergraph_core-0.8.9}/PKG-INFO +11 -5
- {metergraph_core-0.8.7 → metergraph_core-0.8.9}/README.md +10 -4
- {metergraph_core-0.8.7 → metergraph_core-0.8.9}/pyproject.toml +1 -1
- {metergraph_core-0.8.7 → metergraph_core-0.8.9}/src/metergraph_core/catalog.py +3 -0
- {metergraph_core-0.8.7 → metergraph_core-0.8.9}/src/metergraph_core/data/prices.yaml +82 -2
- {metergraph_core-0.8.7 → metergraph_core-0.8.9}/src/metergraph_core/data/sources.yaml +17 -5
- {metergraph_core-0.8.7 → metergraph_core-0.8.9/src/metergraph_core.egg-info}/PKG-INFO +11 -5
- {metergraph_core-0.8.7 → metergraph_core-0.8.9}/MANIFEST.in +0 -0
- {metergraph_core-0.8.7 → metergraph_core-0.8.9}/setup.cfg +0 -0
- {metergraph_core-0.8.7 → metergraph_core-0.8.9}/src/metergraph_core/__init__.py +0 -0
- {metergraph_core-0.8.7 → metergraph_core-0.8.9}/src/metergraph_core/billing.py +0 -0
- {metergraph_core-0.8.7 → metergraph_core-0.8.9}/src/metergraph_core/calls.py +0 -0
- {metergraph_core-0.8.7 → metergraph_core-0.8.9}/src/metergraph_core/catalog_delta.py +0 -0
- {metergraph_core-0.8.7 → metergraph_core-0.8.9}/src/metergraph_core/data/models.yaml +0 -0
- {metergraph_core-0.8.7 → metergraph_core-0.8.9}/src/metergraph_core/extractors.py +0 -0
- {metergraph_core-0.8.7 → metergraph_core-0.8.9}/src/metergraph_core/loader.py +0 -0
- {metergraph_core-0.8.7 → metergraph_core-0.8.9}/src/metergraph_core/models.py +0 -0
- {metergraph_core-0.8.7 → metergraph_core-0.8.9}/src/metergraph_core/refresh.py +0 -0
- {metergraph_core-0.8.7 → metergraph_core-0.8.9}/src/metergraph_core/responses.py +0 -0
- {metergraph_core-0.8.7 → metergraph_core-0.8.9}/src/metergraph_core/retrieval.py +0 -0
- {metergraph_core-0.8.7 → metergraph_core-0.8.9}/src/metergraph_core/sources.py +0 -0
- {metergraph_core-0.8.7 → metergraph_core-0.8.9}/src/metergraph_core.egg-info/SOURCES.txt +0 -0
- {metergraph_core-0.8.7 → metergraph_core-0.8.9}/src/metergraph_core.egg-info/dependency_links.txt +0 -0
- {metergraph_core-0.8.7 → metergraph_core-0.8.9}/src/metergraph_core.egg-info/requires.txt +0 -0
- {metergraph_core-0.8.7 → metergraph_core-0.8.9}/src/metergraph_core.egg-info/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: metergraph-core
|
|
3
|
-
Version: 0.8.
|
|
3
|
+
Version: 0.8.9
|
|
4
4
|
Summary: Open, effective-dated LLM pricing catalog and deterministic cost calculator for popular models across major providers and gateways, including OpenAI, Anthropic, Google Gemini, AWS Bedrock, OpenRouter, Vercel AI Gateway, and more.
|
|
5
5
|
Author: Metergraph
|
|
6
6
|
License-Expression: Apache-2.0
|
|
@@ -436,14 +436,19 @@ for source in load_source_registry().sources:
|
|
|
436
436
|
|
|
437
437
|
Seeding a source does not make it low-risk. Low-risk means a proven official
|
|
438
438
|
parser whose live structural fingerprint has been reviewed and recorded.
|
|
439
|
-
Anthropic
|
|
440
|
-
|
|
439
|
+
Anthropic and xAI start low-risk; each may change existing rates, in its
|
|
440
|
+
allowed dimensions, on existing rows.
|
|
441
441
|
|
|
442
442
|
OpenAI is reviewed discovery only. Its official parser still reads the live
|
|
443
443
|
rows, but the live pricing data no longer exposes the rendered column header
|
|
444
444
|
needed to verify the parser's positional columns, so its rows are evidence for
|
|
445
445
|
review, never automated changes.
|
|
446
446
|
|
|
447
|
+
Google (Gemini API) is reviewed discovery only. The registry points at the
|
|
448
|
+
pricing page's current home, so the allowlisted fetch needs no redirect, and
|
|
449
|
+
its official parser's reading of that page and a fingerprint need review
|
|
450
|
+
before it can propose changes again.
|
|
451
|
+
|
|
447
452
|
Every other source is reviewed discovery only. It is read with a generic
|
|
448
453
|
parser, `html-tables` for any page's tables or `gpu-license-prose` for GPU or
|
|
449
454
|
license pricing stated in prose, which records normalized evidence and never
|
|
@@ -514,8 +519,9 @@ price on one canonical entry instead of a conflicting second `add_model`.
|
|
|
514
519
|
|
|
515
520
|
The fetch-capable scripts read `<source-id>.*` files from `--content-dir` instead
|
|
516
521
|
of fetching. The
|
|
517
|
-
tests use one synthetic fixture per low-risk source, plus OpenAI's
|
|
518
|
-
`tests/fixtures/sources/`, reproducing only the structure its
|
|
522
|
+
tests use one synthetic fixture per low-risk source, plus OpenAI's and
|
|
523
|
+
Google's, in `tests/fixtures/sources/`, reproducing only the structure its
|
|
524
|
+
parser reads;
|
|
519
525
|
the generic discovery parsers are tested on small inline synthetic pages.
|
|
520
526
|
|
|
521
527
|
## Provider review and contributions
|
|
@@ -406,14 +406,19 @@ for source in load_source_registry().sources:
|
|
|
406
406
|
|
|
407
407
|
Seeding a source does not make it low-risk. Low-risk means a proven official
|
|
408
408
|
parser whose live structural fingerprint has been reviewed and recorded.
|
|
409
|
-
Anthropic
|
|
410
|
-
|
|
409
|
+
Anthropic and xAI start low-risk; each may change existing rates, in its
|
|
410
|
+
allowed dimensions, on existing rows.
|
|
411
411
|
|
|
412
412
|
OpenAI is reviewed discovery only. Its official parser still reads the live
|
|
413
413
|
rows, but the live pricing data no longer exposes the rendered column header
|
|
414
414
|
needed to verify the parser's positional columns, so its rows are evidence for
|
|
415
415
|
review, never automated changes.
|
|
416
416
|
|
|
417
|
+
Google (Gemini API) is reviewed discovery only. The registry points at the
|
|
418
|
+
pricing page's current home, so the allowlisted fetch needs no redirect, and
|
|
419
|
+
its official parser's reading of that page and a fingerprint need review
|
|
420
|
+
before it can propose changes again.
|
|
421
|
+
|
|
417
422
|
Every other source is reviewed discovery only. It is read with a generic
|
|
418
423
|
parser, `html-tables` for any page's tables or `gpu-license-prose` for GPU or
|
|
419
424
|
license pricing stated in prose, which records normalized evidence and never
|
|
@@ -484,8 +489,9 @@ price on one canonical entry instead of a conflicting second `add_model`.
|
|
|
484
489
|
|
|
485
490
|
The fetch-capable scripts read `<source-id>.*` files from `--content-dir` instead
|
|
486
491
|
of fetching. The
|
|
487
|
-
tests use one synthetic fixture per low-risk source, plus OpenAI's
|
|
488
|
-
`tests/fixtures/sources/`, reproducing only the structure its
|
|
492
|
+
tests use one synthetic fixture per low-risk source, plus OpenAI's and
|
|
493
|
+
Google's, in `tests/fixtures/sources/`, reproducing only the structure its
|
|
494
|
+
parser reads;
|
|
489
495
|
the generic discovery parsers are tested on small inline synthetic pages.
|
|
490
496
|
|
|
491
497
|
## Provider review and contributions
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "metergraph-core"
|
|
3
|
-
version = "0.8.
|
|
3
|
+
version = "0.8.9"
|
|
4
4
|
description = "Open, effective-dated LLM pricing catalog and deterministic cost calculator for popular models across major providers and gateways, including OpenAI, Anthropic, Google Gemini, AWS Bedrock, OpenRouter, Vercel AI Gateway, and more."
|
|
5
5
|
readme = "README.md"
|
|
6
6
|
license = "Apache-2.0"
|
|
@@ -32,6 +32,9 @@ _DIRECT_CHANNEL_BY_PROVIDER = {
|
|
|
32
32
|
"google": "google-api",
|
|
33
33
|
"vercel": "vercel-ai-gateway",
|
|
34
34
|
"openrouter": "openrouter-api",
|
|
35
|
+
# Captured Tencent API traffic is assumed to use TokenHub; review this
|
|
36
|
+
# mapping before adding TokenHub rates for Tencent's own models.
|
|
37
|
+
"tencent": "tencent-tokenhub-api",
|
|
35
38
|
"vertex-ai": "google-vertex-ai",
|
|
36
39
|
"fireworks": "fireworks-api",
|
|
37
40
|
"bedrock": "aws-bedrock",
|
|
@@ -6,9 +6,9 @@
|
|
|
6
6
|
#
|
|
7
7
|
# Community updates welcome: add an alias or price entry with its provider
|
|
8
8
|
# source_url and open a PR. CI validates structure and date overlaps.
|
|
9
|
-
version: "2026-11-
|
|
9
|
+
version: "2026-11-04"
|
|
10
10
|
currency: USD
|
|
11
|
-
pricing_verified_at: "2026-11-
|
|
11
|
+
pricing_verified_at: "2026-11-04"
|
|
12
12
|
models:
|
|
13
13
|
- canonical_id: openai/gpt-6-sol
|
|
14
14
|
publisher: openai
|
|
@@ -3830,10 +3830,24 @@ models:
|
|
|
3830
3830
|
- channel: moonshot-api
|
|
3831
3831
|
region: global
|
|
3832
3832
|
effective_from: "2026-10-07"
|
|
3833
|
+
effective_to: "2026-11-03"
|
|
3833
3834
|
input_per_mtok: 0.95
|
|
3834
3835
|
output_per_mtok: 4.00
|
|
3835
3836
|
cache_read_per_mtok: 0.19
|
|
3836
3837
|
source_url: https://platform.kimi.ai/docs/pricing/chat
|
|
3838
|
+
# Batch input/output use Kimi's 60% rule. K2.7 Code has no cache-write
|
|
3839
|
+
# rate because it does not support cache writes. No batch cache-read rate
|
|
3840
|
+
# is verified, so the catalog uses the standard $0.19/MTok fallback for hits.
|
|
3841
|
+
- channel: moonshot-api
|
|
3842
|
+
region: global
|
|
3843
|
+
effective_from: "2026-11-03"
|
|
3844
|
+
input_per_mtok: 0.95
|
|
3845
|
+
output_per_mtok: 4.00
|
|
3846
|
+
cache_read_per_mtok: 0.19
|
|
3847
|
+
batch_input_per_mtok: 0.57
|
|
3848
|
+
batch_output_per_mtok: 2.40
|
|
3849
|
+
rules: {input_includes_cache_read: true}
|
|
3850
|
+
source_url: https://platform.kimi.ai/docs/pricing/batch
|
|
3837
3851
|
- channel: openrouter-api
|
|
3838
3852
|
region: global
|
|
3839
3853
|
effective_from: "2026-10-20"
|
|
@@ -3843,6 +3857,32 @@ models:
|
|
|
3843
3857
|
rules:
|
|
3844
3858
|
varies_by_provider: true
|
|
3845
3859
|
source_url: https://openrouter.ai/api/v1/models
|
|
3860
|
+
- canonical_id: moonshotai/kimi-k2.8-preview
|
|
3861
|
+
publisher: moonshotai
|
|
3862
|
+
aliases:
|
|
3863
|
+
# This subscription ID follows Kimi Code's backing model; end the alias
|
|
3864
|
+
# when Kimi switches it to another model.
|
|
3865
|
+
- provider: moonshotai
|
|
3866
|
+
alias: kimi-for-coding
|
|
3867
|
+
channel: kimi-code-subscription
|
|
3868
|
+
effective_from: "2026-09-11"
|
|
3869
|
+
source_url: https://www.kimi.com/code/docs/en/kimi-code/whats-new.html
|
|
3870
|
+
- provider: tencent
|
|
3871
|
+
alias: kimi-k2.8-preview
|
|
3872
|
+
channel: tencent-tokenhub-api
|
|
3873
|
+
effective_from: "2026-11-02"
|
|
3874
|
+
source_url: https://intl.cloud.tencent.com/document/product/1300/80635
|
|
3875
|
+
prices:
|
|
3876
|
+
# First verified TokenHub rate, not its launch date. Add a separate
|
|
3877
|
+
# earlier row if historical rates are later verified.
|
|
3878
|
+
- channel: tencent-tokenhub-api
|
|
3879
|
+
region: global
|
|
3880
|
+
effective_from: "2026-11-02"
|
|
3881
|
+
input_per_mtok: 1.00
|
|
3882
|
+
output_per_mtok: 4.00
|
|
3883
|
+
cache_read_per_mtok: 0.25
|
|
3884
|
+
rules: {input_includes_cache_read: true}
|
|
3885
|
+
source_url: https://intl.cloud.tencent.com/document/product/1300/78937
|
|
3846
3886
|
- canonical_id: moonshotai/kimi-k3-fast
|
|
3847
3887
|
publisher: moonshotai
|
|
3848
3888
|
aliases:
|
|
@@ -12500,6 +12540,46 @@ models:
|
|
|
12500
12540
|
cache_read_per_mtok: 0.50
|
|
12501
12541
|
source_url: https://developers.openai.com/api/docs/pricing
|
|
12502
12542
|
|
|
12543
|
+
- canonical_id: openai/gpt-6-rosalind
|
|
12544
|
+
publisher: openai
|
|
12545
|
+
aliases:
|
|
12546
|
+
- {provider: openai, alias: gpt-6-rosalind, channel: openai-api}
|
|
12547
|
+
- {provider: litellm, alias: gpt-6-rosalind, channel: openai-api}
|
|
12548
|
+
- {provider: unknown, alias: gpt-6-rosalind, channel: openai-api}
|
|
12549
|
+
- {provider: openai, alias: openai/gpt-6-rosalind, channel: openai-api}
|
|
12550
|
+
prices:
|
|
12551
|
+
# First verified rate, not a launch date.
|
|
12552
|
+
# The 5m field holds OpenAI's 30-minute cache write; its 12-hour tier
|
|
12553
|
+
# has no field.
|
|
12554
|
+
- channel: openai-api
|
|
12555
|
+
region: global
|
|
12556
|
+
effective_from: "2026-11-04"
|
|
12557
|
+
input_per_mtok: 15.00
|
|
12558
|
+
output_per_mtok: 75.00
|
|
12559
|
+
cache_read_per_mtok: 1.50
|
|
12560
|
+
cache_write_5m_per_mtok: 18.75
|
|
12561
|
+
rules:
|
|
12562
|
+
input_includes_cache_read: true
|
|
12563
|
+
long_context: {threshold: 272000, input_multiplier: 2, output_multiplier: 1.5}
|
|
12564
|
+
source_url: https://developers.openai.com/api/docs/pricing
|
|
12565
|
+
|
|
12566
|
+
- canonical_id: openai/gpt-6-astra-law
|
|
12567
|
+
publisher: openai
|
|
12568
|
+
aliases:
|
|
12569
|
+
- {provider: openai, alias: gpt-6-astra-law, channel: openai-api}
|
|
12570
|
+
- {provider: litellm, alias: gpt-6-astra-law, channel: openai-api}
|
|
12571
|
+
- {provider: unknown, alias: gpt-6-astra-law, channel: openai-api}
|
|
12572
|
+
- {provider: openai, alias: openai/gpt-6-astra-law, channel: openai-api}
|
|
12573
|
+
prices:
|
|
12574
|
+
# First verified rate, not a launch date.
|
|
12575
|
+
- channel: openai-api
|
|
12576
|
+
region: global
|
|
12577
|
+
effective_from: "2026-11-04"
|
|
12578
|
+
input_per_mtok: 10.00
|
|
12579
|
+
output_per_mtok: 50.00
|
|
12580
|
+
cache_read_per_mtok: 1.00
|
|
12581
|
+
source_url: https://developers.openai.com/api/docs/pricing
|
|
12582
|
+
|
|
12503
12583
|
- canonical_id: openai/chat-latest
|
|
12504
12584
|
publisher: openai
|
|
12505
12585
|
aliases:
|
|
@@ -66,17 +66,19 @@ sources:
|
|
|
66
66
|
eligible: true
|
|
67
67
|
dimensions: [input_per_mtok, output_per_mtok, cache_write_5m_per_mtok, cache_read_per_mtok]
|
|
68
68
|
|
|
69
|
+
# The current destination of the Gemini API pricing page
|
|
70
|
+
# (ai.google.dev/gemini-api/docs/pricing redirects here), so the allowlisted
|
|
71
|
+
# fetch needs no redirect. Reviewed discovery only until the google parser's
|
|
72
|
+
# reading of this page and a fingerprint are reviewed.
|
|
69
73
|
- id: google-api-pricing
|
|
70
74
|
provider: google
|
|
71
75
|
channel: google-api
|
|
72
76
|
catalog_channel: true
|
|
73
|
-
url: https://
|
|
77
|
+
url: https://aistudio.google.com/docs/pricing
|
|
74
78
|
parser: google
|
|
75
79
|
dimensions: [input_per_mtok, output_per_mtok, cache_read_per_mtok]
|
|
76
|
-
fingerprint:
|
|
77
|
-
low_risk:
|
|
78
|
-
eligible: true
|
|
79
|
-
dimensions: [input_per_mtok, output_per_mtok, cache_read_per_mtok]
|
|
80
|
+
fingerprint: null
|
|
81
|
+
low_risk: {eligible: false, dimensions: []}
|
|
80
82
|
|
|
81
83
|
- id: deepseek-api-pricing
|
|
82
84
|
provider: deepseek
|
|
@@ -162,6 +164,16 @@ sources:
|
|
|
162
164
|
fingerprint: null
|
|
163
165
|
low_risk: {eligible: false, dimensions: []}
|
|
164
166
|
|
|
167
|
+
- id: tencent-tokenhub-kimi-k28-pricing
|
|
168
|
+
provider: tencent
|
|
169
|
+
channel: tencent-tokenhub-api
|
|
170
|
+
catalog_channel: true
|
|
171
|
+
url: https://intl.cloud.tencent.com/document/product/1300/78937
|
|
172
|
+
parser: html-tables
|
|
173
|
+
dimensions: [input_per_mtok, output_per_mtok, cache_read_per_mtok]
|
|
174
|
+
fingerprint: null
|
|
175
|
+
low_risk: {eligible: false, dimensions: []}
|
|
176
|
+
|
|
165
177
|
# Gemini and partner models on Vertex AI. Prices vary by model, context
|
|
166
178
|
# length, tier and processing mode; reviewed discovery only. The URL is the
|
|
167
179
|
# current destination of Google's Vertex AI generative pricing page
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: metergraph-core
|
|
3
|
-
Version: 0.8.
|
|
3
|
+
Version: 0.8.9
|
|
4
4
|
Summary: Open, effective-dated LLM pricing catalog and deterministic cost calculator for popular models across major providers and gateways, including OpenAI, Anthropic, Google Gemini, AWS Bedrock, OpenRouter, Vercel AI Gateway, and more.
|
|
5
5
|
Author: Metergraph
|
|
6
6
|
License-Expression: Apache-2.0
|
|
@@ -436,14 +436,19 @@ for source in load_source_registry().sources:
|
|
|
436
436
|
|
|
437
437
|
Seeding a source does not make it low-risk. Low-risk means a proven official
|
|
438
438
|
parser whose live structural fingerprint has been reviewed and recorded.
|
|
439
|
-
Anthropic
|
|
440
|
-
|
|
439
|
+
Anthropic and xAI start low-risk; each may change existing rates, in its
|
|
440
|
+
allowed dimensions, on existing rows.
|
|
441
441
|
|
|
442
442
|
OpenAI is reviewed discovery only. Its official parser still reads the live
|
|
443
443
|
rows, but the live pricing data no longer exposes the rendered column header
|
|
444
444
|
needed to verify the parser's positional columns, so its rows are evidence for
|
|
445
445
|
review, never automated changes.
|
|
446
446
|
|
|
447
|
+
Google (Gemini API) is reviewed discovery only. The registry points at the
|
|
448
|
+
pricing page's current home, so the allowlisted fetch needs no redirect, and
|
|
449
|
+
its official parser's reading of that page and a fingerprint need review
|
|
450
|
+
before it can propose changes again.
|
|
451
|
+
|
|
447
452
|
Every other source is reviewed discovery only. It is read with a generic
|
|
448
453
|
parser, `html-tables` for any page's tables or `gpu-license-prose` for GPU or
|
|
449
454
|
license pricing stated in prose, which records normalized evidence and never
|
|
@@ -514,8 +519,9 @@ price on one canonical entry instead of a conflicting second `add_model`.
|
|
|
514
519
|
|
|
515
520
|
The fetch-capable scripts read `<source-id>.*` files from `--content-dir` instead
|
|
516
521
|
of fetching. The
|
|
517
|
-
tests use one synthetic fixture per low-risk source, plus OpenAI's
|
|
518
|
-
`tests/fixtures/sources/`, reproducing only the structure its
|
|
522
|
+
tests use one synthetic fixture per low-risk source, plus OpenAI's and
|
|
523
|
+
Google's, in `tests/fixtures/sources/`, reproducing only the structure its
|
|
524
|
+
parser reads;
|
|
519
525
|
the generic discovery parsers are tested on small inline synthetic pages.
|
|
520
526
|
|
|
521
527
|
## Provider review and contributions
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{metergraph_core-0.8.7 → metergraph_core-0.8.9}/src/metergraph_core.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|