SPGCI is an API Client for the S&P Commodity Insights REST API
Project description
SPGCI
Python Client for the S&P Global Commodity Insights API.
Installation
Requires Python >= 3.8.10.
pip install spgci
Getting Started
import spgci as ci
ci.set_credentials(<username>, <password>, <appkey>)
mdd = ci.MarketData()
symbols = ["PCAAS00", "PCAAT00"]
mdd.get_assessments_by_symbol_current(symbol=symbols)
Alternatively, you can set your credentials via Environment Variables and omit the set_credentials
call:
Environment Variable | Description |
---|---|
SPGCI_USERNAME | Your Username |
SPGCI_PASSWORD | Your Password |
SPGCI_APPKEY | Your AppKey |
Features
- Automatically generates token prior to making request.
- Returns response as a pandas DataFrame (set
raw=False
to get a rawrequest.response
object). - Can auto-paginate response and concatenates into a single DataFrame (set
paginate=True
to enable). - Sets datatype for
date
anddatetime
fields. - Composes nicely with native python/pandas types.
Lists
,pd.Series
,Tuples
, etc... are converted into filter expressions.
Datasets Supported
Market Data
import spgci as ci
mdd = ci.MarketData()
mdd.get_symbols(commodity="Crude oil")
# DataFrame of symbols with commodity = "Crude oil"
mdd.get_mdcs(subscribed_only=True)
# DataFrame of all Market Data Categories you are subscribed to
mdd.get_assessments_by_mdc_current(mdc="ET")
# DataFrame of current assessments for all symbols in the Market Data Category "ET"
Forward Curves
import spgci as ci
fc = ci.ForwardCurves()
fc.get_curves(
commodity=["Benzene", "Crude oil"],
derivative_maturity_frequency="Month"
)
# DataFrame of all curves with commodity in ("Benzene", "Crude Oil") and have a Monthly frequency
fc.get_assessments(curve_code=["CN003", "CN006"])
# DataFrame of the latest assessments for all symbols in the curves ("CN003", "CN006")
EWindow Market Data
import spgci as ci
from datetime import date
ewmd = ci.EWindowMarketData()
ewmd.get_markets()
# DataFrame of Markets
d = date(2023,2,13)
ewmd.get_botes(market=["EU BFOE", "US MidWest"], order_time=d)
# DataFrame of all BOTes in the markets ("EU BFOE", "US MidWest") on Feb 13, 2023
World Oil Supply
import spgci as ci
wos = ci.WorldOilSupply()
countries = wos.get_reference_data(type=wos.WOSRefType.Countries)
# DataFrame of all countries
wos.get_ownership(country=countries['countryName'][:3], year=2040)
# DataFrame of Ownership for the first three countries from the countries endpoint and year 2040
World Refinery Database
import spgci as ci
wrd = ci.WorldReinferyData()
wrd.get_yields(year=2020, owner="BP")
# DataFrame of yields for the year 2020 where BP is the refinery owner.
Disclaimer
Please note that by using this Alpha offering, you agree that you are participating in a prototype to develop these software development kits (“Alpha SDKs”) and that your participation and use of the Alpha SDKs is at your own risk. You will be liable for all activities by anyone using your application in connection with the Alpha SDKs.
If you are dissatisfied with the Alpha SDKs, your sole remedy is to stop using it, and S&P Global Commodity Insights (“SPGCI”) will not pay you any damages (direct, indirect, special, or consequential) in connection with your use of the Alpha SDKs. Commodity Insights SPGCI disclaims any and all representations and warranties, express or implied, including but not limited to any warranties of merchantability or fitness for a particular purpose or use as to the Alpha SDKs, and does not guarantee the adequacy, accuracy, timeliness or completeness of the Alpha SDKs or any component of them.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.