Skip to main content

A Python client for the EIA v2 natural gas API with structured access to production, storage, flows, prices, and gas-fired electricity generation.

Project description

eia-ng

A Python client for the EIA v2 natural gas API with structured access to production, storage, consumption, imports, exports, prices, and natural-gas-fired electricity generation.

EIA API Documentation

This library is built on top of the official U.S. Energy Information Administration (EIA) Open Data API.

For detailed information about datasets, endpoints, parameters, and data definitions, refer to the official EIA API documentation:

https://www.eia.gov/opendata/documentation.php

Installation

pip install eia-ng-client

3. API key setup

You need a free EIA API key.

  1. Register at: https://www.eia.gov/opendata/register.php
  2. Set the key as an environment variable:
export EIA_API_KEY="your_api_key_here"

4. Quick start

from eia_ng import EIAClient

client = EIAClient()

# U.S. natural gas production (monthly)
production = client.natural_gas.production(start="2020-01")
print(production[:3])

# Lower 48 natural gas storage (weekly)
storage = client.natural_gas.storage(start="2022-01-01")
print(storage[:3])

# Henry Hub spot prices (daily)
prices = client.natural_gas.spot_prices(start="2023-01-01")
print(prices[:3])

5. Natural gas API overview

Natural Gas Data

The natural_gas source provides access to:

  • Production (U.S. total and by state)
  • Consumption (U.S. total and by state)
  • Storage (by region)
  • Imports (pipeline, LNG, compressed)
  • Exports (pipeline, LNG, truck, compressed)
  • Spot prices (Henry Hub)
  • Futures prices (front-month and deferred contracts)

Production by State

# Texas natural gas production
tx_prod = client.natural_gas.production(
    start="2020-01",
    state="tx",
)

Storage by region

# Lower 48 storage
storage = client.natural_gas.storage(
    start="2022-01-01",
    region="lower48",
)

Imports / exports

# Pipeline imports from Canada
imports = client.natural_gas.imports(
    start="2021-01",
    country="canada_pipeline",
)

# Pipeline exports to Mexico
exports = client.natural_gas.exports(
    start="2021-01",
    country="mexico_pipeline",
)

Futures prices

# Front-month natural gas futures
futures = client.natural_gas.futures_prices(
    start="2023-01-01",
    contract=1,
)

7. Electricity generation (Natural Gas)

# U.S. electricity generation from natural gas
gen_us = client.electricity.generation_natural_gas(
    start="2020-01",
)

# Utah electricity generation from natural gas
gen_ut = client.electricity.generation_natural_gas(
    start="2020-01",
    state="UT",
)

Returned Data Format

All methods return a list of dictionaries corresponding to rows returned by the EIA API.

You can easily convert the results to pandas using this approach.

import pandas as pd
df = pd.DataFrame(production)

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

eia_ng_client-0.1.2.tar.gz (9.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

eia_ng_client-0.1.2-py3-none-any.whl (10.2 kB view details)

Uploaded Python 3

File details

Details for the file eia_ng_client-0.1.2.tar.gz.

File metadata

  • Download URL: eia_ng_client-0.1.2.tar.gz
  • Upload date:
  • Size: 9.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.2 CPython/3.9.12 Darwin/24.5.0

File hashes

Hashes for eia_ng_client-0.1.2.tar.gz
Algorithm Hash digest
SHA256 7dda358ac92e26c55c8580fa5324cad4f570cee42b6a8b6885c91066e9e8048d
MD5 bc9d852468f86ac8c1a3524c10b78922
BLAKE2b-256 03330bff1784431550272a043f7e34713679e02a7f39a6dcc9ee6de19c75d4fe

See more details on using hashes here.

File details

Details for the file eia_ng_client-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: eia_ng_client-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 10.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.2 CPython/3.9.12 Darwin/24.5.0

File hashes

Hashes for eia_ng_client-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 454de883a68cf9e4090b67f57e3c9b563ba91ee4450b8d580856056711ac3deb
MD5 ad64576bab4e589a58db946e92a45883
BLAKE2b-256 b6d5b7d0a5005433557c29aa2d4d3e0417b743358c0cd7623cc6a451cf10f7d8

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page