Official Env SDKs

Build sustainable applications faster with our officially maintained client libraries. Type-safe, well-documented, and production-ready.

● Stable Releases ● Beta Programs 🔒 Enterprise Support ⚡ Automatic Retries

Available SDKs

Choose your language to get started. All SDKs follow consistent naming conventions and error handling patterns.

🐍 Python
v2.4.1
pip install env-sdk
from env_sdk import EnvClient cclient = EnvClient(api_key=os.environ["ENV_API_KEY"]) result = client.emissions.calculate(scope="1") print(result.co2_tonnes)
📦 JavaScript / Node.js
v3.1.0
npm install @env/sdk
import { EnvClient } from '@env/sdk'; const client = new EnvClient({ apiKey: process.env.ENV_API_KEY }); const impact = await client.metrics.fetch({ period: 'q3-2024' }); console.log(impact.sustainability_score);
🐹 Go
v1.8.2
go get github.com/env/sdk-go
import envsdk "github.com/env/sdk-go" client := envsdk.New(os.Getenv("ENV_API_KEY")) report, err := client.Compliance.Generate("GRI") if err != nil { panic(err) }
☕ Java / Kotlin
v2.0.5
// Maven <dependency> <groupId>io.env</groupId> <artifactId>env-sdk-java</artifactId> <version>2.0.5</version> </dependency>
EnvClient client = new EnvClient(System.getenv("ENV_API_KEY")); CarbonFootprint fp = client.analytics.getFootprint( Scope.SCOPE_2, Location.US_WEST); System.out.println(fp.getValue());
🦀 Rust
v0.9.4
cargo add env-sdk
use env_sdk::{EnvClient, Scope}; #[tokio::main] async fn main() { let client = EnvClient::new(std::env::var("ENV_API_KEY").unwrap()); let data = client.metrics.fetch(Scope::Scope1).await; println!("{:#?}", data); }
💎 Ruby
v2.2.0
gem install env-sdk
require 'env-sdk' client = EnvSDK::Client.new(api_key: ENV['ENV_API_KEY']) score = client.sustainability.calculate(scope: :scope_3) puts score.efficiency_index

Quick Start Guide

Get up and running in under 5 minutes.

1

Install the SDK

Run the package manager command for your language. Add it to your project dependencies.

2

Configure Credentials

Set the ENV_API_KEY environment variable or pass it directly during initialization.

3

Initialize Client

Instantiate the EnvClient with your API key. Enable retries and timeouts for production.

4

Make Your First Call

Call any endpoint method. All responses are strongly typed with comprehensive error handling.

Authentication & Security

All SDKs use API key authentication via environment variables by default. For enhanced security, we support:

  • OAuth 2.0 for workspace-level access
  • Short-lived JWT tokens for serverless environments
  • Automatic credential rotation & masking in logs
Never hardcode credentials in source control.

# Recommended: Environment Variables export ENV_API_KEY="env_live_4f8a2c..." # SDK auto-detects: ENV_API_KEY, ENV_BASE_URL # Override timeout (default: 30s) export ENV_TIMEOUT="15"

SDK Support & Resources

Need help? Our team and community are here to assist you.

📚

Documentation

Complete guides, API references, migration tutorials, and best practices.

Browse Docs →
💬

Developer Community

Join 12,000+ developers discussing integrations, sharing patterns, and getting answers.

Join Discord →
🐛

Report an Issue

Found a bug or have a feature request? Open an issue on GitHub for direct tracking.

Open Issue →