Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

VER: Release 0.18.0 #49

Closed
wants to merge 17 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 29 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,34 @@
# Changelog

## 0.18.0 - 2024-05-14

### Enhancements
- Added links to example usage in documentation
- Added new predicate methods `InstrumentClass::is_option`, `is_future`, and `is_spread`
to make it easier to work with multiple instrument class variants
- Implemented `DecodeRecord` for `DbnRecordDecoder`
- Added `new_inferred`, `with_buffer`, `inferred_with_buffer`, `from_file`, `get_mut`,
and `get_ref` methods to `AsyncDynReader` for parity with the sync `DynReader`
- Improved documentation enumerating errors returned by functions
- Added new `DBNError` Python exception that's now the primary exception raised by
`databento_dbn`

### Breaking changes
- Changed type of `flags` in `MboMsg`, `TradeMsg`, `Mbp1Msg`, `Mbp10Msg`, and `CbboMsg`
from `u8` to a new `FlagSet` type with predicate methods for the various bit flags
as well as setters. The `u8` value can still be obtained by calling the `raw()` method.
- Improved `Debug` formatting
- Python and encodings are unaffected
- Removed `write_dbn_file` function deprecated in version 0.14.0 from Python interface.
Please use `Transcoder` instead
- Switched `DecodeStream` from `streaming_iterator` crate to `fallible_streaming_iterator`
to allow better notification of errors
- Switched `EncodeDbn::encode_stream` from accepting an `impl StreamingIterator` to
accepting an `FallibleStreamingIterator` to allow bubbling up of decoding errors
- Changed default value for `stype_in` and `stype_out` in `SymbolMappingMsg` to
`u8::MAX` to match C++ client and to reflect an unknown value. This also changes the
value of these fields when upgrading a `SymbolMappingMsgV1` to DBNv2

## 0.17.1 - 2024-04-04

### Bug fixes
Expand Down
52 changes: 26 additions & 26 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

11 changes: 10 additions & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,16 @@ resolver = "2"
[workspace.package]
authors = ["Databento <[email protected]>"]
edition = "2021"
version = "0.17.1"
version = "0.18.0"
documentation = "https://docs.databento.com"
repository = "https://github.com/databento/dbn"
license = "Apache-2.0"

[workspace.dependencies]
anyhow = "1.0.80"
pyo3 = "0.21.2"
pyo3-build-config = "0.21.2"
rstest = "0.18.2"
serde = { version = "1.0", features = ["derive"] }
time = ">=0.3.35"
zstd = "0.13"
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ DBN is also the default encoding for all Databento APIs, including live data str
This repository contains both libraries and a CLI tool for working with DBN files and streams.
Python bindings for `dbn` are provided in the `databento_dbn` package.

For more details, read our [introduction to DBN](https://docs.databento.com/knowledge-base/new-users/dbn-encoding/getting-started-with-dbn).
For more details, read our [introduction to DBN](https://databento.com/docs/knowledge-base/new-users/dbn-encoding/getting-started-with-dbn).

## Features

Expand Down
3 changes: 1 addition & 2 deletions c/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,7 @@ name = "dbn_c"
crate-type = ["staticlib"]

[dependencies]
anyhow = "1.0.80"
# DBN library
anyhow = { workspace = true }
dbn = { path = "../rust/dbn", features = [] }
libc = "0.2.153"

Expand Down
12 changes: 4 additions & 8 deletions python/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -13,16 +13,12 @@ repository.workspace = true
name = "databento_dbn" # Python modules can't contain dashes

[dependencies]
# DBN library
dbn = { path = "../rust/dbn", features = ["python"] }
# Python bindings for Rust
pyo3 = "0.20"
# Dates and datetimes
time = "0.3.34"
pyo3 = { workspace = true }
time = { workspace = true }

[build-dependencies]
pyo3-build-config = { version = "0.20" }
pyo3-build-config = { workspace = true }

[dev-dependencies]
# parameterized testing
rstest = "0.18.2"
rstest = { workspace = true }
4 changes: 2 additions & 2 deletions python/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
[![pypi-version](https://img.shields.io/pypi/v/databento_dbn)](https://pypi.org/project/databento-dbn)

Python bindings for the `dbn` Rust library, used by the [Databento Python client library](https://github.com/databento/databento-python).
For more information about the encoding, read our [introduction to DBN](https://docs.databento.com/knowledge-base/new-users/dbn-encoding/getting-started-with-dbn).
For more information about the encoding, read our [introduction to DBN](https://databento.com/docs/knowledge-base/new-users/dbn-encoding/getting-started-with-dbn).

Using this library is for advanced users and is not fully documented or supported.

Expand All @@ -19,7 +19,7 @@ pip install -U databento-dbn

## Usage and documentation

See the [documentation](https://docs.databento.com/getting-started?historical=python&live=python) for the Python client library.
See the [documentation](https://databento.com/docs/getting-started?historical=python&live=python) for the Python client library.

## Building

Expand Down
4 changes: 2 additions & 2 deletions python/pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[tool.poetry]
name = "databento-dbn"
version = "0.17.1"
version = "0.18.0"
description = "Python bindings for encoding and decoding Databento Binary Encoding (DBN)"
authors = ["Databento <[email protected]>"]
license = "Apache-2.0"
Expand All @@ -17,7 +17,7 @@ build-backend = "maturin"

[project]
name = "databento-dbn"
version = "0.17.1"
version = "0.18.0"
authors = [
{ name = "Databento", email = "[email protected]" }
]
Expand Down
Loading
Loading