Skip to content

Commit 86e3e6b

Browse files
authored
VER: Release 0.31.0
2 parents 6338f47 + 2963669 commit 86e3e6b

File tree

6 files changed

+158
-2
lines changed

6 files changed

+158
-2
lines changed

CHANGELOG.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,11 @@
11
# Changelog
22

3+
## 0.31.0 - 2025-03-18
4+
5+
### Enhancements
6+
- Added new venues, datasets, and publishers for ICE Futures US, ICE Futures Europe
7+
(Financial products), Eurex, and European Energy Exchange (EEX)
8+
39
## 0.30.0 - 2025-02-11
410

511
### Enhancements

CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ cmake_minimum_required(VERSION 3.14)
44
# Project details
55
#
66

7-
project("databento" VERSION 0.30.0 LANGUAGES CXX)
7+
project("databento" VERSION 0.31.0 LANGUAGES CXX)
88
string(TOUPPER ${PROJECT_NAME} PROJECT_NAME_UPPERCASE)
99

1010
#

include/databento/publishers.hpp

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,14 @@ enum class Venue : std::uint16_t {
101101
Aspi = 46,
102102
// Databento US Equities - Consolidated
103103
Equs = 47,
104+
// ICE Futures US
105+
Ifus = 48,
106+
// ICE Futures Europe (Financials)
107+
Ifll = 49,
108+
// Eurex Exchange
109+
Xeur = 50,
110+
// European Energy Exchange
111+
Xeer = 51,
104112
};
105113

106114
// A source of data.
@@ -175,6 +183,14 @@ enum class Dataset : std::uint16_t {
175183
XnysTradesbbo = 34,
176184
// Databento US Equities Mini
177185
EqusMini = 35,
186+
// ICE Futures US iMpact
187+
IfusImpact = 36,
188+
// ICE Futures Europe (Financials) iMpact
189+
IfllImpact = 37,
190+
// Eurex EOBI
191+
XeurEobi = 38,
192+
// European Energy Exchange EOBI
193+
XeerEobi = 39,
178194
};
179195

180196
// A specific Venue from a specific data source.
@@ -371,6 +387,18 @@ enum class Publisher : std::uint16_t {
371387
EqusMiniEqus = 95,
372388
// NYSE Trades - Consolidated
373389
XnysTradesEqus = 96,
390+
// ICE Futures US
391+
IfusImpactIfus = 97,
392+
// ICE Futures US - Off-Market Trades
393+
IfusImpactXoff = 98,
394+
// ICE Futures Europe (Financials)
395+
IfllImpactIfll = 99,
396+
// ICE Futures Europe (Financials) - Off-Market Trades
397+
IfllImpactXoff = 100,
398+
// Eurex EOBI
399+
XeurEobiXeur = 101,
400+
// European Energy Exchange EOBI
401+
XeerEobiXeer = 102,
374402
};
375403

376404
// Get a Publisher's Venue.

pkg/PKGBUILD

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# Maintainer: Databento <[email protected]>
22
_pkgname=databento-cpp
33
pkgname=databento-cpp-git
4-
pkgver=0.30.0
4+
pkgver=0.31.0
55
pkgrel=1
66
pkgdesc="Official C++ client for Databento"
77
arch=('any')

src/publishers.cpp

