You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
GitHub Green Software Directory: We are launching the GitHub Green Software Directory as a simple and easy-to-use resource that developers can use to adopt green software tools. The format is a simple list-style blog post and a GitHub repository that we hope developers can use to get started with, navigate, and scale their green software efforts.
We are finalizing the draft and preparing for a launch on Sep 17th prior to the Green IO conference.
Feedback Request
Questions for your review:
Is there any information in this outline that seems to be missing or feel 'off'?
Are there any green software tools that are clearly missing from our blog post list?
Any other general feedback?
Deadline: Looking for feedback by EOD Friday, Sept. 13.
Outline of GitHub Green Software Directory
Blog Post
Context around climate change and “green software”
Links to key industry references
A select set of repos, with descriptions/screenshots, that we selected based on:
Is related to and self-identifies as tool for “green software” (or topics that fall within green software, based on industry definitions)
A GitHub community favorite as measured by Number of Stars
Link to GitHub Repository version of the directory
GitHub Repository
A longer list of green software repos
Includes some categorization by topics within green software, such as: measurement, carbon efficiency, carbon awareness
Blog Post
Below is the repo list to be featured in the blog post:
⚡ Energy consumption metrology agent. Let "scaph" dive and bring back the metrics that will help you make your systems and applications more sustainable !
Kepler (Kubernetes-based Efficient Power Level Exporter) uses eBPF to probe performance counters and other system stats, use ML models to estimate workload energy consumption based on these stats, and exports them as Prometheus metrics
The Carbon Aware SDK is a toolset to help you measure the carbon emissions of your software, in turn helping you measure and reduce your software's carbon emissions, and choose when and where you run your software to make it greener.Also highlight: https://github.com/Green-Software-Foundation/if
The Green Metrics Tool is a developer tool indented for measuring the energy and CO2 consumption of software through a software life cycle analysis (SLCA).Eco-CI is a project aimed at estimating energy consumption in continuous integration (CI) environments. It provides functionality to calculate the energy consumption of CI jobs based on the power consumption characteristics of the underlying hardware.
Help measure and interpret the impact of emissions and the environmental impact of software use.
Scaphadre: Scaphandre [skafɑ̃dʁ] is a metrology agent dedicated to electric power and energy consumption metrics. The goal of the project is to permit to any company or individual to measure the power consumption of its tech services and get this data in a convenient form, sending it through any monitoring or data analysis toolchain.
Kepler: Kepler (Kubernetes-based Efficient Power Level Exporter) uses eBPF to probe performance counters and other system stats, use ML models to estimate workload energy consumption based on these stats, and exports them as Prometheus metrics.
Codecarbon: Python package that estimates your hardware electricity power consumption (GPU + CPU + RAM) and applies to it the carbon intensity of the region where the computing is done.
Cloud-carbon-footprint: Cloud Carbon Footprint is a tool to estimate energy use (kilowatt-hours) and carbon emissions (metric tons CO2e) from public cloud usage.
Carbon-aware-sdk: The Carbon Aware SDK is a toolset to help you measure the carbon emissions of your software, in turn helping you measure and reduce your software's carbon emissions, and choose when and where you run your software to make it greener. - High pri, tool from Green Software Foundation.
Co2.js: One day, the internet will be powered by renewable energy. Until that day comes, there’ll be a CO2 cost that comes with every byte of data that’s uploaded or downloaded. By being able to calculate these emissions, developers can be empowered to create more efficient, lower carbon apps, websites, and software.
Carbontracker: Track and predict the energy consumption and carbon footprint of training deep learning models.
Experiment-impact-tracker: The experiment-impact-tracker is meant to be a simple drop-in method to track energy usage, carbon emissions, and compute utilization of your system.
Eco2AI: The Eco2AI is a python library for CO2 emission tracking. It monitors energy consumption of CPU & GPU devices and estimates equivalent carbon emissions taking into account the regional emission coefficient. The Eco2AI is applicable to all python scripts and all you need is to add the couple of strings to your code. All emissions data and information about your devices are recorded in a local file.
Greenframe-cli: Estimate carbon footprint of a user scenario on a web application.
Impact: ML has an impact on the climate. But not all models are born equal. Compute your model's emissions with our calculator and add the results to your paper with our generated latex template.
Zeus: Zeus is a library for (1) measuring the energy consumption of Deep Learning workloads and (2) optimizing their energy consumption.
Green-cost-explorer: See how much of your cloud bill is spent on fossil fuels ,so you can do the right thing and switch. We're in a climate crisis, remember?
Green-metrics-tool: The Green Metrics Tool is a developer tool indented for measuring the energy and CO2 consumption of software through a software life cycle analysis (SLCA).
Carbonalyser:The add-on "Carbonalyser" allows to visualize the electricity consumption and greenhouse gases (GHG) emissions that your Internet browsing leads to.
Tracarbon: Tracarbon tracks your device's energy consumption and calculates your carbon emissions using your location.
Carbonifer: Command Line Tool to control carbon emission of your cloud infrastructure. Reading Terraform files, carbonifer plan will estimate future Carbon Emissions of infrastructure and help make the right choices to reduce Carbon footprint.
PyJoules: A Python library to capture the energy consumption of code snippets.
Powerjoular: PowerJoular is a command line software to monitor, in real time, the power consumption of software and hardware components.
Eco-ci-energy-estimation: Estimates energy consumption of continuous integration jobs based on the characteristics of underlying hardware.
Eco-ci-energy-estimation:Eco-CI is a project aimed at estimating energy consumption in continuous integration (CI) environments. It provides functionality to calculate the energy consumption of CI jobs based on the power consumption characteristics of the underlying hardware.
Perun: perun is a Python package that calculates the energy consumption of Python scripts by sampling usage statistics from your Intel, Nvidia or AMD hardware components. It can handle MPI applications, gather data from hundreds of nodes, and accumulate it efficiently. perun can be used as a command-line tool or as a function decorator in Python scripts.
Cloud-scanner: Get Boavizta impact data for your aws cloud account usage.
Carbon-tools: A set of CO2 footprint tools to measure the impact of the code we ship.
Ecoinfra: ecoinfra is a powerful tool that helps you predict, asses, and reduce the environmental impact of your cloud infrastructure. By integrating your existing or new IaC project you can harness predictive sustainability into your cloud operations.
PSElectricityMaps: This PowerShell module is intended for retrieving emissions data from CO2 Signal for a supplied Azure Region during resource deployments. This is a lightweight solution making use of non-commercial functionality available with a free account at ElectricityMaps. This means the module is only able to get near-realtime emissions data and no prodictive values. This means this module is not a real solution for reduced carbon deployments and -software. It does however provide some nice realtime values so you can simulate the beheaviour of deployments and software based on emissions data without the cost of a paid account for such data. For example in lab- or proof of concept environments.
PSWattTime: This PowerShell module is intended for retrieving emissions data from WattTime for a supplied Azure Region during resource deployments. This is a lightweight solution making use of only the limited functionality available with a free account at WattTime. This means the module is only able to get near-realtime emissions data and no prodictive values. This means this module is not a real solution for reduced carbon deployments and -software. It does however provide some nice realtime values so you can simulate the beheaviour of deployments and software based on emissions data without the cost of a paid account for such data. For example in lab- or proof of concept environments.
Carbon-appinsights: Azure Function for logging PSElectricityMaps results for Azure regions to Application Insights.
Energy-consumption-measuring-toolkit:While running applications on-premises or in the cloud, the main consumers of power on a server will be the CPU, the GPU, the memory, and the Tech Stack. Estimating how much each consumes will give an estimate of how much power your server, or your application on a server, consumes.
Green-kernel: In this project we will create an addition to the Linux Kernel which enables developers and end-users to see and quantify the energy cost of their running software on a process level.
FrameworkBenchmarks: This project provides representative performance measures across a wide field of web application frameworks. With much help from the community, coverage is quite broad and we are happy to broaden it further with contributions.
Energy-Languages: The complete set of tools for energy consumption analysis of programming languages, using Computer Language Benchmark Game.
Carbonara: This is a custom element to compute web navigation carbon footprint.
Cpu-energy-meter: A tool for measuring energy consumption of Intel CPUs.
Carbon Efficiency
Start making changes to your software and architecture to use less energy and emit less carbon.
Kube-green: kube-green is a simple k8s addon that automatically shuts down (some of) your resources when you don't need them.
Ec0lint:ec0lint is a static code analysis tool that provides users with hints on how to reduce the carbon footprint of their websites during the development process. Applying code changes suggested by ec0lint results in lower carbon emissions per visit, quicker loading and higher space efficiency. The tool is open-source and community-driven.
ecoCode:ecoCode is a collective project aiming to reduce environmental footprint of software at the code level. The goal of the project is to provide a list of static code analyzers to highlight code structures that may have a negative ecological impact: energy and resources over-consumption, "fatware", shortening terminals' lifespan, etc.
Ecocode-mobile: Mobile apps running on top of battery-limited, android-powered devices are more than others concerned by the reduction of their environmental footprint. Hence, we created ecoCode android, the version of ecoCode project fully dedicated to the Android platform. It provides static code analyzers to highlight code structures that may have a negative ecological impact: energy over-consumption, "fatware", shortening devices' lifespan, etc.
EcoSonar: Raising the awareness of delivery teams to environmental issues: enabling development teams to consider the environmental impact of digital technology during development and to promote knowledge of best eco-design and accessibility practices.
EcoCode-ios: Mobile apps running on top of battery-limited devices are more than others concerned by the reduction of their environmental footprint. Hence, we created ecoCode iOS, the version of ecoCode project fully dedicated to the iOS platform. It provides static code analyzers to highlight code structures that may have a negative ecological impact: energy over-consumption, "fatware", shortening devices' lifespan, etc.
Carbon Awareness
Learn behavior changes that will enable less carbon emissions.
Grid-intensity-go: A tool written in Go, designed to be integrated into Kubernetes, Nomad, and other schedulers, to help you factor carbon intensity into decisions about where and when to run jobs.
Vessim: Vessim is a versatile co-simulation testbed for carbon-aware applications and systems which connects domain-specific simulators for renewable power generation and energy storage with real software and hardware.
Carbon-Aware-Computing: The goal of this project is to provide developers with hassle free, easy to use, ready to run tools for carbon aware computing. All libraries and data are open source and open data with unrestricted usage. Within private, open source and commercial software. This project will deliver a set of libraries, services and data. There are mostly extensions to other projects and all credits belong to them. To forecast the best execution time the Carbon Aware SDK from the Green Software Foundation is used. The Forecast and actual data is from Energy-Charts provided by Fraunhofer ISE. For UK the data is provided by UK National Grid ESO.
Carbon-minimiser: The National Grid have created a Carbon Intensity API for Great Britain. This allows you to access to predictions for carbon intensity across England, Scotland, and Wales. The Carbon Minimiser sits on top of this, and allows you to estimate the optimal time to perform actions to reduce their impact on the planet, by choosing times when your area has a lower carbon intensity.
Hangfire.Community.CarbonAwareExecution:A Hangfire extension to schedule tasks with carbon awareness in mind. The best point in time is calculated based on emission forecasts to get a window with a minimal grid carbon intensity.
Special Tools
Nvidia-co2: Show gCO2eq emissions information with nvidia-smi, at the top right corner. For example: 79.2gCO2eq/h or 23.76mm^2/h sea ice.
Sustainability-scanner: "Sustainability scanner is an open source tool that helps you create a more sustainable infrastructure on AWS. It takes in your Cloudformation template as input, evaluates it against a set of sustainability best practices and generates a report with a sustainability score and suggested improvements to apply to your template.
-Infrastructure as code, automates rightsizing and autoscaling"
Leaf: LEAF is a simulator for analytical modeling of energy consumption in cloud, fog, or edge computing environments. It enables the modeling of simple tasks running on a single node as well as complex application graphs in distributed, heterogeneous, and resource-constrained infrastructures. LEAF is based on SimPy for discrete-event simulation and NetworkX for modeling infrastructure or application graphs.
Lite-youtuve-embed: Provide videos with a supercharged focus on visual performance. This custom element renders just like the real thing but approximately 224× faster.
Ipmitool: An open-source tool for controlling IPMI-enabled systems
gets the power consumption of a bare metal machine.
Ethereum-nft-activity: How much energy does it take to power popular Ethereum-backed CryptoArt platforms? And what emissions are associated with this energy use?
Other
Kernel_tuner: Kernel level. Create optimized GPU applications in any mainstream GPU programming language (CUDA, HIP, OpenCL, OpenACC).
Powerapi: PowerAPI is a middleware toolkit for building software-defined power meters. Software-defined power meters are configurable software libraries that can estimate the power consumption of software in real-time. PowerAPI supports the acquisition of raw metrics from a wide diversity of sensors (eg., physical meters, processor interfaces, hardware counters, OS counters) and the delivery of power consumptions via different channels (including file system, network, web, graphical). As a middleware toolkit, PowerAPI offers the capability of assembling power meters «à la carte» to accommodate user requirements.
GreenIT-Analysis:"GreenIT-Analysis est une extension pour navigateur qui vous permet de quantifier les impacts environnementaux d'un parcours utilisateur complet, même derrière un firewall et / ou une authentification applicative. L'outil vérifie également l'utilisation de bonnes pratiques visant à diminuer ces impacts.
Geopm: The Global Extensible Open Power Manager (GEOPM) provides a framework to explore power and energy optimizations on platforms with heterogeneous mixes of computing hardware.
Region-carbon-info: This repository contains sustainability characteristics of Google Cloud regions in a machine readable format. Read more on the Google Cloud website.
E-footprint: The current perimeter is the carbon footprint associated with the fabrication and usage of servers, storage, network (usage only) and end-user devices necessary for the existence of a digital service. Other environmental impacts (water, rare earth metals, etc.) will be added soon through an integration with the Boavizta API, and the lifecycle phases of device transportation and end of life are currently considered negligible.
Coppers: Measure energy consumption of unit tests, Rust.
Cloud-jewels: Estimate energy consumption using GCP Billing Data.
Project Context
GitHub Green Software Directory: We are launching the GitHub Green Software Directory as a simple and easy-to-use resource that developers can use to adopt green software tools. The format is a simple list-style blog post and a GitHub repository that we hope developers can use to get started with, navigate, and scale their green software efforts.
We are finalizing the draft and preparing for a launch on Sep 17th prior to the Green IO conference.
Feedback Request
Questions for your review:
Is there any information in this outline that seems to be missing or feel 'off'?
Are there any green software tools that are clearly missing from our blog post list?
Any other general feedback?
Deadline: Looking for feedback by EOD Friday, Sept. 13.
Outline of GitHub Green Software Directory
Context around climate change and “green software”
Links to key industry references
A select set of repos, with descriptions/screenshots, that we selected based on:
Is related to and self-identifies as tool for “green software” (or topics that fall within green software, based on industry definitions)
A GitHub community favorite as measured by Number of Stars
Link to GitHub Repository version of the directory
A longer list of green software repos
Includes some categorization by topics within green software, such as: measurement, carbon efficiency, carbon awareness
Blog Post
Below is the repo list to be featured in the blog post:
Repo
Below is the full list included on the repo:
Categories:
Measurement
Carbon Efficiency
Carbon Awareness
Special Tools
-Infrastructure as code, automates rightsizing and autoscaling"
Other
The text was updated successfully, but these errors were encountered: