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.1.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.1-py3-none-any.whl (178.9 kB view details)

Uploaded Python 3

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

Hashes for amadeus_carmen-0.1.1.tar.gz
Algorithm Hash digest
SHA256 b5be095bf9f4e965dfe09ffe2f9c38164027969a441894848ff3526e7d43971c
MD5 4d4046e8957d2c03e9ffe7058a178137
BLAKE2b-256 ef22615c91362373621de08280e64b69f7c6c53b2e1d1fd98a07dccb0f2a5a71

See more details on using hashes here.

Provenance

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

Hashes for amadeus_carmen-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 98b46418c349969e4b80fd35501e12a8f5d37e6a32d051a431de04dd7fdc447f
MD5 638fe7b3cffa15cd1aeee47c2483dc60
BLAKE2b-256 cd0e77338475a38c54420f12e268db9fab9e3e6ea1ffb082ac4ff3785cd45045

See more details on using hashes here.

Provenance

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