Skip to content

Commit bc8ff79

Browse files
committed
ADD: Add pretty and split symbols options to C++
1 parent 86ae6d7 commit bc8ff79

File tree

4 files changed

+40
-19
lines changed

4 files changed

+40
-19
lines changed

CHANGELOG.md

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,15 @@
22

33
## 0.13.0 - TBD
44
### Enhancements
5-
- Added `map_symbols` option to `BatchSubmitJob`. When `true`, appends the
6-
raw symbol to every record (available for CSV and JSON text encodings) reducing the
7-
need to look at the `symbology.json` file
5+
- Added `pretty_px` option for `BatchSubmitJob`, which formats prices to the correct
6+
scale using the fixed-precision scalar 1e-9 (available for CSV and JSON text
7+
encodings)
8+
- Added `pretty_ts` option for `BatchSubmitJob`, which formats timestamps as ISO 8601
9+
strings (available for CSV and JSON text encodings)
10+
- Added `map_symbols` option to `BatchSubmitJob`, which appends appends the raw symbol
11+
to every record (available for CSV and JSON text encodings) reducing the need to look
12+
at the `symbology.json` file
13+
- Added `split_symbols` option for `BatchSubmitJob`, which will split files by raw symbol
814
- Added `encoding` option to `BatchSubmitJob` to allow requesting non-DBN encoded
915
data through the client
1016
- Added `map_symbols`, `pretty_px`, and `pretty_ts` to `BatchJob` response

include/databento/historical.hpp

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,8 @@ class Historical {
5050
Schema schema,
5151
const DateTimeRange<UnixNanos>& datetime_range,
5252
Encoding encoding, Compression compression,
53-
bool map_symbols, SplitDuration split_duration,
53+
bool pretty_px, bool pretty_ts, bool map_symbols,
54+
bool split_symbols, SplitDuration split_duration,
5455
std::uint64_t split_size, Packaging packaging,
5556
Delivery delivery, SType stype_in, SType stype_out,
5657
std::uint64_t limit);
@@ -59,7 +60,8 @@ class Historical {
5960
Schema schema,
6061
const DateTimeRange<std::string>& datetime_range,
6162
Encoding encoding, Compression compression,
62-
bool map_symbols, SplitDuration split_duration,
63+
bool pretty_px, bool pretty_ts, bool map_symbols,
64+
bool split_symbols, SplitDuration split_duration,
6365
std::uint64_t split_size, Packaging packaging,
6466
Delivery delivery, SType stype_in, SType stype_out,
6567
std::uint64_t limit);

src/historical.cpp

