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.3.tar.gz (113.9 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.3-py3-none-any.whl (184.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: amadeus_carmen-0.1.3.tar.gz
  • Upload date:
  • Size: 113.9 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.3.tar.gz
Algorithm Hash digest
SHA256 6888740c068894a3c0d6b30813ee885d5f631ca8f42b0630bc2c0341f1c03fcd
MD5 c8e1d7e4c62d61b9a41c16f9b66725a1
BLAKE2b-256 a71973b1dabba1bbf06c1b9ad4c744e768e2e81c637e6c0c8cd86ab6318d7d9e

See more details on using hashes here.

Provenance

The following attestation bundles were made for amadeus_carmen-0.1.3.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.3-py3-none-any.whl.

File metadata

  • Download URL: amadeus_carmen-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 184.8 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.3-py3-none-any.whl
Algorithm Hash digest
SHA256 92903dfa6a31b27cec61072ecac21b068665d77f7529586880bf31140e0cde97
MD5 600b4e12f7e4c62d27cfaa700b9e4ac7
BLAKE2b-256 170181c03c4713d54c63de29912d5e3d00f48c92b47e83d1bcd7b6c599ce7efb

See more details on using hashes here.

Provenance

The following attestation bundles were made for amadeus_carmen-0.1.3-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