Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Releases: databento/dbn

0.43.0

21 Oct 22:42
b29e068

Choose a tag to compare

Release notes

Enhancements

  • Added export of F_PUBLISHER_SPECIFIC constant to Python
  • Removed support for Python 3.9 in databento-dbn due to end of life
  • Added explicit Unset variant for SystemCode and ErrorCode
  • Changed Python getters for enum fields to return the underlying type when no known
    variant can be found. As a result, these getters no longer raise an exception
  • Added Default implementation for SystemCode and ErrorCode

Bug fixes

  • Added missing Python type stubs for other flag constants

0.42.0

23 Sep 16:11
781ee43

Choose a tag to compare

Release notes

Enhancements

  • Added ts_index and pretty_ts_index properties for records in Python which provides
    the timestamp that is most appropriate for indexing
  • Upgraded pyo3 version to 0.26.0

Bug fixes

  • Fixed type stub for channel_id in Python to allow None
  • Fixed missing re-export for record::TcbboMsg

0.41.0

26 Aug 20:54
4e68293

Choose a tag to compare

Release notes

Enhancements

  • Added interval method RType and Schema to get the duration for subsample schemas
    like Ohlcv1H and Cbbo1S

Breaking changes

  • Changed the default value for channel_id to be u8::MAX in MboMsg and u16::MAX
    elsewhere since 0 is a valid channel ID

Bug fixes

  • Changed default inst_attrib_value value from 0 to i32::MAX to match Rust

0.40.0

19 Aug 17:31
632fa66

Choose a tag to compare

Release notes

Enhancements

  • Added instrument_id and publisher_id setters to all records in Python
  • Added DbnVersion new type

Breaking changes

  • Removed hd property from records in Python. Header fields are accessible
    directly from the record
  • Removed ability to directly instantiate most enums from an int in Python and coercion
    from int in __eq__. They can still be instantitated with the from_int class method.
    Write Side.from_int(66) instead of Side(66) and Side.BID == Side.from_int(66)
    instead of Side.BID == 66. Affected enums:
    • Side
    • Action
    • InstrumentClass
    • MatchAlgorithm
    • UserDefinedInstrument
    • SecurityUpdateAction
    • SType
    • Schema
    • Encoding
    • Compression
    • TriState
  • Removed string coercion in __init__ and __eq__ for RType, SystemCode, and
    ErrorCode enums in Python. It can still be instantiated from a str with the
    from_str class method. Write RType.from_str("mbo") instead of RType("mbo")
    and RType.TRADES == RType.from_str("trades") instead of RType.TRADES == "trades"

Bug fixes

  • Fixed __init__ type signatures for ErrorMsg and SystemMsg in Python
  • Added missing types to record __init__ type signatures in Python
  • Added __init__ type stub for enums in Python
  • Fixed __hash__ implementation for Python enums to match that of their char or int
    representation

Breaking changes

  • Marked ErrorCode and SystemCode non-exhaustive to allow adding future variants
    without a breaking change
  • Added EndOfInterval variant to SystemCode to notify when all OHLCV bars and
    subsampled BBO records have been published for a time interval

0.39.1

12 Aug 16:43
a3b3e6d

Choose a tag to compare

Release notes

Enhancements

  • Added PUBLISHER_SPECIFIC flag
  • Improved JSON encoding performance
  • Added a Default implementation for SecurityUpdateAction

0.39.0

29 Jul 22:19
8672216

Choose a tag to compare

Release notes

Enhancements

  • Added side() and unpaired_side() methods to ImbalanceMsg that convert the fields
    of the same name to the Side enum
  • Added pretty_auction_time property in Python for ImbalanceMsg
  • Added Default implementation for StatUpdateAction
  • Added warnings to the floating-point getter methods' docstrings
  • Added action and ts_in_delta getters to BboMsg
  • Added ts_recv getter to StatusMsg
  • Added missing floating-point price getters to InstrumentDefMsg record types from all
    DBN versions
  • Added more floating-point price getters to ImbalanceMsg
  • Added floating-point price getter to StatMsg and v1::StatMsg
  • Standardize Python __init__ type signatures
  • Upgraded async-compression dependency version to 0.4.27

Breaking changes

  • Changed SystemMsg::code() and ErrorMsg::code() methods to return a Result
    instead of an Option to be consistent with other enum conversion methods
  • Changed auction_time field in ImbalanceMsg to be formatted as a timestamp

Bug fixes

  • Fixed a regression where some enum constructors no longer raised a DBNError in
    Python
  • Fixed typo in RecordHeader's rtype docstring
  • Removed error documentation from ErrorMsg::new because the function never returns an
    error

0.38.0

22 Jul 17:36
94e52c0

Choose a tag to compare

Release notes

Breaking changes

  • Renamed Compression::ZStd to Zstd for consistency
  • Removed duplicated flags constants in enums module. Use the top-level flags
    constants instead
  • Renamed to SCHEMA_COUNT to Schema::COUNT

Bug fixes

  • Relaxed requirement of input_version parameter to the Python Transcoder to only
    be required when transcoding to CSV without Metadata, where previously it was always
    required when transcoding data without Metadata
  • Added missing methods to Python for StatUpdateAction enum

0.37.1

15 Jul 21:18
d4fb19b

Choose a tag to compare

Release notes

Bug fixes

  • Fixed issue where RecordHeader fields weren't accessible from Python

0.37.0

15 Jul 15:41
4272a16

Choose a tag to compare

Release notes

Breaking changes

  • Renamed the following Venue, Dataset, and Publishers:
    • XEER to XEEE
    • XEER.EOBI to XEEE.EOBI
    • XEER.EOBI.XEER to XEEE.EOBI.XEEE
    • XEER.EOBI.XOFF to XEEE.EOBI.XOFF
  • Renamed CMBP1 constant to CMBP_1 for consistency with MBP_1 and MBP_10

Bug fixes

  • Fix buffer growth in DbnFsm::write_all(), which is used by Python
    DBNDecoder.write()

0.36.2

08 Jul 18:55
dbc6e7c

Choose a tag to compare

Release notes

Enhancements

  • Upgraded async-compression version to 0.4.25
  • Upgraded pyo3 version to 0.25.1

Bug fixes

  • Fixed change in behavior where Python DBNDecoder.decode() wouldn't always decode all
    available data on the first call