Skip to content

Releases: OilpriceAPI/python-sdk

v1.10.1 — storefront README + numeric market-brief confidence

Choose a tag to compare

@karlwaldman karlwaldman released this 03 Jul 14:13
1c93297
  • fix: MarketBrief forecast confidence now accepts the API's numeric score (0.65) as well as legacy labels — caught by the live contract tests' first armed run
  • docs: registry storefront README (badges, commodity table, API explorer links, ecosystem cross-links)

v1.10.0 — technical indicators module

Choose a tag to compare

@karlwaldman karlwaldman released this 03 Jul 11:02

What's new

  • Technical indicators: client.analysiswith_indicators(df, ...) plus sma(), ema(), rsi(), macd(), bollinger_bands(), atr(). Pure pandas/numpy, no new dependencies. (This module was advertised for 1.9.0 but missed the tag — it ships for real now.)
  • README link fixes and a de-brittled live-catalog contract test.

v1.9.0

Choose a tag to compare

@karlwaldman karlwaldman released this 21 Jun 21:14

What's Changed

  • docs: normalize legacy plan names to current tiers by @karlwaldman in #36
  • feat: market-brief + agent-subscription methods (sync+async, v1.9.0) by @karlwaldman in #37

Full Changelog: v1.8.1...v1.9.0

v1.8.1

Choose a tag to compare

@karlwaldman karlwaldman released this 21 Jun 17:13

What's Changed

  • fix: futures slug normalization + live CI tests (v1.8.1) by @karlwaldman in #35

Full Changelog: v1.8.0...v1.8.1

v1.8.0

Choose a tag to compare

@karlwaldman karlwaldman released this 21 Jun 16:42

What's Changed

  • fix: green CI — mypy python_version + sync forecasts/drilling annotations by @karlwaldman in #31
  • feat: async WebSocket streaming client by @karlwaldman in #32
  • chore: pay down mypy typing-debt + param audit + live demo contract tests by @karlwaldman in #33
  • chore: release 1.8.0 by @karlwaldman in #34

Full Changelog: v1.7.1...v1.8.0

v1.7.1

Choose a tag to compare

@karlwaldman karlwaldman released this 21 Jun 09:47

What's Changed

  • fix: green publish gate + add pytest-timeout so PyPI publish can ship by @karlwaldman in #29
  • chore: bump version to 1.7.1 for PyPI release by @karlwaldman in #30

New Contributors

Full Changelog: v1.7.0...v1.7.1

v1.7.0 — World-class SDK Upgrade

Choose a tag to compare

@karlwaldman karlwaldman released this 29 Mar 18:10

What's New

Full Async Client

  • All 16 resources now available on AsyncOilPriceAPI (was only 2: prices + historical)
  • Async iter_pages() generator for memory-efficient pagination

New Features

  • Webhook signature verificationverify_webhook_signature() with HMAC-SHA256 and constant-time comparison
  • oilprice CLIoilprice price BRENT_CRUDE_USD, oilprice historical, oilprice commodities with --json output
  • Opt-in telemetryenable_telemetry=True on both sync and async clients
  • 429 auto-retry — honors Retry-After header (capped at 60s) instead of immediately raising

Bug Fixes

  • Fixed version triple mismatch (single source in version.py)
  • Fixed Python 3.8 syntax compatibility
  • Fixed await response.json() crash in async client (httpx .json() is synchronous)
  • Fixed get_current_price() connection leak
  • Removed unused aiohttp from [async] extra

Developer Experience

  • ValidationError, TimeoutError, ConfigurationError now exported from top-level
  • Lint/mypy now blocking in CI
  • Coverage enforcement gate (--cov-fail-under=50)
  • mkdocs + mkdocstrings API reference
  • Shared resource_validators.py to reduce sync/async duplication

Full changelog: v1.6.2...v1.7.0

v1.6.0 — Currency fix + auto-pagination

Choose a tag to compare

@karlwaldman karlwaldman released this 18 Mar 11:18

Fixes

  • Currency preservation in to_dataframe(): Fixed bug where all commodities showed USD regardless of actual currency. EUR, GBP, and other currencies now correctly preserved.
  • Auto-pagination in get_all() and to_dataframe(): Previously capped at one page of results. Now auto-paginates using X-Has-Next response header to fetch all available data.
  • New per_page parameter: Both get_all() and to_dataframe() accept per_page (default 100) to control page size.

Upgrade

pip install --upgrade oilpriceapi

v1.0.0 - Production Release

Choose a tag to compare

@karlwaldman karlwaldman released this 29 Sep 20:52

OilPriceAPI Python SDK v1.0.0

First stable release of the official OilPriceAPI Python SDK.

Features

  • ✅ Synchronous and asynchronous clients
  • ✅ Comprehensive error handling with automatic retry logic
  • ✅ Type-safe models with Pydantic v2
  • ✅ Current and historical price data access
  • ✅ Optional pandas DataFrame support
  • ✅ Production logging and observability
  • ✅ 100 passing tests with 64% coverage
  • ✅ Full documentation and examples

Installation

pip install oilpriceapi

Quick Start

from oilpriceapi import OilPriceAPI

# Initialize client
client = OilPriceAPI(api_key='your-api-key')

# Get current price
price = client.prices.get('BRENT_CRUDE_USD')
print(f'{price.commodity}: ${price.value}')

Documentation


🤖 Generated with Claude Code