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 9fba855 + adfda05 commit d6669f6
Show file tree
Hide file tree
Showing 23 changed files with 913 additions and 135 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](https://google.github.io/styleguide/cppguide.html)
- [ ] 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.
2 changes: 1 addition & 1 deletion .github/workflows/build.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ name: build
# Build and test databento-cpp

on:
pull_request:
push:

jobs:
Expand Down Expand Up @@ -42,7 +43,6 @@ jobs:
-DDATABENTO_ENABLE_EXAMPLES=1 \
-DDATABENTO_ENABLE_CLANG_TIDY=1 \
-DDATABENTO_ENABLE_CPPCHECK=1 \
-DDATABENTO_ENABLE_ASAN=1 \
-DDATABENTO_ENABLE_UBSAN=1
- name: CMake build
run: cmake --build build
Expand Down
26 changes: 26 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,31 @@
# Changelog

## 0.17.0 - 2024-04-01

### Enhancements
- Added `StatusMsg` record, and `StatusAction`, `StatusReason`, `TradingEvent`, and
`TriState` enums
- Added `CbboMsg` record and corresponding `ConsolidatedBidAskPair` structure
- Added new enum values for `Schema` and `RType` corresponding to new schemas
`cbbo`, `cbbo-1s`, `cbbo-1m`, `tcbbo`, `bbo-1s`, `bbo-1m`
- Added `Volatility` and `Delta` `StatType` variants
- Added `Undefined` and `TimeProRata` `MatchAlgorithm` variants
- Changed format of `unit_of_measure_qty` to a fixed-precision decimal
- Added logic to skip `find_package` call if `nlohmann_json` and `httplib` targets
already exist (credit: @akovachev)
- Added specific instructions for installing dependencies on Ubuntu and macOS (credit: @camrongodbout)

### 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 out-of-order initialization in `DbnDecoder` (credit: @Hailios)
- Renamed `MatchAlgorithm::EurodollarOptions` to `MatchAlgorithm::EurodollarFutures`

## 0.16.0 - 2024-03-01

### Enhancements
Expand Down
26 changes: 23 additions & 3 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ cmake_minimum_required(VERSION 3.14)
# Project details
#

project("databento" VERSION 0.16.0 LANGUAGES CXX)
project("databento" VERSION 0.17.0 LANGUAGES CXX)
string(TOUPPER ${PROJECT_NAME} PROJECT_NAME_UPPERCASE)

#
Expand Down Expand Up @@ -119,7 +119,17 @@ verbose_message("Applied compiler warnings.")
include(FetchContent)
# JSON
if(${PROJECT_NAME_UPPERCASE}_USE_EXTERNAL_JSON)
find_package(nlohmann_json REQUIRED)
# Check if json target already exists
if(TARGET nlohmann_json::nlohmann_json)
get_target_property(NLOHMANN_JSON_SOURCE_DIR nlohmann_json::nlohmann_json SOURCE_DIR)
message(STATUS "nlohmann_json::nlohmann_json already available as a target at ${NLOHMANN_JSON_SOURCE_DIR}")
get_target_property(NLOHMANN_JSON_INCLUDE_DIRS nlohmann_json::nlohmann_json INTERFACE_INCLUDE_DIRECTORIES)
if(NLOHMANN_JSON_INCLUDE_DIRS)
message(STATUS "nlohmann_json::nlohmann_json include directories: ${NLOHMANN_JSON_INCLUDE_DIRS}")
endif()
else()
find_package(nlohmann_json REQUIRED)
endif()
else()
set(json_version 3.11.3)
# Required to correctly install nlohmann_json
Expand All @@ -143,7 +153,17 @@ else()
endif()
# cpp-httplib
if(${PROJECT_NAME_UPPERCASE}_USE_EXTERNAL_HTTPLIB)
find_package(httplib REQUIRED)
# Check if httplib target already exists
if(TARGET httplib::httplib)
get_target_property(HTTPLIB_SOURCE_DIR httplib::httplib SOURCE_DIR)
message(STATUS "httplib::httplib already available as a target at ${HTTPLIB_SOURCE_DIR}")
get_target_property(HTTPLIB_INCLUDE_DIRS httplib::httplib INTERFACE_INCLUDE_DIRECTORIES)
if(HTTPLIB_INCLUDE_DIRS)
message(STATUS "httplib::httplib include directories: ${HTTPLIB_INCLUDE_DIRS}")
endif()
else()
find_package(httplib REQUIRED)
endif()
else()
set(httplib_version 0.14.3)
if(CMAKE_VERSION VERSION_LESS 3.24)
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.
17 changes: 16 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,21 @@ By default, cpp-httplib and nlohmann\_json are downloaded by CMake as part of th
If you would like to use a local version of these libraries, enable the CMake flag
`DATABENTO_ENABLE_EXTERNAL_HTTPLIB` or `DATABENTO_ENABLE_EXTERNAL_JSON`.

#### Ubuntu

Run the following commands to install the dependencies on Ubuntu:
```sh
$ sudo apt update
$ sudo apt install libssl-dev libzstd-dev
```

#### macOS

On macOS, you can install the dependencies with [Homebrew](https://brew.sh/) by running the following:
```sh
$ brew install openssl@3 zstd
```

### Live

Real-time and intraday replay is provided through the Live clients.
Expand Down Expand Up @@ -137,7 +152,7 @@ int main() {

To run this program, set the `DATABENTO_API_KEY` environment variable with an actual API key.

Additional example standalone executables are provided in the [examples](./examples) directory.
Additional example standalone executables are provided in the [`example`](./example) directory.
These examples can be compiled by enabling the cmake option `DATABENTO_ENABLE_EXAMPLES` with `-DDATABENTO_ENABLE_EXAMPLES=1` during the configure step.

## Documentation
Expand Down
1 change: 1 addition & 0 deletions example/live/simple.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ int main() {

auto client = databento::LiveBuilder{}
.SetLogReceiver(log_receiver.get())
.SetSendTsOut(true)
.SetKeyFromEnv()
.SetDataset(databento::dataset::kGlbxMdp3)
.BuildThreaded();
Expand Down
Loading

0 comments on commit d6669f6

Please sign in to comment.