Releases: OilpriceAPI/python-sdk
Release list
v1.12.2
Superseded: v1.12.3 is the supported final release. v1.12.2 remains available unchanged for auditability; use v1.12.3 for complete packaged-claim coverage.
Fixed
- Replace stale quota, plan, cadence, uptime, cache, and generic real-time claims in public docs, generated HTML, and installed SDK recovery text.
- Derive installed claim discovery from the exact wheel RECORD and scan every customer-readable UTF-8 artifact while excluding compiled bytecode.
- Validate all readable authored and generated docs/package surfaces, including future HTML, type-stub, Markdown, JSON, and package-data files.
- Keep the canonical 50 requests/day allowance linked to reviewed product facts and defer mutable entitlements to API response metadata and current pricing.
Verification
- Python 3.8 through 3.12 tests, Ruff, mypy, claim validation, exact wheel clean install, pip check, and live production contract tests.
- All actionable review threads addressed and resolved before merge.
v1.12.1
Fixed
- Validate the exact built wheel from a dependency-free build environment before trusted PyPI publication.
- Supersedes the unpublished v1.12.0 artifact; the v1.12.0 GitHub release remains marked prerelease for an immutable audit trail.
Includes the reviewed v1.12.0 SDK changes: commodity search, richer validation errors, strict date validation, paginated DataFrame history, durable-quota retry handling, and hardened production synthetics.
Python SDK v1.12.0
Publication halted
The trusted-publishing workflow stopped before PyPI upload because the clean-wheel validator imported the source package before runtime dependencies were installed. No oilpriceapi==1.12.0 artifact was published to PyPI.
The release code passed the Python 3.8-3.12, live API, dependency-audit, and scheduled synthetic gates. The publisher bootstrap fix and registry artifact are superseded by v1.12.1; use v1.12.1 or newer.
Python SDK v1.11.0
Source-accurate PyPI storefront and canonical first-request validation, plus the additive beta well-production resource already present on main. Public examples now require currency, unit, source, and an exact API timestamp field; CI rejects stale mutable claims.\n\nVerification: Python 3.8-3.12 matrices, live API smoke, 355 local tests, package build, and Twine checks all passed.
v1.10.2
v1.10.1 — storefront README + numeric market-brief confidence
- fix: MarketBrief forecast
confidencenow 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
What's new
- Technical indicators:
client.analysis—with_indicators(df, ...)plussma(),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
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
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
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