Changelog¶
0.13.4¶
Improvements
Add
AbsoluteResult.to_df()andAbsoluteResult.to_dataframe()
Bugfixes
The
kindparameter oneq.metadata.places()did nothing. It is now fixed.
0.13.3¶
Improvements
Modify the
User-Agentheader to comply with standard conventions
0.13.2¶
Bugfixes
Fix deadlock in push feed preventing the client to resubscribe after recovery from a connection loss
0.13.1¶
Improvements
- Add new border:
DK1 – GBExplicit
Bugfixes
Remove call to
logging.basicConfig()inenergyquantified/api/events.pyas it was causing issues with the logging configuration in the client’s parent application
0.13¶
Improvements
Parse Instance’s
createdandmodifiedin the Curve’s time zone.Add
eq.instances.rolling()for rolling forecasts
0.12.1¶
Bugfixes
Remove code setting default log level to
DEBUGFix a bug introduced in v0.12 that caused parsing of curve events to fail
0.12¶
Improvements
Add
PeriodInstancesAPI.relative()for relative queriesAdd
modified-at-latestparameter foreq.instances.relative()Implement absolute forecasts for instances
eq.instances.absolute()Add
unitanddenominatorattributes toSeriesandOHLCListAdd support for unit conversion when loading data from the API
Add
curve_typeparameter foreq.metadata.curves()Add
Subscription,SubscriptionAccess,SubscriptionTypeandSubscriptionCollectionPermmodelsAdd
Curve.subscriptionfield, providing the user with subscription information for curvesAdd
User,OrganizationandAccountManagermodelsAdd
UserAPIandeq.user.user()to get details of the current user
Bugfixes
Remove unnecessary limitation from
eq.instances.relative()for parameterstime_of_day,after_time_of_dayandbefore_time_of_day
Breaking changes
Removed
Place.area. UsePlace.areasinstead.
0.11¶
Improvements
Implement
EventsAPIfor streaming events from Energy Quantified’s WebSocket API (push feed).Add timezone conversion.
Add
thresholdparameter to define how many values are allowed to be missing while performing an aggregation.
Dependencies
Add
websocket-clientv1.5.1Upgrade
requeststo minimum 2.31 due to security fixes
0.10.1¶
Bugfixes
Fixed a bug introduced in v0.10 in
PeriodSeries.to_timeseries()
0.10¶
Improvements
Add areas
ISandLU- Update borders:
Set
SI – HUandSI – HUas Flow-based
Increase rate limits.
Increase default request timeout.
Add option to include
proxiesinEnergyQuantifiedandRealtoConnection.Add support for using periods installed capacity instead of values when converting a
PeriodSeriesto aTimeseriesor aDataFrame.
Bugfixes
Fixed an error where SRMC responses failed to parse empty lists in the response
0.9.1¶
Improvements
Improve
Border.__hash__,Border.__eq__andBorder.__ne__methods- Add new areas:
MAMoroccoLYLibyaDZAlgeria
- Add new border:
SI – HUFlow-based
- Borders that no longer has commercial capacity:
LV – RUFI – RULT – RU_KGD
- Borders that have changed to flow-based:
AT – SIHR – HUCZ – DECZ – PLHU – SKPL – SKPL – DECZ – SKHU – RO
- Border updated to flowed-based and explicit:
SI – HR
0.9¶
Bugfixes
When invoking
timeseries.to_dataframe(single_level_header=True)the resulting column index was still aMultiIndexbut with a single level. Now the resulting column index is a normalIndextype.
0.8.1¶
Dependencies
requests: Use the latest v2.x available, as requests is very stable library.python-dateutil: Use the latest v2.8.x available.
0.8¶
Improvements
Add
eq.metadata.curve()which returns a Curve object for the corresponding curve name.Add a section in the metadata documentation on the
eq.metadata.curve()method.Add
eq.metadata.curves()andeq.metadata.curve()to reference page in the documentation.Add
Area.short_tagwhich is a shorter tag thanArea.tag. It is typically used for TSO areas. Example: The area with tagDE-Amprionhas the short tagAmprion.- Changes in capacity allocation for these borders:
AT-CZ Implicit only
AT-HU Implicit only
NO2-GB Implicit
- Add borders:
RS-XK Explicit
TR-GE Explicit
0.7.1¶
More gas data preparations.
Improvements
Add
Place.areas(list of areas), as some places (i.e. gas interconnectors) are places on borders and should be listed for both areas.Add three new place types:
PlaceType.GAS_STORAGE,PlaceType.GAS_LNG_TERMINALandPlaceType.GAS_INTERCONNECTORAdd
Curve.commodity(str) which is eitherPower,Gas,Coal,Oil,CarbonorNoneat this time.Add a
commodityfilter foreq.metadata.curves().
Deprecations
Add
Place.areais deprecated and will eventually be replaced byPlace.areas. It will be removed in a future release.
0.7¶
Implementing Acer’s non-standard Gas Day timezone.
Improvements
Define new timezone in
pytzcalledEurope/Gas_Day. It follows Acer’s Gas Day, which is from 06:00 – 06:00 in CET/CEST. This timezone is used for the natural gas market in the European Union. Import it withfrom energyquantified.time import GAS_DAY, or look it up inpytzlike so:pytz.timezone("Europe/Gas_Day").
Bugfixes
When invoking
timeseries.to_dataframe(name="foo", single_level_header=True), the resulting column header in pandas’ DataFrame no longer includes the instance identifier. However, the ensemble/scenario name is still appended at the end.
0.6.3¶
Improvements
Increase rate limits.
Bugfixes
Set
has_instances = TrueinCurveType.INSTANCE_PERIOD(wasFalse).
0.6.2¶
Improvements
- Add new area Kosovo (
Area.XK) with these borders: XK–AL Explicit
XK–ME Explicit
XK–MK Explicit
- Add new area Kosovo (
- Add new border:
NO2–GB Explicit
- Changes in capacity allocation for these borders:
IT-Sud–GR Implict and Explicit
BG–GR Implict and Explicit
PL–DE Implict and Explicit
PL–SK Implict and Explicit
PL–CZ Implict and Explicit
DE–CZ Implict and Explicit
AT–CZ Implict
AT–HU Implict
GB–FR Explicit
GB–BE Explicit
GB–NL Explicit
- Remove border:
RS–AL
0.6.1¶
Improvements
Add
ContractPeriod.WEEKENDfor OHLC data.
Bugfixes
Fix crashes in
Border.__str__andBorder.__repr__due to missing implementations of__lt__and__gt__in classAllocation(thanks to stanton119).
0.6¶
A release with lots of small improvements.
Improvements
Add borders and parent-child relationships for the Italian price zone Calabria. The price zone has been in the client for a while, but haven’t placed in the exchange neighbour list for the other price zones in Italy until now.
Add the new parameter
single_level_headerto allto_dataframe()methods. By default, theto_dataframe()-method will createpandas.DataFrameobjects with three column headers. Whensingle_level_header=True, the client will merge all three levels into one header. The parameter defaults toFalse(to not break the old behaviour).Remove the parameter
hhv_to_lhvfor all SRMC API operations.Add a new class
RealtoConnection. This class is a drop-in replacement for theEnergyQuantified-class. It lets Realto users connect to the Energy Quantified’s API on Realto’s marketplace.Update the documentation on how to authenticate for Realto users.
Add a quickstart chapter for Realto users.
Add a section in the pandas documentation on the effects of setting the
single_level_headerparameter toTrueinto_dataframe().Add documentation on the
fillparameter ineq.ohlc.load_delivery_as_timeseries()andeq.ohlc.load_front_as_timeseries().Other minor improvements in the documentation.
Breaking change
Remove the HHV-to-LHV option for gas in the SRMC API.
Bugfixes
Slashes (/) weren’t escaped in curve names in the URL. While this didn’t cause issues for Energy Quantified’s API, it caused an issue while integrating the client with Realto’s marketplace.
Dependencies
Upgrade
requeststo v2.25.1.
0.5¶
Introducing support for short-run marginal cost (SRMC) calculations from OHLC data.
Improvements
Add
OhlcAPI#latest_as_periods()method for generating a “forward curve” from all closing prices in a market.Add
fillparameter toOhlcAPI#load_front_as_timeseries()andOhlcAPI#load_front_as_timeseries().Add
SRMCandSRMCOptionsdata classes.Implement the SRMC API:
load_front(),load_delivery(),load_front_as_timeseries(),load_delivery_as_timeseries(),latest(), andlatest_as_periods().Add section in the OHLC documentation on how to load “forward curves”.
Add new chapter on SRMC in the documentation.
Bugfixes
Fix a crash in the
ContractJSON parser that occured only for SRMC operations.
Dependencies
Upgrade
requeststo v2.25.0.
0.4.2¶
Improvements
Update border configurations (such as the AELGrO cable between Belgium and Germany, for instance).
Bugfixes
Add missing area (SEM).
0.4.1¶
Bugfixes
Fix a crash in
TimeseriesList#to_dataframe().
0.4¶
Improve pandas integration with more utility methods.
Improvements
Pageobjects are now immutable (for curve and place search responses).Add
Series.set_name()to let users set a custom name for time series’ and period-based series’.Add
TimeseriesListwith ato_dataframe()method for converting a list of time series to a pandas data frame. It subclasses Python’s built-in list and overrides its methods with extra validations.Add
PeriodseriesList. Similar toTimeseriesList, it subclasses Python’s list. It has two methods: (1)to_timeseries()which converts this list to aTimeseriesList, and (2)to_dataframe(frequency)which converts this list to a data frame.Add
Periodseries#to_dataframe(frequency). Previously, you would have to first convert the period-based series to a time series and then callto_dataframe.Update headers in pandas data frames.
Add
OHLCList#to_dataframe()for converting OHLC data to a data frame.Update documentation where applicable with a short description on how to convert time series, period-based series and OHLC data to data frames.
Add own chapter on how to convert data to
pandas.DataFrame.Add own chapter on packages and where to find the different classes and enumerators.
Breaking change
With better pandas integration, we changed column headers for data frames. As of v0.4, data frames have three column header levels for time series data:
Curve name
Instance or contract
Scenario (ensemble)
We did this to better describe the data when converted from time series’ to pandas data frames. Refer to the chapter on pandas integration for more details.
0.3¶
Introducing support for OHLC data (open, high, low, close).
Improvements
Implement operations in the OHLC API:
load(),latest().load_delivery_as_timeseries(), andload_front_as_timeseries()Add data and metadata classes for OHLC:
OHLCField,ContractPeriod,Product,OHLC,OHLCList, andContract.Add member
Series#contract, which is a reference to a set by theload_*_as_timeseries()-operations.Add documentation for OHLC.
Add new curve data type:
DataType.SCENARIO.
Bugfixes
Fix runtime error in
Series#name()(Seriesis superclass ofTimeseriesandPeriodseries).ValidationErrorexceptions occuring on the server-side didn’t include which parameter that failed due to a bug in the JSON error message parser.
0.2¶
A small release with two improvements.
Improvements
Add
Periodseries#print()method.Increase 1-10 days-ahead constraints for relative queries to 0-10000.
0.1¶
The first public release of Energy Quantified’s Python client. Woho!
Improvements
Add utilities for working with date-times, frequencies, timezones and resolutions.
Add metadata classes for areas, curves, instances, places and more.
Add classes for time series and period-based series.
Add wrapper around requests with rate-limiting, auto-retry on failure and authentication.
Implement APIs for metadata, timeseries, instances, periods and period-instances.
Add support for timeseries-to-pandas conversion.
Add meaningful exceptions.
Add a few examples to the git repo.
Write tons of documentation.
Dependencies
Add
pytz,tzlocal,python-dateutil,requests.Not adding
pandas, as it is optional.
Bugfixes
(None in this release, but probably introduced some!)