Skip to content

Commit 6670eba

Browse files
committed
ADD: Add publishers for Eurex and EEX
1 parent 4fe78e8 commit 6670eba

File tree

2 files changed

+68
-0
lines changed

2 files changed

+68
-0
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.50.0 - TBD
4+
5+
#### Enhancements
6+
- Added new venues, datasets, and publishers for Eurex and European Energy Exchange
7+
(EEX)
8+
39
## 0.49.0 - 2025-03-04
410

511
#### Enhancements

databento/common/publishers.py

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -114,6 +114,10 @@ class Venue(StringyMixin, str, Enum):
114114
ICE Futures US.
115115
IFLL
116116
ICE Futures Europe (Financials).
117+
XEUR
118+
Eurex Exchange.
119+
XEER
120+
European Energy Exchange.
117121
118122
"""
119123

@@ -166,6 +170,8 @@ class Venue(StringyMixin, str, Enum):
166170
EQUS = "EQUS"
167171
IFUS = "IFUS"
168172
IFLL = "IFLL"
173+
XEUR = "XEUR"
174+
XEER = "XEER"
169175

170176
@classmethod
171177
def from_int(cls, value: int) -> Venue:
@@ -270,6 +276,10 @@ def from_int(cls, value: int) -> Venue:
270276
return Venue.IFUS
271277
if value == 49:
272278
return Venue.IFLL
279+
if value == 50:
280+
return Venue.XEUR
281+
if value == 51:
282+
return Venue.XEER
273283
raise ValueError(f"Integer value {value} does not correspond with any Venue variant")
274284

275285
def to_int(self) -> int:
@@ -374,6 +384,10 @@ def to_int(self) -> int:
374384
return 48
375385
if self == Venue.IFLL:
376386
return 49
387+
if self == Venue.XEUR:
388+
return 50
389+
if self == Venue.XEER:
390+
return 51
377391
raise ValueError("Invalid Venue")
378392

379393
@property
@@ -479,6 +493,10 @@ def description(self) -> str:
479493
return "ICE Futures US"
480494
if self == Venue.IFLL:
481495
return "ICE Futures Europe (Financials)"
496+
if self == Venue.XEUR:
497+
return "Eurex Exchange"
498+
if self == Venue.XEER:
499+
return "European Energy Exchange"
482500
raise ValueError("Unexpected Venue value")
483501

484502

@@ -562,6 +580,10 @@ class Dataset(StringyMixin, str, Enum):
562580
ICE Futures US iMpact.
563581
IFLL_IMPACT
564582
ICE Futures Europe (Financials) iMpact.
583+
XEUR_EOBI
584+
Eurex EOBI.
585+
XEER_EOBI
586+
European Energy Exchange EOBI.
565587
566588
"""
567589

@@ -602,6 +624,8 @@ class Dataset(StringyMixin, str, Enum):
602624
EQUS_MINI = "EQUS.MINI"
603625
IFUS_IMPACT = "IFUS.IMPACT"
604626
IFLL_IMPACT = "IFLL.IMPACT"
627+
XEUR_EOBI = "XEUR.EOBI"
628+
XEER_EOBI = "XEER.EOBI"
605629

606630
@classmethod
607631
def from_int(cls, value: int) -> Dataset:
@@ -682,6 +706,10 @@ def from_int(cls, value: int) -> Dataset:
682706
return Dataset.IFUS_IMPACT
683707
if value == 37:
684708
return Dataset.IFLL_IMPACT
709+
if value == 38:
710+
return Dataset.XEUR_EOBI
711+
if value == 39:
712+
return Dataset.XEER_EOBI
685713
raise ValueError(f"Integer value {value} does not correspond with any Dataset variant")
686714

687715
def to_int(self) -> int:
@@ -762,6 +790,10 @@ def to_int(self) -> int:
762790
return 36
763791
if self == Dataset.IFLL_IMPACT:
764792
return 37
793+
if self == Dataset.XEUR_EOBI:
794+
return 38
795+
if self == Dataset.XEER_EOBI:
796+
return 39
765797
raise ValueError("Invalid Dataset")
766798

