Skip to main content

EcoCode

Try the VS Code extension on Marketplace: EcoCode Insights

EcoCode Insights logo

EcoCode is an open-source toolkit to measure the energy impact of your code, detect regressions, and guide more efficient optimizations.

In action

Inline optimization suggestions (squiggles + code actions), a workspace dashboard, and honest "measured vs estimated" labels.

Optimization suggestions and inline diagnostics

Workspace summary dashboard

Top files with measured/estimated badges

Current file metrics

Stability panel

Install

pipx install ecocode-cli

pipx installs the ecocode command on your PATH in an isolated environment (Python 3.10+). No pipx yet? sudo apt install pipx (Debian/Ubuntu) or python3 -m pip install --user pipx, then pipx ensurepath. Alternatively, install into a virtual environment: python3 -m venv .venv && .venv/bin/pip install ecocode-cli.

On Debian/Ubuntu/WSL, a plain pip install into the system Python is blocked by PEP 668 — use pipx or a venv.

A few examples:

ecocode profile path/to/script.py            # profile a single file
ecocode profile-repo --root .                # scan a whole repository
ecocode optimize suggest path/to/script.py   # optimization suggestions

Prefer a GUI? Install the VS Code extension — it drives the same CLI.

What this project is for?

EcoCode helps answer very practical questions:

  • Is this script consuming more than before?
  • Is a PR degrading performance and energy usage?
  • Which files or code areas are the most expensive?
  • Which optimizations should be prioritized first?

In practice, the CLI already lets you:

  • profile a script (CPU, memory, estimated energy),
  • create a baseline and compare future runs,
  • scan an entire repository,
  • track trends over time,
  • generate optimization suggestions,
  • export results for CI tooling (JSON/SARIF).

Why it is useful?

The project makes an often invisible topic visible: the runtime cost of software.

In a team workflow, this makes it easier to:

  • compare changes with real numbers instead of guesswork,
  • catch energy regressions before they reach production,
  • add energy checks to CI the same way we already gate tests and linting,
  • improve performance and reliability without losing sight of sustainability.

Where we are going?

The goal is to become a reference platform for sustainable software engineering:

  • increasingly reliable, cross-platform runtime measurement,
  • deeper repository analysis,
  • smarter optimization recommendations,
  • simpler integration into team workflows.

AI suggestions are optional

EcoCode works fully offline with deterministic, rule-based suggestions — no API key needed. AI-powered suggestions are opt-in, configured in ecocode.toml:

  • Local (Ollama): a model runs on your machine; your code never leaves it; no key. The endpoint is configurable via ECOCODE_OLLAMA_BASE_URL (HTTP or HTTPS).
  • Remote (Anthropic): higher quality, but your source is sent to the API, so it needs your own key via the ECOCODE_LLM_API_KEY environment variable. The key is read only from the environment — never stored in ecocode.toml, VS Code settings, or the repository.
export ECOCODE_LLM_API_KEY="sk-ant-..."   # only needed for the remote provider

Full documentation

If you want full details (commands, outputs, examples, roadmap, etc.), see the complete project documentation:

documentation.md

Contributing

If the project interests you and you want to help:

You can:

  • propose new features,
  • add new functionality,
  • fix potential issues and bugs,
  • improve the app's reliability,
  • submit pull requests.

See also:

Release files for ecocode-cli 0.2.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ecocode-cli 0.2.2
File Size Uploaded
ecocode_cli-0.2.2.tar.gz 46.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for ecocode-cli 0.2.2
File Interpreter ABI Platform
ecocode_cli-0.2.2-py3-none-any.whl Python 3 none any Details

Total release size: 91.0 kB

Release files / ecocode_cli-0.2.2.tar.gz

Download URL ecocode_cli-0.2.2.tar.gz
Size 46.1 kB
Tags Source
SHA-256 checksum
How to use checksums
920526cff9428c4469a3f4f2ab66a0f34e551b91619a80e1762c0928e770f41b
BLAKE2b-256 checksum
How to use checksums
df695e56dd33dda0c8447eb181fd40ca4d6feb4b080a6012b5c162519a263d1d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / ecocode_cli-0.2.2-py3-none-any.whl

Download URL ecocode_cli-0.2.2-py3-none-any.whl
Size 44.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
2c7d4a4ba54b2dbc88a37189a8124a5dce37e142e1cbe3b11608cbafd13c53ee
BLAKE2b-256 checksum
How to use checksums
da71576b14d825843c69af8a236cbe364c01618d74d8d48b443cd8e9183bd3fa
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release history Release notifications | RSS feed

This release

0.2.2 This release

2 release files

0.2.1

2 release files

0.2.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page