greenpick 0.7.0__tar.gz → 0.8.0__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.
- {greenpick-0.7.0/src/greenpick.egg-info → greenpick-0.8.0}/PKG-INFO +11 -7
- {greenpick-0.7.0 → greenpick-0.8.0}/README.md +342 -338
- {greenpick-0.7.0 → greenpick-0.8.0}/pyproject.toml +59 -59
- {greenpick-0.7.0 → greenpick-0.8.0}/src/greenpick/__init__.py +15 -15
- {greenpick-0.7.0 → greenpick-0.8.0}/src/greenpick/data/auto_repository.py +55 -50
- {greenpick-0.7.0 → greenpick-0.8.0}/src/greenpick/data/emission_factors.json +48 -40
- greenpick-0.8.0/src/greenpick/data/japan_repository.py +177 -0
- {greenpick-0.7.0 → greenpick-0.8.0}/src/greenpick/data/regions.json +35 -35
- {greenpick-0.7.0 → greenpick-0.8.0}/src/greenpick/data/typical.json +1106 -2
- {greenpick-0.7.0 → greenpick-0.8.0}/src/greenpick/data/typical_repository.py +120 -120
- {greenpick-0.7.0 → greenpick-0.8.0}/src/greenpick/server.py +571 -570
- {greenpick-0.7.0 → greenpick-0.8.0}/src/greenpick/services/data_hint.py +191 -189
- {greenpick-0.7.0 → greenpick-0.8.0}/src/greenpick/services/sources.py +131 -109
- {greenpick-0.7.0 → greenpick-0.8.0/src/greenpick.egg-info}/PKG-INFO +11 -7
- {greenpick-0.7.0 → greenpick-0.8.0}/src/greenpick.egg-info/SOURCES.txt +1 -0
- {greenpick-0.7.0 → greenpick-0.8.0}/tests/test_services.py +2233 -2158
- {greenpick-0.7.0 → greenpick-0.8.0}/LICENSE +0 -0
- {greenpick-0.7.0 → greenpick-0.8.0}/setup.cfg +0 -0
- {greenpick-0.7.0 → greenpick-0.8.0}/src/greenpick/__main__.py +0 -0
- {greenpick-0.7.0 → greenpick-0.8.0}/src/greenpick/config.py +0 -0
- {greenpick-0.7.0 → greenpick-0.8.0}/src/greenpick/data/__init__.py +0 -0
- {greenpick-0.7.0 → greenpick-0.8.0}/src/greenpick/data/_net.py +0 -0
- {greenpick-0.7.0 → greenpick-0.8.0}/src/greenpick/data/annual.json +0 -0
- {greenpick-0.7.0 → greenpick-0.8.0}/src/greenpick/data/canada_repository.py +0 -0
- {greenpick-0.7.0 → greenpick-0.8.0}/src/greenpick/data/eia_repository.py +0 -0
- {greenpick-0.7.0 → greenpick-0.8.0}/src/greenpick/data/electricitymaps_repository.py +0 -0
- {greenpick-0.7.0 → greenpick-0.8.0}/src/greenpick/data/entsoe_repository.py +0 -0
- {greenpick-0.7.0 → greenpick-0.8.0}/src/greenpick/data/gpu_power.json +0 -0
- {greenpick-0.7.0 → greenpick-0.8.0}/src/greenpick/data/inference_energy.json +0 -0
- {greenpick-0.7.0 → greenpick-0.8.0}/src/greenpick/data/instance_families.json +0 -0
- {greenpick-0.7.0 → greenpick-0.8.0}/src/greenpick/data/mock_repository.py +0 -0
- {greenpick-0.7.0 → greenpick-0.8.0}/src/greenpick/data/network.json +0 -0
- {greenpick-0.7.0 → greenpick-0.8.0}/src/greenpick/data/power.json +0 -0
- {greenpick-0.7.0 → greenpick-0.8.0}/src/greenpick/data/pricing.json +0 -0
- {greenpick-0.7.0 → greenpick-0.8.0}/src/greenpick/data/repository.py +0 -0
- {greenpick-0.7.0 → greenpick-0.8.0}/src/greenpick/data/static_data.py +0 -0
- {greenpick-0.7.0 → greenpick-0.8.0}/src/greenpick/models.py +0 -0
- {greenpick-0.7.0 → greenpick-0.8.0}/src/greenpick/services/__init__.py +0 -0
- {greenpick-0.7.0 → greenpick-0.8.0}/src/greenpick/services/carbon_service.py +0 -0
- {greenpick-0.7.0 → greenpick-0.8.0}/src/greenpick/services/cost_service.py +0 -0
- {greenpick-0.7.0 → greenpick-0.8.0}/src/greenpick/services/forecast_service.py +0 -0
- {greenpick-0.7.0 → greenpick-0.8.0}/src/greenpick/services/inference_service.py +0 -0
- {greenpick-0.7.0 → greenpick-0.8.0}/src/greenpick/services/instance_service.py +0 -0
- {greenpick-0.7.0 → greenpick-0.8.0}/src/greenpick/services/justification_service.py +0 -0
- {greenpick-0.7.0 → greenpick-0.8.0}/src/greenpick/services/latency_service.py +0 -0
- {greenpick-0.7.0 → greenpick-0.8.0}/src/greenpick/services/locality_service.py +0 -0
- {greenpick-0.7.0 → greenpick-0.8.0}/src/greenpick/services/metric_scaffold_service.py +0 -0
- {greenpick-0.7.0 → greenpick-0.8.0}/src/greenpick/services/migration_service.py +0 -0
- {greenpick-0.7.0 → greenpick-0.8.0}/src/greenpick/services/offhours_service.py +0 -0
- {greenpick-0.7.0 → greenpick-0.8.0}/src/greenpick/services/recommender.py +0 -0
- {greenpick-0.7.0 → greenpick-0.8.0}/src/greenpick/services/residency_service.py +0 -0
- {greenpick-0.7.0 → greenpick-0.8.0}/src/greenpick/services/rightsizing_service.py +0 -0
- {greenpick-0.7.0 → greenpick-0.8.0}/src/greenpick/services/scheduling_service.py +0 -0
- {greenpick-0.7.0 → greenpick-0.8.0}/src/greenpick/services/serverless_service.py +0 -0
- {greenpick-0.7.0 → greenpick-0.8.0}/src/greenpick/services/serving_service.py +0 -0
- {greenpick-0.7.0 → greenpick-0.8.0}/src/greenpick/services/training_service.py +0 -0
- {greenpick-0.7.0 → greenpick-0.8.0}/src/greenpick/services/typical_ranking_service.py +0 -0
- {greenpick-0.7.0 → greenpick-0.8.0}/src/greenpick.egg-info/dependency_links.txt +0 -0
- {greenpick-0.7.0 → greenpick-0.8.0}/src/greenpick.egg-info/entry_points.txt +0 -0
- {greenpick-0.7.0 → greenpick-0.8.0}/src/greenpick.egg-info/requires.txt +0 -0
- {greenpick-0.7.0 → greenpick-0.8.0}/src/greenpick.egg-info/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: greenpick
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.8.0
|
|
4
4
|
Summary: Design-time sustainability co-pilot (MCP server): greener, cheaper cloud infrastructure decisions with carbon + cost + latency tradeoffs.
|
|
5
5
|
Author-email: "Data Science Advisers, LLC" <info@datascienceadvisers.com>
|
|
6
6
|
License-Expression: MIT
|
|
@@ -52,8 +52,8 @@ environment (Cursor / Claude Code / Kiro). Ask it where to deploy, when to run a
|
|
|
52
52
|
right-size — and it answers with an honest **carbon + cost + latency** tradeoff, in-editor, in
|
|
53
53
|
seconds. (It responds when you ask; auto-nudging on infra-code changes is on the roadmap.)
|
|
54
54
|
|
|
55
|
-
> **Status: working — 20 tools.** Live carbon for US (EIA-930), EU (ENTSO-E)
|
|
56
|
-
> IESO — no key needed), cross-cloud cost
|
|
55
|
+
> **Status: working — 20 tools.** Live carbon for US (EIA-930), EU (ENTSO-E), Canada (Hydro-Québec,
|
|
56
|
+
> IESO — no key needed) and Tokyo (TEPCO — no key needed), cross-cloud cost
|
|
57
57
|
> parity (Vantage-refreshed), per-axis R/Y/G ratings, carbon-aware scheduling + day-ahead forecast,
|
|
58
58
|
> GPU-training **and LLM-inference** carbon, right-sizing, serving-pattern and data-locality/residency
|
|
59
59
|
> checks — all shipped. Offline or without API keys, falls back to clearly-labelled *typical* values:
|
|
@@ -139,7 +139,7 @@ backfire guards** — is the part nothing else puts together.
|
|
|
139
139
|
- **Free data only.** No flow-traced consumption accounting; carbon forecast is relative, not absolute.
|
|
140
140
|
|
|
141
141
|
Roadmap: data-format/engine efficiency advice, sub-national grid zones, CI/CD integration.
|
|
142
|
-
See `
|
|
142
|
+
See `CHANGELOG.md` for what has shipped in each version.
|
|
143
143
|
|
|
144
144
|
## MCP tools
|
|
145
145
|
|
|
@@ -197,11 +197,15 @@ See `docs/user-questions-backlog.md`.
|
|
|
197
197
|
- **Hydro-Québec** (Montreal / Québec City regions) and **IESO** (Toronto regions) — live hourly
|
|
198
198
|
generation by source, public, **no key needed**. Hydro-Québec figures arrive 1.5–6 h late, so the
|
|
199
199
|
latest complete hour is used and its timestamp shown.
|
|
200
|
+
- **Tokyo** (the three Tokyo regions) — the Tokyo area's half-hourly generation by source, about an
|
|
201
|
+
hour behind, **no key needed**. Source: [Tokyo Electric Power Company Holdings, Inc.](https://www.tepco.co.jp/forecast/html/area_data-j.html). Used with TEPCO's
|
|
202
|
+
permission; GreenPick shows only the carbon intensity it calculates from the mix (never TEPCO's own
|
|
203
|
+
figures), credits TEPCO on every Tokyo result, and fetches at most once every 30 minutes.
|
|
200
204
|
- **Typical** — the offline default and fallback: for each region, this calendar month's average
|
|
201
|
-
intensity and average hour-of-day profile (UTC), computed from 12 months of real hourly
|
|
202
|
-
|
|
205
|
+
intensity and average hour-of-day profile (UTC), computed from 12 months of real hourly data from
|
|
206
|
+
the live sources above (`data/typical.json`, refreshed by `scripts/refresh_typical.py`). Labelled
|
|
203
207
|
`quality: "typical"` — a realistic norm, never presented as a current reading.
|
|
204
|
-
- **Annual** — for Singapore,
|
|
208
|
+
- **Annual** — for Singapore, Mumbai/Pune and Sydney, where no free hourly data exists: the country's
|
|
205
209
|
yearly lifecycle grid intensity from [Ember](https://ember-energy.org/) (via Our World in Data,
|
|
206
210
|
CC BY 4.0), with source and year (`data/annual.json`). Labelled `quality: "annual_average"`; fine for
|
|
207
211
|
comparing regions, but carries no timing signal.
|