Measure and report carbon footprint of Kubernetes applications and cloud infrastructure
Project description
Carbon Measurement Engine for Cloud Applications
Overview
Carmen (Carbon Measurement Engine) is an open-source tool that enables organizations to measure the carbon footprint of their cloud-based software at two critical levels:
- Infrastructure Level - Monitor energy consumption and carbon emissions from Virtual Machines, storage, and other cloud services
- Application Level - Track the carbon footprint of individual applications and workloads running in your cluster
Carmen integrates seamlessly with industry-standard tools like Kubernetes, Prometheus, and Kube State Metrics, and is built on top of the Impact Framework developed by the Green Software Foundation.
Motivation
Carmen was created by a group of Amadeus engineers in response to the growing importance of sustainability in the tech industry. As carbon emissions from digital infrastructure continue to rise, organizations need accurate tools to measure and reduce their environmental impact.
Our primary goal is to empower engineering teams to understand the carbon footprint of their cloud applications, enabling them to make informed decisions and take meaningful action toward sustainability. By open-sourcing Carmen, we hope to help companies worldwide join the movement toward greener software.
Key Features
Infrastructure Monitoring
The Carmen daemon collects Virtual Machine usage data and processes it through the Impact Framework to generate comprehensive reports on energy consumption and carbon emissions for each VM. Future releases will extend this capability to storage and other cloud services.
Application Monitoring
Carmen's API can be deployed as a sidecar container within your Kubernetes cluster. By connecting to your local Prometheus instance, Carmen retrieves CPU and memory usage metrics from your pods and computes detailed insights into the energy consumption and carbon footprint of your workloads over any specified time range.
Getting Started
Prerequisites
Before installing Carmen, ensure you have the following dependencies:
- Python 3.11 or higher
- pip (Python package manager)
- npm (Node package manager)
Installation
Step 1: Install Impact Framework Dependencies
First, install the Impact Framework and related plugins globally using npm:
npm install -g "@grnsft/if" "@grnsft/if-plugins" "@grnsft/if-unofficial-plugins"
Step 2: Install Carmen
We recommend installing Carmen in a virtual environment to keep dependencies isolated.
For Linux/macOS:
python -m venv .venv
source ./.venv/bin/activate
python -m pip install --upgrade pip
python -m pip install amadeus-carmen
For Windows:
py -m venv .venv
.\.venv\Scripts\activate
.\.venv\Scripts\python.exe -m pip install --upgrade pip
.\.venv\Scripts\python.exe -m pip install amadeus-carmen
Quick Start
To verify your installation, run the Carmen daemon example:
cd ./examples-data
carbon-daemon
The carbon emissions report will be generated and saved in the examples-data/output/ directory.
Documentation
For more detailed information on using Carmen, refer to our comprehensive guides:
- Carmen as a Service - Deploy Carmen as an API service in your Kubernetes cluster
- Carbon Reporting Daemon - Generate infrastructure-level carbon reports using the Carmen daemon
- Methodology - Understand how Carmen calculates carbon emissions
- Comparison with Other Tools - See how Carmen compares to alternative solutions
Contributing
We welcome contributions from the community! Whether you're fixing bugs, adding features, improving documentation, or sharing feedback, your input helps make Carmen better for everyone.
Please read our Contributing Guide to get started.
License
Carmen is released under the MIT License.
Acknowledgments
Carmen is built on the shoulders of the open-source community. We're grateful to:
- Impact Framework by the Green Software Foundation - The core framework that powers Carmen's carbon calculations
- Cloud Carbon Footprint - For pioneering work in cloud carbon measurement methodologies
- The Kubernetes, Prometheus, and open-source monitoring communities
Carmen original Team
Carmen was developed and maintained by these outstanding people:
Carmen creators & project leaders:
- Robin CASTELLON
- Florent MOREL
Contributors:
- Adam Hafiz BIN AHMAD
- Ahmad ELGHOBASHY
- Ahmed ASHOUR
- Amulya LAKKU
- Ashly Maria PRINCE
- Berkay ALKAN
- Cosmin BANICA
- Dariel BEZERRA DE SOUSA
- Eleonore GUEIT
- Kevin COUTELLIER
- Mohamed-Akram MASROUR
- Mouhamad AL MOUNAYAR
- Nicolas GAZELLE DOUKHAN
- Pierre-Luc NOEL
- Pranjal RAJ
- Sami GHARBI
- Selen UYGUN
- Sertay AKPINAR
- Thibaut CHASSIGNET
- Xu HE
- Yannick DEVAUX
Built with 💚 for a sustainable future
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file amadeus_carmen-0.1.1.tar.gz.
File metadata
- Download URL: amadeus_carmen-0.1.1.tar.gz
- Upload date:
- Size: 113.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b5be095bf9f4e965dfe09ffe2f9c38164027969a441894848ff3526e7d43971c
|
|
| MD5 |
4d4046e8957d2c03e9ffe7058a178137
|
|
| BLAKE2b-256 |
ef22615c91362373621de08280e64b69f7c6c53b2e1d1fd98a07dccb0f2a5a71
|
Provenance
The following attestation bundles were made for amadeus_carmen-0.1.1.tar.gz:
Publisher:
release-pypi.yml on AmadeusITGroup/carmen
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
amadeus_carmen-0.1.1.tar.gz -
Subject digest:
b5be095bf9f4e965dfe09ffe2f9c38164027969a441894848ff3526e7d43971c - Sigstore transparency entry: 753551071
- Sigstore integration time:
-
Permalink:
AmadeusITGroup/carmen@db0c32bc8098e3a3a58ff1a40175c6f9de8a1079 -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/AmadeusITGroup
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release-pypi.yml@db0c32bc8098e3a3a58ff1a40175c6f9de8a1079 -
Trigger Event:
push
-
Statement type:
File details
Details for the file amadeus_carmen-0.1.1-py3-none-any.whl.
File metadata
- Download URL: amadeus_carmen-0.1.1-py3-none-any.whl
- Upload date:
- Size: 178.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
98b46418c349969e4b80fd35501e12a8f5d37e6a32d051a431de04dd7fdc447f
|
|
| MD5 |
638fe7b3cffa15cd1aeee47c2483dc60
|
|
| BLAKE2b-256 |
cd0e77338475a38c54420f12e268db9fab9e3e6ea1ffb082ac4ff3785cd45045
|
Provenance
The following attestation bundles were made for amadeus_carmen-0.1.1-py3-none-any.whl:
Publisher:
release-pypi.yml on AmadeusITGroup/carmen
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
amadeus_carmen-0.1.1-py3-none-any.whl -
Subject digest:
98b46418c349969e4b80fd35501e12a8f5d37e6a32d051a431de04dd7fdc447f - Sigstore transparency entry: 753551076
- Sigstore integration time:
-
Permalink:
AmadeusITGroup/carmen@db0c32bc8098e3a3a58ff1a40175c6f9de8a1079 -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/AmadeusITGroup
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release-pypi.yml@db0c32bc8098e3a3a58ff1a40175c6f9de8a1079 -
Trigger Event:
push
-
Statement type: