CATS: Climate-Aware Task Scheduler
CATS is a Climate-Aware Task Scheduler. It schedules cluster jobs to minimize predicted carbon intensity of running the process. It was created as part of the 2023 Collaborations Workshop.
The Climate-Aware Task Scheduler is a lightweight Python package designed to schedule tasks based on the estimated carbon intensity of the electricity grid at any given moment. This tool uses real-time carbon intensity data from the National Grid ESO via their API to estimate the carbon intensity of the electricity grid, and schedules tasks at times when the estimated carbon intensity is lowest. This helps to reduce the carbon emissions associated with running computationally intensive tasks, making it an ideal solution for environmentally conscious developers.
Demo showing CATS scheduling a 30 minute job using the at scheduler
Features
- Estimates the carbon intensity of the electricity grid in real-time
- Schedules tasks based on the estimated carbon intensity, minimizing carbon emissions
- Provides a simple and intuitive API for developers
- Lightweight and easy to integrate into existing workflows
- Supports Python 3.10+
Brief example with plot to illustrate
To find the minimal carbon intensity window for a 3 hour (180 minute duration) job running
at the RG1 postcode and show visually the carbon intensity curve and optimal window with
the --plot argument:
$ cats --duration 180 --location "RG1" --plot
...
The.____ ..... __ .... ________ . ______...
.. / __)...../ \....(__ __).) ____)....
..| /......./ \......| |...( (___........
..| |limate./ () \ware.| |ask.\___ \cheduler
..| \__...| __ |....| |....____) )....
...\ )..| (..) |....| |...( (..
Best job start time = 2026-01-22 10:10:31
Carbon intensity if job started now = 217.41 gCO2eq/kWh
Carbon intensity at optimal time = 118.65 gCO2eq/kWh
which produced at the time run (Tue 20 Jan 15:40:21 GMT 2026) a forecast minimum of
118.65 gCO2eq/kWh for job start time 2026-01-22 10:10:31 as reported in the STDOUT above and
illustrated by the resulting plot of:
Installation
Install via pip as follows:
pip install climate-aware-task-scheduler
To install the development version:
pip install git+https://github.com/GreenScheduler/cats
Documentation
Documentation is available at https://cats.readthedocs.io
We recommend the quickstart if you are new to CATS. CATS can optionally display carbon footprint savings using a configuration file.
Contributing
We welcome contributions from the community! If you find a bug or have an idea for a new feature, please open an issue on our GitHub repository or submit a pull request.
License
Metadata
Release files for climate-aware-task-scheduler 1.2.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| climate_aware_task_scheduler-1.2.1.tar.gz | 45.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| climate_aware_task_scheduler-1.2.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 82.9 kB
Release files / climate_aware_task_scheduler-1.2.1.tar.gz
| Download URL | climate_aware_task_scheduler-1.2.1.tar.gz |
|---|---|
| Size | 45.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
f62c023cf2d20535a63fbc4036a801b091a864d959c9f9feb71238d7fc192eac
|
|
BLAKE2b-256 checksum How to use checksums |
dd268cca459a24e3a5671a78e021cf696e482e1178813b9abb6a4c207be998d5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 28, 2026.
Transparency logRelease files / climate_aware_task_scheduler-1.2.1-py3-none-any.whl
| Download URL | climate_aware_task_scheduler-1.2.1-py3-none-any.whl |
|---|---|
| Size | 37.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
0058b5b9965a2e4f49f40385c4e9ba94fed28f3446498c217f84c3c77a6910c6
|
|
BLAKE2b-256 checksum How to use checksums |
d734d6d8e6504578cf453ffc446c0a495a1096fdfdefd453c2786c3b4b209cfa
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 28, 2026.
Transparency log