OFFICIAL SDK
Python SDK
Pythonic SDK for data science, analytics, and backend applications. Perfect for pandas workflows and Jupyter notebooks.
pip install zerocarbon-python-sdkRequires: 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']}")