Releases: databento/dbn
Releases · databento/dbn
0.10.0
Release notes
Enhancements
- Added
start
andend
getters toMetadata
that returntime::OffsetDateTime
- Added
symbol_map
andsymbol_map_for_date
methods toMetadata
to aid historical
symbology mapping from the instrument IDs in records - Added
DynReader
struct for being agnostic about whether an input stream is
zstd-compressed - Improved safety of
RecordRef::get
by adding length check - Added Python DBN
Transcoder
class for converting DBN to JSON and CSV with optional
zstd compression - Added optional
has_metadata
parameter to PythonDBNDecoder
to allow
decoding plain records by passingFalse
. By defaultDBNDecoder
expects a complete
DBN stream, which begins with metadata - Added
get_ref
methods todbn::Decoder
anddbn::RecordDecoder
which return a
reference to the inner reader - Added
UNDEF_PRICE
,UNDEF_ORDER_SIZE
,UNDEF_STAT_QUANTITY
, andUNDEF_TIMESTAMP
constants todatabento_dbn
Python package to make it easier to filter null values - Added
Metadata::builder()
function to create a new builder instance
Breaking changes
- Split out
EncodeRecordRef
trait fromEncodeDbn
to have a boxable trait (i.e.
Box<dyn EncodeRecordRef>
) for dynamic encoding - Split out
EncodeRecord
trait fromEncodeDbn
- Split out
DecodeRecordRef
trait fromDecodeDbn
to have a boxable trait (i.e.
Box<dyn DecodeRecordRef>
) for dynamic decoding - Changed
DynWriter
from an enum to a struct with only private fields
Bug fixes
- Fixed typo in
BATY.PITCH.BATY
publisher - Fixed typo in
README.md
(credit: @thomas-k-cameron)
0.9.0
Release notes
Enhancements
- Added
publisher
method toRecordHeader
and all record types for converting
thepublisher_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 returntime::Duration
0.8.3
Release notes
Bug fixes
- Fixed missing
raw_instrument_id
field in PythonInstrumentDefMsg
- Fixed missing
OHLCV_EOD
variant in PythonSchema
type hint
0.8.2
Release notes
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
Release notes
Enhancements
- Added new
OHLCV_EOD
rtype for future daily OHLCV schema based on the trading
session - Added new
SType::Nasdaq
andSType::Cms
to support querying US equities datasets
using either convention, regardless of the original convention of the dataset. - Relaxed
pyo3
,tokio
, andzstd
dependency version requirements
Bug fixes
- Fixed multi-frame Zstd decoding for async decoders
0.8.0
Release notes
Enhancements
- Switched from
anyhow::Error
to customdbn::Error
for all public fallible functions
and methods. This should make it easier to disambiguate between error types. EncodeDbn::encode_record
andEncodeDbn::record_record_ref
no longer treat a
BrokenPipe
error differently- Added
AsyncDbnDecoder
- Added
pretty::Px
andpretty::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 ananyhow::Error
- Updated serialization order to serialize
ts_recv
andts_event
first - Moved header fields (
rtype
,publisher_id
,instrument_id
, andts_event
) to
nested object under the keyhd
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 serializeaction
,side
, andchannel_id
earlier given their importance - Updated
Mbp1Msg
,Mbp10Msg
, andTradeMsg
serialization order to serialize
action
,side
, anddepth
earlier given their importance - Updated
InstrumentDefMsg
serialization order to serializeraw_symbol
,
security_update_action
, andinstrument_class
earlier given their importance - Removed
bool
return value fromEncodeDbn::encode_record
and
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
dbn
CLI tool
0.7.1
Release notes
- Added Python
variants
method 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
ErrorMsg
andSystemMsg
- Dropped support for Python 3.7
0.6.1
v0.6.1 Released version 0.6.1
0.6.0
v0.6.0 Released version 0.6.0