Skip to content

Releases: databento/databento-python

databento 0.30.0

23 Feb 02:19
cab2937

Choose a tag to compare

Release notes

Enhancements

  • Changed how SymbolMappingMsg objects are ingested by InstrumentMap to single source the timestamp parsing from the databento-dbn package

Bug fixes

  • Fixed an issue where setting a timezone in DBNStore.to_df could cause invalid symbol mappings

Breaking changes

  • Changed Live.add_stream to use the exclusive write mode when handling file paths so existing files won't be overwritten

databento 0.29.0

13 Feb 22:35
b8a1227

Choose a tag to compare

Release notes

Enhancements

  • Added tz parameter to DBNStore.to_df which will convert all timestamp fields from UTC to a specified timezone when used with pretty_ts

Bug fixes

  • Live.block_for_close and Live.wait_for_close will now call Live.stop when a timeout is reached instead of Live.terminate to close the stream more gracefully

databento 0.28.0

01 Feb 03:42
8287c53

Choose a tag to compare

Release notes

Enhancements

  • Substantially increased iteration queue size
  • Added methods DBNQueue.enable and DBNQueue.disable for controlling queue consumption
  • Added method DBNQueue.is_enabled to signal the queue can accept records
  • Added method DBNQueue.is_full to signal the queue has reached capacity
  • Added enabled checks to DBNQueue.put and DBNQueue.put_nowait

Breaking changes

  • Iterating a Live client after the streaming session has started will now raise a ValueError. Calling Live.start is not necessary when iterating the Live client
  • Moved constant databento.live.client.DEFAULT_QUEUE_SIZE to databento.live.session.DBN_QUEUE_CAPACITY
  • Removed maxsize parameter from DBNQueue constructor. DBNQueue now subclasses SimpleQueue instead
  • Removed property DBNQueue.enabled, use DBNQueue.is_enabled instead
  • Removed method DBNQueue.is_half_full, use DBNQueue.is_full instead

Bug fixes

  • Fixed an issue where DBN records could be dropped while iterating
  • Fixed an issue where async iteration would block the event loop

databento 0.27.0

23 Jan 23:43
63ce2a3

Choose a tag to compare

Release notes

Enhancements

  • Added Session.session_id property which will contain the numerical session ID once a live session has been authenticated
  • Upgraded databento-dbn to 0.15.1

Breaking changes

  • Renamed DatabentoLiveProtocol.started to DatabentoLiveProtocol.is_started which now returns a bool instead of an asyncio.Event

Bug fixes

  • Fixed an issue where an error message from the live gateway would not properly raise an exception if the connection closed before Live.start was called

databento 0.26.0

16 Jan 22:46
18f45c2

Choose a tag to compare

Release notes

This release adds support for transcoding DBN data into Apache parquet.

Enhancements

  • Added DBNStore.to_parquet for transcoding DBN data into Apache parquet using pyarrow
  • Upgraded databento-dbn to 0.15.0

databento 0.25.0

10 Jan 00:28
32e6ea1

Choose a tag to compare

Release notes

Breaking changes

  • Removed deprecated pretty_px parameter for DBNStore.to_df; price_type can be used instead

Bug fixes

  • Fixed an issue where the Live client would not raise an exception when reading an incompatible DBN version
  • Fixed an issue where sending lots of subscriptions could cause a BufferError
  • Fixed an issue where Historical.batch.download was slow
  • Fixed an issue where Historical.timeseries.get_range was slow
  • Fixed an issue where reading a DBN file with non-empty metadata symbol mappings and mixed SType would cause an error when mapping symbols (credit: Jakob Lövhall)

databento 0.24.1

15 Dec 23:00
9090bdd

Choose a tag to compare

Release notes

Enhancements

  • Added new publisher value for OPRA MIAX Sapphire

Bug fixes

  • Fixed issue where a large unreadable symbol subscription message could be sent
  • Fixed issue where calling Live.stop could cause a truncated DBN record to be written to a stream

databento 0.24.0

23 Nov 08:32
96fabd2

Choose a tag to compare

Release notes

This release adds support for DBN v2 as well as Python v3.12.

DBN v2 delivers improvements to the Metadata header symbology, new stype_in and stype_out fields for SymbolMappingMsg, and extends the symbol field length for SymbolMappingMsg and InstrumentDefMsg. The entire change notes are available here. Users who wish to convert DBN v1 files to v2 can use the dbn-cli tool available in the databento-dbn crate. On a future date, the Databento live and historical APIs will stop serving DBN v1.

This release of databento-python is fully compatible with both DBN v1 and v2, so this upgrade should be seamless for most users.

In some cases, DBN v1 records will be converted to their v2 counterparts:

  • When iterating a DBNStore and with DBNStore.replay
  • When iterating a Live client and records dispatched to callbacks

Enhancements

  • Added support for Python 3.12
  • Improved the performance for stream writes in the Live client
  • Upgraded databento-dbn to 0.14.2
  • Added databento.common.types module to hold common type annotations

Bug fixes

  • Fixed an issue where specifying an OHLCV schema in DBNStore.to_ndarray or DBNStore.to_df would not properly filter records by their interval
  • Fixed an issue where DBNStore.to_ndarray and DBNStore.to_df with a non-zero count could get stuck in a loop if the DBN data did not contain any records

Breaking Changes

  • DBNStore iteration and DBNStore.replay will upgrade DBN version 1 messages to version 2
  • Live client iteration and callbacks upgrade DBN version 1 messages to version 2
  • Moved DBNRecord, RecordCallback, and ExceptionCallback types to them databento.common.types module
  • Moved AUTH_TIMEOUT_SECONDS and CONNECT_TIMEOUT_SECONDS constants from the databento.live module to databento.live.session
  • Moved INT64_NULL from the databento.common.dbnstore module to databento.common.constants
  • Moved SCHEMA_STRUCT_MAP from the databento.common.data module to databento.common.constants
  • Removed schema parameter from DataFrameIterator constructor, struct_type is to be used instead
  • Removed NON_SCHEMA_RECORD_TYPES constant as it is no longer used
  • Removed DERIV_SCHEMAS constant as it is no longer used
  • Removed SCHEMA_COLUMNS constant as it is no longer used
  • Removed SCHEMA_DTYPES_MAP constant as it is no longer used
  • Removed empty databento.common.data module

databento 0.23.1

10 Nov 22:36
91fe40a

Choose a tag to compare

Release notes

Enhancements

  • Added new publishers for consolidated DBEQ.BASIC and DBEQ.PLUS

Bug fixes

  • Fixed an issue where Live.block_for_close and Live.wait_for_close would not flush streams if the timeout was reached
  • Fixed a performance regression when reading a historical DBN file into a numpy array

databento 0.23.0

26 Oct 16:39
2479d10

Choose a tag to compare

Release notes

Enhancements

  • Added map_symbols_csv function to the databento module for using symbology.json files to map a symbol column onto a CSV file
  • Added map_symbols_json function to the databento module for using symbology.json files to add a symbol key to a file of JSON records
  • Added new publisher values in preparation for IFEU.IMPACT and NDEX.IMPACT datasets

Bug fixes

  • Fixed issue where a large unreadable symbol subscription message could be sent
  • Fixed an issue where DBNStore.to_df with pretty_ts=True was very slow