Databento-dbn

Latest version: v0.24.0

Safety actively analyzes 688178 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 6 of 9

0.9.0

Enhancements
- Added `publisher` method to `RecordHeader` and all record types for converting
the `publisher_id` to an enum
- Added getters that return `time::OffsetDateTime` for the following fields:
`ts_event`, `ts_recv`, `ts_ref`, `activation`, `expiration`, `start_ts`, `end_ts`,
`ts_out`
- Added getters for `ts_in_delta` that return `time::Duration`

0.8.3

Bug fixes
- Fixed missing `raw_instrument_id` field in Python `InstrumentDefMsg`
- Fixed missing `OHLCV_EOD` variant in Python `Schema` type hint

0.8.2

Enhancements
- Added new `OhlcvEod` schema variant for future use with OHLCV bars based around the
end of the trading session
- Implemented `std::fmt::Display` for publisher enums (`Publisher`, `Dataset`, and
`Venue`)

Bug fixes
- Fixed Python type hint for `Encoding.variants()`

0.8.1

Enhancements
- Added `raw_instrument_id` field to `InstrumentDefMsg` (definition schema) for use in
future datasets consolidated from multiple publishers
- Added new `OHLCV_EOD` rtype for future daily OHLCV schema based on the trading
session
- Added new `SType::Nasdaq` and `SType::Cms` to support querying US equities datasets
using either convention, regardless of the original convention of the dataset
- Relaxed `pyo3`, `tokio`, and `zstd` dependency version requirements
- Added `FIXED_PRICE_SCALE` constant to `databento_dbn` Python package
- Added generated field metadata for each record type to aid in pandas DataFrame
creation

Breaking changes
- Changed `size_hint` class method to class attribute for Python records

Bug fixes
- Fixed multi-frame Zstd decoding for async decoders

0.8.0

Enhancements
- Switched from `anyhow::Error` to custom `dbn::Error` for all public fallible functions
and methods. This should make it easier to disambiguate between error types
- `EncodeDbn::encode_record` and `EncodeDbn::record_record_ref` no longer treat a
`BrokenPipe` error differently
- Added `AsyncDbnDecoder`
- Added `pretty::Px` and `pretty::Ts` newtypes to expose price and timestamp formatting
logic outside of CSV and JSON encoding
- Added interning for Python strings
- Added `rtype` to encoded JSON and CSV to aid differeniating between different record types.
This is particularly important when working with live data
- Added `pretty_` Python attributes for DBN price fields
- Added `pretty_` Python attributes for DBN UTC timestamp fields

Breaking changes
- All fallible operations now return a `dbn::Error` instead of an `anyhow::Error`
- Updated serialization order to serialize `ts_recv` and `ts_event` first
- Moved header fields (`rtype`, `publisher_id`, `instrument_id`, and `ts_event`) to
nested object under the key `hd` in JSON encoding to match structure definitions
- Changed JSON encoding of all 64-bit integers to strings to avoid loss of precision
- Updated `MboMsg` serialization order to serialize `action`, `side`, and `channel_id`
earlier given their importance
- Updated `Mbp1Msg`, `Mbp10Msg`, and `TradeMsg` serialization order to serialize
`action`, `side`, and `depth` earlier given their importance
- Updated `InstrumentDefMsg` serialization order to serialize `raw_symbol`,
`security_update_action`, and `instrument_class` earlier given their importance
- Removed `bool` return value from `EncodeDbn::encode_record` and
`EncodeDbn::record_record_ref`. These now return `dbn::Result<()>`

Bug fixes
- Fixed handling of NUL byte when encoding DBN to CSV and JSON
- Fixed handling of broken pipe in `dbn` CLI tool

0.7.1

- Added Python `variants` method to return an iterator over the enum variants for
`Compression`, `Encoding`, `Schema`, and `SType`
- Improved Python enum conversions for `Compression`, `Encoding`, `Schema`, and `SType`

Page 6 of 9

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.