Lines changed: 24 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -166,33 +166,39 @@ databento::BatchJob Historical::BatchSubmitJob(
166166

167167
const std::string& dataset, const std::vector<std::string>& symbols,
168168
Schema schema, const DateTimeRange<UnixNanos>& datetime_range) {
169-
return this->BatchSubmitJob(
170-
dataset, symbols, schema, datetime_range, kDefaultEncoding,
171-
kDefaultCompression, {}, SplitDuration::Day, {}, Packaging::None,
172-
Delivery::Download, kDefaultSTypeIn, kDefaultSTypeOut, {});
169+
return this->BatchSubmitJob(dataset, symbols, schema, datetime_range,
170+
kDefaultEncoding, kDefaultCompression, {}, {}, {},
171+
{}, SplitDuration::Day, {}, Packaging::None,
172+
Delivery::Download, kDefaultSTypeIn,
173+
kDefaultSTypeOut, {});
173174
}
174175
databento::BatchJob Historical::BatchSubmitJob(
175176
const std::string& dataset, const std::vector<std::string>& symbols,
176177
Schema schema, const DateTimeRange<std::string>& datetime_range) {
177-
return this->BatchSubmitJob(
178-
dataset, symbols, schema, datetime_range, kDefaultEncoding,
179-
kDefaultCompression, {}, SplitDuration::Day, {}, Packaging::None,
180-
Delivery::Download, kDefaultSTypeIn, kDefaultSTypeOut, {});
178+
return this->BatchSubmitJob(dataset, symbols, schema, datetime_range,
179+
kDefaultEncoding, kDefaultCompression, {}, {}, {},
180+
{}, SplitDuration::Day, {}, Packaging::None,
181+
Delivery::Download, kDefaultSTypeIn,
182+
kDefaultSTypeOut, {});
181183
}
182184
databento::BatchJob Historical::BatchSubmitJob(
183185
const std::string& dataset, const std::vector<std::string>& symbols,
184186
Schema schema, const DateTimeRange<UnixNanos>& datetime_range,
185-
Encoding encoding, Compression compression, bool map_symbols,
186-
SplitDuration split_duration, std::uint64_t split_size, Packaging packaging,
187-
Delivery delivery, SType stype_in, SType stype_out, std::uint64_t limit) {
187+
Encoding encoding, Compression compression, bool pretty_px, bool pretty_ts,
188+
bool map_symbols, bool split_symbols, SplitDuration split_duration,
189+
std::uint64_t split_size, Packaging packaging, Delivery delivery,
190+
SType stype_in, SType stype_out, std::uint64_t limit) {
188191
httplib::Params params{
189192
{"dataset", dataset},
190193
{"start", ToString(datetime_range.start)},
191194
{"symbols", JoinSymbolStrings(kBatchSubmitJobEndpoint, symbols)},
192195
{"schema", ToString(schema)},
193196
{"encoding", ToString(encoding)},
194197
{"compression", ToString(compression)},
198+
{"pretty_px", std::to_string(pretty_px)},
199+
{"pretty_ts", std::to_string(pretty_ts)},
195200
{"map_symbols", std::to_string(map_symbols)},
201+
{"split_symbols", std::to_string(split_symbols)},
196202
{"split_duration", ToString(split_duration)},
197203
{"packaging", ToString(packaging)},
198204
{"delivery", ToString(delivery)},
@@ -206,17 +212,21 @@ databento::BatchJob Historical::BatchSubmitJob(
206212
databento::BatchJob Historical::BatchSubmitJob(
207213
const std::string& dataset, const std::vector<std::string>& symbols,
208214
Schema schema, const DateTimeRange<std::string>& datetime_range,
209-
Encoding encoding, Compression compression, bool map_symbols,
210-
SplitDuration split_duration, std::uint64_t split_size, Packaging packaging,
211-
Delivery delivery, SType stype_in, SType stype_out, std::uint64_t limit) {
215+
Encoding encoding, Compression compression, bool pretty_px, bool pretty_ts,
216+
bool map_symbols, bool split_symbols, SplitDuration split_duration,
217+
std::uint64_t split_size, Packaging packaging, Delivery delivery,
218+
SType stype_in, SType stype_out, std::uint64_t limit) {
212219
httplib::Params params{
213220
{"dataset", dataset},
214221
{"start", datetime_range.start},
215222
{"symbols", JoinSymbolStrings(kBatchSubmitJobEndpoint, symbols)},
216223
{"schema", ToString(schema)},
217224
{"encoding", ToString(encoding)},
218225
{"compression", ToString(compression)},
226+
{"pretty_px", std::to_string(pretty_px)},
227+
{"pretty_ts", std::to_string(pretty_ts)},
219228
{"map_symbols", std::to_string(map_symbols)},
229+
{"split_symbols", std::to_string(split_symbols)},
220230
{"split_duration", ToString(split_duration)},
221231
{"packaging", ToString(packaging)},
222232
{"delivery", ToString(delivery)},

test/src/historical_tests.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,10 @@ TEST_F(HistoricalTests, TestBatchSubmitJob) {
8787
{"end", "2022-07-03"},
8888
{"encoding", "dbn"},
8989
{"compression", "zstd"},
90+
{"pretty_px", "0"},
91+
{"pretty_ts", "0"},
9092
{"map_symbols", "0"},
93+
{"split_symbols", "0"},
9194
{"symbols", "CLH3"},
9295
{"schema", "trades"}},
9396
kResp);

0 commit comments

Comments
 (0)