Skip to main content

Measure and report carbon footprint of Kubernetes applications and cloud infrastructure

Project description

Carmen logo

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:

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

amadeus_carmen-0.1.0.tar.gz (113.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

amadeus_carmen-0.1.0-py3-none-any.whl (178.9 kB view details)

Uploaded Python 3

File details

Details for the file amadeus_carmen-0.1.0.tar.gz.

File metadata

  • Download URL: amadeus_carmen-0.1.0.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

Hashes for amadeus_carmen-0.1.0.tar.gz
Algorithm Hash digest
SHA256 2fc17cc3f0664ceaec35eaeb7e0bfb0858b364866cf1a5951cc6ded8c9b306f6
MD5 6cc0ebfe2912d35af04c0f8cf7d42930
BLAKE2b-256 fa0c094097cdf7e2ecadf2578e3ab0e22b84d05d933b92b514a53a385582b240

See more details on using hashes here.

Provenance

The following attestation bundles were made for amadeus_carmen-0.1.0.tar.gz:

Publisher: release-pypi.yml on AmadeusITGroup/carmen

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file amadeus_carmen-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: amadeus_carmen-0.1.0-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

Hashes for amadeus_carmen-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f6c30620d7f7334387a458f81b8ce4d757ec59f19f66ea5764815643c600017d
MD5 54cc4abc36718ebfa779b2ef2d3b0fe6
BLAKE2b-256 2c5a0b0e380ffea3a079cb68bbe8343481e946e17c2811d1378241e2f8fc76c8

See more details on using hashes here.

Provenance

The following attestation bundles were made for amadeus_carmen-0.1.0-py3-none-any.whl:

Publisher: release-pypi.yml on AmadeusITGroup/carmen

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page