OFFICIAL SDK

Python SDK

Pythonic SDK for data science, analytics, and backend applications. Perfect for pandas workflows and Jupyter notebooks.

pip install zerocarbon-python-sdk
Requires: Python 3.8+

Quick Start

Initialize Client

main.py
from zerocarbon import ZeroCarbon
import os

client = ZeroCarbon(
    api_key=os.getenv('ZEROCARBON_API_KEY')
)

Submit Activity

submit_activity.py
result = client.activities.create(
    activity_type="electricity",
    scope="2",
    quantity=1500,
    unit="kWh",
    period={
        "start": "2026-02-01",
        "end": "2026-02-28"
    },
    location={
        "country": "IN",
        "state": "Maharashtra"
    }
)

print(f"Emissions: {result['emissions_kg_co2e']} kg CO2e")

Retrieve Emissions

get_emissions.py
emissions = client.emissions.get(
    start_date="2026-02-01",
    end_date="2026-02-28",
    scope="2",
    group_by="month"
)

print(f"Total: {emissions['total_kg_co2e']} kg CO2e")

API Methods

client.activities.create(**data)

Submit a single carbon emission activity

Returns: Dict with activity and emissions data

client.emissions.get(**params)

Retrieve aggregated emissions data

Params: start_date, end_date, scope, group_by
Returns: Dict with emissions breakdown

client.reports.generate(**config)

Generate compliance reports in various formats

Returns: Report URL or file path

Pandas Integration

The SDK works seamlessly with pandas DataFrames for bulk data processing and analysis.

import pandas as pd
from zerocarbon import ZeroCarbon

client = ZeroCarbon(api_key=os.getenv('ZEROCARBON_API_KEY'))

# Load CSV with activity data
df = pd.read_csv('emissions_data.csv')

# Submit each row as an activity
for _, row in df.iterrows():
    result = client.activities.create(
        activity_type=row['type'],
        scope=row['scope'],
        quantity=row['quantity'],
        unit=row['unit']
    )
    print(f"Processed: {result['activity_id']}")
ZeroCarbon | India's Carbon Accounting & BRSR Reporting Software