Databento-dbn

Latest version: v0.17.1

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

Scan your dependencies

Page 1 of 6

0.17.1

Bug fixes
- Added missing Python type stub for `StatusMsg`

0.17.0

Enhancements
- Added new record type `CbboMsg`, new rtypes and schema types for `Cbbo`, `Cbbo1s`,
`Cbbo1m`, `Tcbbo`, `Bbo1s`, and `Bbo1m`
- Added `Volatility` and `Delta` `StatType` variants
- Added `Undefined` and `TimeProRata` `MatchAlgorithm` variants
- Exported more enums to Python:
- `Action`
- `InstrumentClass`
- `MatchAlgorithm`
- `SecurityUpdateAction`
- `Side`
- `StatType`
- `StatUpdateAction`
- `StatusAction`
- `StatusReason`
- `TradingEvent`
- `TriState`
- `UserDefinedInstrument`

Breaking changes
- Removed `Default` trait implementation for `Mbp1Msg` due to it now having multiple
permissible `rtype` values. Users should use `default_for_schema` instead
- Changed the default `match_algorithm` for `InstrumentDefMsg` and `InstrumentDefMsgV1`
from `Fifo` to `Undefined`
- Made `Dataset`, `Venue`, and `Publisher` non-exhaustive to allow future additions
without breaking changes
- Renamed publishers from deprecated datasets to their respective sources (`XNAS.NLS`
and `XNYS.TRADES` respectively)

Deprecations
- Deprecated dataset values `FINN.NLS` and `FINY.TRADES`

Bug fixes
- Fixed an issue where the Python `MappingIntervalDict` was not exported
- Fixed Python type stubs for `VersionUpgradePolicy` and `SType`

0.16.0

Enhancements
- Updated `StatusMsg` and made it public in preparation for releasing a status schema
- Added `StatusAction`, `StatusReason`, `TradingEvent`, and `TriState` enums for use in
the status schema
- Added `-t` and `--tsv` flags to DBN CLI to encode tab-separated values (TSV)
- Added `delimiter` method to builders for `DynEncoder` and `CsvEncoder` to customize the
field delimiter character, allowing DBN to be encoded as tab-separated values (TSV)
- Documented cancellation safety for `AsyncRecordDecoder::decode_ref` (credit: yongqli)
- Added new publisher values for consolidated DBEQ.MAX
- Added C FFI conversion functions from `ErrorMsgV1` to `ErrorMsg` and `SystemMsgV1`
to `SystemMsg`
- Improved documentation for `side` field and `Side` enum
- Upgraded `async-compression` to 0.4.6
- Upgraded `strum` to 0.26

Breaking changes
- Changed default for `VersionUpgradePolicy` to `Upgrade`
- Changed default `upgrade_policy` for `DbnDecoder`, `AsyncDbnDecoder`, and Python
`DBNDecoder` to `Upgrade` so by default the primary record types can always be used
- Changed fields of previously-hidden `StatusMsg` record type
- Updated text serialization order of status schema to match other schemas
- Changed text serialization `unit_of_measure_qty` to be affected by `pretty_px`. While
it's not a price, it uses the same fixed-price decimal format as other prices
- Made `StatType` and `VersionUpgradePolicy` non-exhaustive to allow future additions
without breaking changes
- Renamed `_dummy` field in `ImbalanceMsg` and `StatMsg` to `_reserved`
- Added `ts_out` parameter to `RecordDecoder` and `AsyncRecordDecoder`
`with_upgrade_policy` methods

Bug fixes
- Fixed handling of `ts_out` when upgrading DBNv1 records to version 2
- Added missing `StatType::Vwap` variant used in the ICE datasets
- Fixed an issue with Python stub file distribution
- Fixed missing handling of `ErrorMsgV1` and `SystemMsgV1` in `rtype` dispatch macros

0.15.1

Bug fixes
- Fixed an import error in the Python type stub file

0.15.0

Enhancements
- Improved `Debug` implementation for all record types
- Prices are formatted as decimals
- Fixed-length strings are formatted as strings
- Bit flag fields are formatted as binary
- Several fields are formatted as enums instead of their raw representations
- Improved `Debug` implementation for `RecordRef` to show `RecordHeader`
- Added `--schema` option to `dbn` CLI tool to filter a DBN to a particular schema. This
allows outputting saved live data to CSV
- Allowed passing `--limit` option to `dbn` CLI tool with `--metadata` flag
- Improved performance of decoding uncompressed DBN fragments with the `dbn` CLI tool
- Added builders to `CsvEncoder`, `DynEncoder`, and `JsonEncoder` to assist with the
growing number of customizations
- Added option to write CSV header as part of creating `CsvEncoder` to make it harder
to forget
- Added `-s`/`--map-symbols` flag to CLI to create a `symbol` field in the output with
the text symbol mapped from the instrument ID
- Added `version` param to Python `Metadata` constructor choose between DBNv1 and DBNv2
- Implemented `EncodeRecordTextExt` for `DynEncoder`
- Implemented `Deserialize` and `Serialize` for all records and enums (with `serde`
feature enabled). This allows serializing records with additional encodings not
supported by the DBN crate
- Implemented `Hash` for all record types
- Added new publisher value for OPRA MIAX Sapphire
- Added Python type definition for `Metadata.__init__`
- Added `metadata_mut` method to decoders to get a mutable reference to the decoded
metadata
- Improved panic message on `RecordRef::get` when length doesn't match expected to be
actionable
- Added `encode::ZSTD_COMPRESSION_LEVEL` constant

Breaking changes
- Increased size of `SystemMsg` and `ErrorMsg` to provide better messages from Live
gateway
- Increased length of `err` and `msg` fields for more detailed messages
- Added `is_last` field to `ErrorMsg` to indicate the last error in a chain
- Added `code` field to `SystemMsg` and `ErrorMsg`, although currently unused
- Added new `is_last` parameter to `ErrorMsg::new`
- Decoding these is backwards-compatible and records with longer messages won't be
sent during the DBN version 2 migration period
- Renamed previous records to `compat::ErrorMsgV1` and `compat::SystemMsgV1`
- Split `DecodeDbn` trait into `DecodeRecord` and `DbnMetadata` traits for more
flexibility. `DecodeDbn` continues to exist as a trait alias
- Moved `decode_stream` out of `DecodeDbn` to its own separate trait `DecodeStream`
- Changed trait bounds of `EncodeDbn::encode_decoded` and `encode_decoded_with_limit` to
`DecodeRecordRef + DbnMetadata`

Bug fixes
- Fixed panic in `TsSymbolMap` when `start_date` == `end_date`
- Added missing Python `__eq__` and `__ne__` implementations for `BidAskPair`
- Fixed Python `size_hint` return value for `InstrumentDefMsgV1` and
`SymbolMappingMsgV1`
- Fixed cases where `dbn` CLI tool would write a broken pipe error to standard error
such as when piping to `head`
- Fixed bug in sync and async `MetadataEncoder`s where `version` was used to determine
the encoded length of fixed-length symbols instead of the `symbol_cstr_len` field

0.14.2

Enhancements
- Added `set_upgrade_policy` setters to `DbnDecoder`, `DbnRecordDecoder`,
`AsyncDbnDecoder`, and `AsyncDbnRecordDecoder`
- Added `from_schema` classmethod for Python `RType` enum

Breaking changes
- Renamed parameter for Python Enum classmethod constructors to `value` from `data`.

Page 1 of 6

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.