Lines changed: 120 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -152,6 +152,18 @@ const char* ToString(Venue venue) {
152152
case Venue::Equs: {
153153
return "EQUS";
154154
}
155+
case Venue::Ifus: {
156+
return "IFUS";
157+
}
158+
case Venue::Ifll: {
159+
return "IFLL";
160+
}
161+
case Venue::Xeur: {
162+
return "XEUR";
163+
}
164+
case Venue::Xeer: {
165+
return "XEER";
166+
}
155167
default: {
156168
return "Unknown";
157169
}
@@ -306,6 +318,18 @@ Venue FromString(const std::string& str) {
306318
if (str == "EQUS") {
307319
return Venue::Equs;
308320
}
321+
if (str == "IFUS") {
322+
return Venue::Ifus;
323+
}
324+
if (str == "IFLL") {
325+
return Venue::Ifll;
326+
}
327+
if (str == "XEUR") {
328+
return Venue::Xeur;
329+
}
330+
if (str == "XEER") {
331+
return Venue::Xeer;
332+
}
309333
throw InvalidArgumentError{"FromString<Venue>", "str",
310334
"unknown value '" + str + '\''};
311335
}
@@ -417,6 +441,18 @@ const char* ToString(Dataset dataset) {
417441
case Dataset::EqusMini: {
418442
return "EQUS.MINI";
419443
}
444+
case Dataset::IfusImpact: {
445+
return "IFUS.IMPACT";
446+
}
447+
case Dataset::IfllImpact: {
448+
return "IFLL.IMPACT";
449+
}
450+
case Dataset::XeurEobi: {
451+
return "XEUR.EOBI";
452+
}
453+
case Dataset::XeerEobi: {
454+
return "XEER.EOBI";
455+
}
420456
default: {
421457
return "Unknown";
422458
}
@@ -535,6 +571,18 @@ Dataset FromString(const std::string& str) {
535571
if (str == "EQUS.MINI") {
536572
return Dataset::EqusMini;
537573
}
574+
if (str == "IFUS.IMPACT") {
575+
return Dataset::IfusImpact;
576+
}
577+
if (str == "IFLL.IMPACT") {
578+
return Dataset::IfllImpact;
579+
}
580+
if (str == "XEUR.EOBI") {
581+
return Dataset::XeurEobi;
582+
}
583+
if (str == "XEER.EOBI") {
584+
return Dataset::XeerEobi;
585+
}
538586
throw InvalidArgumentError{"FromString<Dataset>", "str",
539587
"unknown value '" + str + '\''};
540588
}
@@ -829,6 +877,24 @@ Venue PublisherVenue(Publisher publisher) {
829877
case Publisher::XnysTradesEqus: {
830878
return Venue::Equs;
831879
}
880+
case Publisher::IfusImpactIfus: {
881+
return Venue::Ifus;
882+
}
883+
case Publisher::IfusImpactXoff: {
884+
return Venue::Xoff;
885+
}
886+
case Publisher::IfllImpactIfll: {
887+
return Venue::Ifll;
888+
}
889+
case Publisher::IfllImpactXoff: {
890+
return Venue::Xoff;
891+
}
892+
case Publisher::XeurEobiXeur: {
893+
return Venue::Xeur;
894+
}
895+
case Publisher::XeerEobiXeer: {
896+
return Venue::Xeer;
897+
}
832898
default: {
833899
throw InvalidArgumentError{
834900
"PublisherVenue", "publisher",
@@ -1127,6 +1193,24 @@ Dataset PublisherDataset(Publisher publisher) {
11271193
case Publisher::XnysTradesEqus: {
11281194
return Dataset::XnysTrades;
11291195
}
1196+
case Publisher::IfusImpactIfus: {
1197+
return Dataset::IfusImpact;
1198+
}
1199+
case Publisher::IfusImpactXoff: {
1200+
return Dataset::IfusImpact;
1201+
}
1202+
case Publisher::IfllImpactIfll: {
1203+
return Dataset::IfllImpact;
1204+
}
1205+
case Publisher::IfllImpactXoff: {
1206+
return Dataset::IfllImpact;
1207+
}
1208+
case Publisher::XeurEobiXeur: {
1209+
return Dataset::XeurEobi;
1210+
}
1211+
case Publisher::XeerEobiXeer: {
1212+
return Dataset::XeerEobi;
1213+
}
11301214
default: {
11311215
throw InvalidArgumentError{
11321216
"PublisherDataset", "publisher",
@@ -1426,6 +1510,24 @@ const char* ToString(Publisher publisher) {
14261510
case Publisher::XnysTradesEqus: {
14271511
return "XNYS.TRADES.EQUS";
14281512
}
1513+
case Publisher::IfusImpactIfus: {
1514+
return "IFUS.IMPACT.IFUS";
1515+
}
1516+
case Publisher::IfusImpactXoff: {
1517+
return "IFUS.IMPACT.XOFF";
1518+
}
1519+
case Publisher::IfllImpactIfll: {
1520+
return "IFLL.IMPACT.IFLL";
1521+
}
1522+
case Publisher::IfllImpactXoff: {
1523+
return "IFLL.IMPACT.XOFF";
1524+
}
1525+
case Publisher::XeurEobiXeur: {
1526+
return "XEUR.EOBI.XEUR";
1527+
}
1528+
case Publisher::XeerEobiXeer: {
1529+
return "XEER.EOBI.XEER";
1530+
}
14291531
default: {
14301532
return "Unknown";
14311533
}
@@ -1727,6 +1829,24 @@ Publisher FromString(const std::string& str) {
17271829
if (str == "XNYS.TRADES.EQUS") {
17281830
return Publisher::XnysTradesEqus;
17291831
}
1832+
if (str == "IFUS.IMPACT.IFUS") {
1833+
return Publisher::IfusImpactIfus;
1834+
}
1835+
if (str == "IFUS.IMPACT.XOFF") {
1836+
return Publisher::IfusImpactXoff;
1837+
}
1838+
if (str == "IFLL.IMPACT.IFLL") {
1839+
return Publisher::IfllImpactIfll;
1840+
}
1841+
if (str == "IFLL.IMPACT.XOFF") {
1842+
return Publisher::IfllImpactXoff;
1843+
}
1844+
if (str == "XEUR.EOBI.XEUR") {
1845+
return Publisher::XeurEobiXeur;
1846+
}
1847+
if (str == "XEER.EOBI.XEER") {
1848+
return Publisher::XeerEobiXeer;
1849+
}
17301850
throw InvalidArgumentError{"FromString<Publisher>", "str",
17311851
"unknown value '" + str + '\''};
17321852
}

tests/src/historical_tests.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -803,6 +803,8 @@ TEST(HistoricalBuilderTests, TestSetKeyFromEnv) {
803803
}
804804

805805
TEST(HistoricalBuilderTests, TestSetKeyFromEnvMissing) {
806+
ASSERT_EQ(::unsetenv("DATABENTO_API_KEY"), 0)
807+
<< "Failed to set environment variable";
806808
ASSERT_THROW(databento::HistoricalBuilder().SetKeyFromEnv().Build(),
807809
Exception);
808810
}

0 commit comments

Comments
 (0)