Releases: databento/dbn
Releases · databento/dbn
0.10.1
Release notes
Bug fixes
- Changed
Metadata::symbol_mapandsymbol_map_for_dateto returnStringvalues
instead of&str, which made it difficult to use
0.10.0
Release notes
Enhancements
- Added
startandendgetters toMetadatathat returntime::OffsetDateTime - Added
symbol_mapandsymbol_map_for_datemethods toMetadatato aid historical
symbology mapping from the instrument IDs in records - Added
DynReaderstruct for being agnostic about whether an input stream is
zstd-compressed - Improved safety of
RecordRef::getby adding length check - Added Python DBN
Transcoderclass for converting DBN to JSON and CSV with optional
zstd compression - Added optional
has_metadataparameter to PythonDBNDecoderto allow
decoding plain records by passingFalse. By defaultDBNDecoderexpects a complete
DBN stream, which begins with metadata - Added
get_refmethods todbn::Decoderanddbn::RecordDecoderwhich return a
reference to the inner reader - Added
UNDEF_PRICE,UNDEF_ORDER_SIZE,UNDEF_STAT_QUANTITY, andUNDEF_TIMESTAMP
constants todatabento_dbnPython package to make it easier to filter null values - Added
Metadata::builder()function to create a new builder instance
Breaking changes
- Split out
EncodeRecordReftrait fromEncodeDbnto have a boxable trait (i.e.
Box<dyn EncodeRecordRef>) for dynamic encoding - Split out
EncodeRecordtrait fromEncodeDbn - Split out
DecodeRecordReftrait fromDecodeDbnto have a boxable trait (i.e.
Box<dyn DecodeRecordRef>) for dynamic decoding - Changed
DynWriterfrom an enum to a struct with only private fields
Bug fixes
- Fixed typo in
BATY.PITCH.BATYpublisher - Fixed typo in
README.md(credit: @thomas-k-cameron)
0.9.0
Release notes
Enhancements
- Added
publishermethod toRecordHeaderand all record types for converting
thepublisher_idto an enum - Added getters that return
time::OffsetDateTimefor the following fields:
ts_event,ts_recv,ts_ref,activation,expiration,start_ts,end_ts,
ts_out - Added getters for
ts_in_deltathat returntime::Duration
0.8.3
Release notes
Bug fixes
- Fixed missing
raw_instrument_idfield in PythonInstrumentDefMsg - Fixed missing
OHLCV_EODvariant in PythonSchematype hint
0.8.2
Release notes
Enhancements
- Added new
OhlcvEodschema variant for future use with OHLCV bars based around the
end of the trading session - Implemented
std::fmt::Displayfor publisher enums (Publisher,Dataset, and
Venue)
Bug fixes
- Fixed Python type hint for
Encoding.variants()
0.8.1
Release notes
Enhancements
- Added new
OHLCV_EODrtype for future daily OHLCV schema based on the trading
session - Added new
SType::NasdaqandSType::Cmsto support querying US equities datasets
using either convention, regardless of the original convention of the dataset. - Relaxed
pyo3,tokio, andzstddependency version requirements
Bug fixes
- Fixed multi-frame Zstd decoding for async decoders
0.8.0
Release notes
Enhancements
- Switched from
anyhow::Errorto customdbn::Errorfor all public fallible functions
and methods. This should make it easier to disambiguate between error types. EncodeDbn::encode_recordandEncodeDbn::record_record_refno longer treat a
BrokenPipeerror differently- Added
AsyncDbnDecoder - Added
pretty::Pxandpretty::Tsnewtypes to expose price and timestamp formatting
logic outside of CSV and JSON encoding - Added interning for Python strings
- Added
rtypeto 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::Errorinstead of ananyhow::Error - Updated serialization order to serialize
ts_recvandts_eventfirst - Moved header fields (
rtype,publisher_id,instrument_id, andts_event) to
nested object under the keyhdin JSON encoding to match structure definitions - Changed JSON encoding of all 64-bit integers to strings to avoid loss of precision
- Updated
MboMsgserialization order to serializeaction,side, andchannel_id
earlier given their importance - Updated
Mbp1Msg,Mbp10Msg, andTradeMsgserialization order to serialize
action,side, anddepthearlier given their importance - Updated
InstrumentDefMsgserialization order to serializeraw_symbol,
security_update_action, andinstrument_classearlier given their importance - Removed
boolreturn value fromEncodeDbn::encode_recordand
EncodeDbn::record_record_ref. These now returndbn::Result<()>.
Bug fixes
- Fixed handling of NUL byte when encoding DBN to CSV and JSON
- Fixed handling of broken pipe in
dbnCLI tool
0.7.1
Release notes
- Added Python
variantsmethod to return an iterator over the enum variants for
Compression,Encoding,Schema, andSType - Improved Python enum conversions for
Compression,Encoding,Schema, andSType
0.7.0
Release notes
- Added publishers enums
- Added export to Python for
Compression,Encoding,SType, andSchema
enums - Added async JSON encoder
- Fixed pretty timestamp formatting to match API
- Improved Python string representation of
ErrorMsgandSystemMsg - Dropped support for Python 3.7
0.6.1
v0.6.1 Released version 0.6.1