Skip to content

Commit

Permalink
VER: Release 0.17.0
Browse files Browse the repository at this point in the history
  • Loading branch information
threecgreen authored Apr 1, 2024
2 parents 4dd8c3c + 5adc329 commit 65b949e
Show file tree
Hide file tree
Showing 33 changed files with 2,805 additions and 307 deletions.
26 changes: 24 additions & 2 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
# Pull Request
# Pull request

Please include a summary of the changes.
Please also include relevant motivation and context.
List any dependencies that are required for this change.

Fixes # (issue)

## Type of change

Expand All @@ -13,4 +17,22 @@ Please delete options that are not relevant.

## How has this change been tested?

Please describe how this code was/is tested.
Please describe the tests that you ran to verify your changes.
Provide instructions so we can reproduce.
Please also list any relevant details for your test configuration.

- [ ] Test A
- [ ] Test B

## Checklist

- [ ] My code builds locally with no new warnings (`scripts/build.sh`)
- [ ] My code follows the style guidelines (`scripts/lint.sh` and `scripts/format.sh`)
- [ ] New and existing unit tests pass locally with my changes (`scripts/test.sh`)
- [ ] I have made corresponding changes to the documentation
- [ ] I have added tests that prove my fix is effective or that my feature works

## Declaration

I confirm this contribution is made under an Apache 2.0 license and that I have the authority
necessary to make this contribution on behalf of its copyright owner.
4 changes: 3 additions & 1 deletion .github/workflows/build.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,9 @@ name: build

# Build and test dbn

on: push
on:
pull_request:
push:

jobs:
x86_64-build:
Expand Down
40 changes: 39 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,43 @@
# Changelog

## 0.17.0 - 2024-04-01

### 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 - 2024-03-01
### Enhancements
- Updated `StatusMsg` and made it public in preparation for releasing a status schema
Expand All @@ -8,7 +46,7 @@
- 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)
- Document cancellation safety for `AsyncRecordDecoder::decode_ref` (credit: @yongqli)
- 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`
Expand Down
7 changes: 4 additions & 3 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
We welcome feedback through discussions and issues on GitHub, however we don't currently accept pull requests due to the open-source repository being a downstream mirror of our internal codebase.

Please direct email feedback to [email protected] or [email protected].
Thank you for taking the time to contribute to our project.
We welcome feedback through discussions and issues on GitHub, as well as our [community Slack](https://databento.com/support).
While we don't merge pull requests directly due to the open-source repository being a downstream
mirror of our internal codebase, we can commit the changes upstream with the original author.
10 changes: 5 additions & 5 deletions Cargo.lock

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

2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ resolver = "2"
[workspace.package]
authors = ["Databento <[email protected]>"]
edition = "2021"
version = "0.16.0"
version = "0.17.0"
documentation = "https://docs.databento.com"
repository = "https://github.com/databento/dbn"
license = "Apache-2.0"
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.16.0"
version = "0.17.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.16.0"
version = "0.17.0"
authors = [
{ name = "Databento", email = "[email protected]" }
]
Expand Down
25 changes: 24 additions & 1 deletion python/python/databento_dbn/__init__.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
import datetime as dt
from typing import Protocol, Sequence
from typing import Protocol
from typing import Sequence
from typing import TypedDict

# Import native module
from ._lib import * # noqa: F403
Expand All @@ -24,6 +26,27 @@ class MappingInterval(Protocol):
end_date: dt.date
symbol: str


class MappingIntervalDict(TypedDict):
"""
Represents a symbol mapping over a start and end date range interval.
Parameters
----------
start_date : dt.date
The start of the mapping period.
end_date : dt.date
The end of the mapping period.
symbol : str
The symbol value.
"""

start_date: dt.date
end_date: dt.date
symbol: str


class SymbolMapping(Protocol):
"""
Represents the mappings for one native symbol.
Expand Down
Loading

0 comments on commit 65b949e

Please sign in to comment.