767799
@property
@@ -843,6 +875,10 @@ def description(self) -> str:
843875
return "ICE Futures US iMpact"
844876
if self == Dataset.IFLL_IMPACT:
845877
return "ICE Futures Europe (Financials) iMpact"
878+
if self == Dataset.XEUR_EOBI:
879+
return "Eurex EOBI"
880+
if self == Dataset.XEER_EOBI:
881+
return "European Energy Exchange EOBI"
846882
raise ValueError("Unexpected Dataset value")
847883

848884

@@ -1052,6 +1088,10 @@ class Publisher(StringyMixin, str, Enum):
10521088
ICE Futures Europe (Financials).
10531089
IFLL_IMPACT_XOFF
10541090
ICE Futures Europe (Financials) - Off-Market Trades.
1091+
XEUR_EOBI_XEUR
1092+
Eurex EOBI.
1093+
XEER_EOBI_XEER
1094+
European Energy Exchange EOBI.
10551095
10561096
"""
10571097

@@ -1155,6 +1195,8 @@ class Publisher(StringyMixin, str, Enum):
11551195
IFUS_IMPACT_XOFF = "IFUS.IMPACT.XOFF"
11561196
IFLL_IMPACT_IFLL = "IFLL.IMPACT.IFLL"
11571197
IFLL_IMPACT_XOFF = "IFLL.IMPACT.XOFF"
1198+
XEUR_EOBI_XEUR = "XEUR.EOBI.XEUR"
1199+
XEER_EOBI_XEER = "XEER.EOBI.XEER"
11581200

11591201
@classmethod
11601202
def from_int(cls, value: int) -> Publisher:
@@ -1361,6 +1403,10 @@ def from_int(cls, value: int) -> Publisher:
13611403
return Publisher.IFLL_IMPACT_IFLL
13621404
if value == 100:
13631405
return Publisher.IFLL_IMPACT_XOFF
1406+
if value == 101:
1407+
return Publisher.XEUR_EOBI_XEUR
1408+
if value == 102:
1409+
return Publisher.XEER_EOBI_XEER
13641410
raise ValueError(f"Integer value {value} does not correspond with any Publisher variant")
13651411

13661412
def to_int(self) -> int:
@@ -1567,6 +1613,10 @@ def to_int(self) -> int:
15671613
return 99
15681614
if self == Publisher.IFLL_IMPACT_XOFF:
15691615
return 100
1616+
if self == Publisher.XEUR_EOBI_XEUR:
1617+
return 101
1618+
if self == Publisher.XEER_EOBI_XEER:
1619+
return 102
15701620
raise ValueError("Invalid Publisher")
15711621

15721622
@property
@@ -1774,6 +1824,10 @@ def venue(self) -> Venue:
17741824
return Venue.IFLL
17751825
if self == Publisher.IFLL_IMPACT_XOFF:
17761826
return Venue.XOFF
1827+
if self == Publisher.XEUR_EOBI_XEUR:
1828+
return Venue.XEUR
1829+
if self == Publisher.XEER_EOBI_XEER:
1830+
return Venue.XEER
17771831
raise ValueError("Unexpected Publisher value")
17781832

17791833
@property
@@ -1981,6 +2035,10 @@ def dataset(self) -> Dataset:
19812035
return Dataset.IFLL_IMPACT
19822036
if self == Publisher.IFLL_IMPACT_XOFF:
19832037
return Dataset.IFLL_IMPACT
2038+
if self == Publisher.XEUR_EOBI_XEUR:
2039+
return Dataset.XEUR_EOBI
2040+
if self == Publisher.XEER_EOBI_XEER:
2041+
return Dataset.XEER_EOBI
19842042
raise ValueError("Unexpected Publisher value")
19852043

19862044
@property
@@ -2188,4 +2246,8 @@ def description(self) -> str:
21882246
return "ICE Futures Europe (Financials)"
21892247
if self == Publisher.IFLL_IMPACT_XOFF:
21902248
return "ICE Futures Europe (Financials) - Off-Market Trades"
2249+
if self == Publisher.XEUR_EOBI_XEUR:
2250+
return "Eurex EOBI"
2251+
if self == Publisher.XEER_EOBI_XEER:
2252+
return "European Energy Exchange EOBI"
21912253
raise ValueError("Unexpected Publisher value")

0 commit comments

Comments
 (0)