Skip to content

Commit 19de835

Browse files
ADD: New publisher values for ICE EU/Endex
1 parent 90e2850 commit 19de835

2 files changed

Lines changed: 63 additions & 0 deletions

File tree

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
#### Enhancements
66
- Added `map_symbols_csv` function to the `databento` module for using `symbology.json` files to map a symbol column onto a CSV file
77
- Added `map_symbols_json` function to the `databento` module for using `symbology.json` files to add a symbol key to a file of JSON records
8+
- Added new publisher values in preparation for IFEU.IMPACT and NDEX.IMPACT datasets
89

910
#### Bug fixes
1011
- Fixed issue where a large unreadable symbol subscription message could be sent

databento/common/publishers.py

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,10 @@ class Venue(StringyMixin, str, Enum):
9191
Cboe BZX Options Exchange.
9292
MXOP
9393
MEMX LLC Options.
94+
IFEU
95+
ICE Futures Europe (Commodities).
96+
NDEX
97+
ICE Endex.
9498
9599
"""
96100

@@ -131,6 +135,8 @@ class Venue(StringyMixin, str, Enum):
131135
XPHL = "XPHL"
132136
BATO = "BATO"
133137
MXOP = "MXOP"
138+
IFEU = "IFEU"
139+
NDEX = "NDEX"
134140

135141
@classmethod
136142
def from_int(cls, value: int) -> Venue:
@@ -211,6 +217,10 @@ def from_int(cls, value: int) -> Venue:
211217
return Venue.BATO
212218
if value == 37:
213219
return Venue.MXOP
220+
if value == 38:
221+
return Venue.IFEU
222+
if value == 39:
223+
return Venue.NDEX
214224
raise ValueError(f"Integer value {value} does not correspond with any Venue variant")
215225

216226
def to_int(self) -> int:
@@ -291,6 +301,10 @@ def to_int(self) -> int:
291301
return 36
292302
if self == Venue.MXOP:
293303
return 37
304+
if self == Venue.IFEU:
305+
return 38
306+
if self == Venue.NDEX:
307+
return 39
294308
raise ValueError("Invalid Venue")
295309

296310
@property
@@ -372,6 +386,10 @@ def description(self) -> str:
372386
return "Cboe BZX Options Exchange"
373387
if self == Venue.MXOP:
374388
return "MEMX LLC Options"
389+
if self == Venue.IFEU:
390+
return "ICE Futures Europe (Commodities)"
391+
if self == Venue.NDEX:
392+
return "ICE Endex"
375393
raise ValueError("Unexpected Venue value")
376394

377395
@unique
@@ -434,6 +452,10 @@ class Dataset(StringyMixin, str, Enum):
434452
Nasdaq QBBO.
435453
XNAS_NLS
436454
Nasdaq NLS.
455+
IFEU_IMPACT
456+
ICE Futures Europe (Commodities) iMpact.
457+
NDEX_IMPACT
458+
ICE Endex iMpact.
437459
438460
"""
439461

@@ -464,6 +486,8 @@ class Dataset(StringyMixin, str, Enum):
464486
XNYS_TRADES = "XNYS.TRADES"
465487
XNAS_QBBO = "XNAS.QBBO"
466488
XNAS_NLS = "XNAS.NLS"
489+
IFEU_IMPACT = "IFEU.IMPACT"
490+
NDEX_IMPACT = "NDEX.IMPACT"
467491

468492
@classmethod
469493
def from_int(cls, value: int) -> Dataset:
@@ -524,6 +548,10 @@ def from_int(cls, value: int) -> Dataset:
524548
return Dataset.XNAS_QBBO
525549
if value == 27:
526550
return Dataset.XNAS_NLS
551+
if value == 28:
552+
return Dataset.IFEU_IMPACT
553+
if value == 29:
554+
return Dataset.NDEX_IMPACT
527555
raise ValueError(f"Integer value {value} does not correspond with any Dataset variant")
528556

529557
def to_int(self) -> int:
@@ -584,6 +612,10 @@ def to_int(self) -> int:
584612
return 26
585613
if self == Dataset.XNAS_NLS:
586614
return 27
615+
if self == Dataset.IFEU_IMPACT:
616+
return 28
617+
if self == Dataset.NDEX_IMPACT:
618+
return 29
587619
raise ValueError("Invalid Dataset")
588620

589621
@property
@@ -645,6 +677,10 @@ def description(self) -> str:
645677
return "Nasdaq QBBO"
646678
if self == Dataset.XNAS_NLS:
647679
return "Nasdaq NLS"
680+
if self == Dataset.IFEU_IMPACT:
681+
return "ICE Futures Europe (Commodities) iMpact"
682+
if self == Dataset.NDEX_IMPACT:
683+
return "ICE Endex iMpact"
648684
raise ValueError("Unexpected Dataset value")
649685

650686
@unique
@@ -765,6 +801,10 @@ class Publisher(StringyMixin, str, Enum):
765801
DBEQ Plus - FINRA/Nasdaq TRF Carteret.
766802
DBEQ_PLUS_FINC
767803
DBEQ Plus - FINRA/Nasdaq TRF Chicago.
804+
IFEU_IMPACT_IFEU
805+
ICE Futures Europe (Commodities).
806+
NDEX_IMPACT_NDEX
807+
ICE Endex.
768808
769809
"""
770810

@@ -824,6 +864,8 @@ class Publisher(StringyMixin, str, Enum):
824864
DBEQ_PLUS_FINN = "DBEQ.PLUS.FINN"
825865
DBEQ_PLUS_FINY = "DBEQ.PLUS.FINY"
826866
DBEQ_PLUS_FINC = "DBEQ.PLUS.FINC"
867+
IFEU_IMPACT_IFEU = "IFEU.IMPACT.IFEU"
868+
NDEX_IMPACT_NDEX = "NDEX.IMPACT.NDEX"
827869

828870
@classmethod
829871
def from_int(cls, value: int) -> Publisher:
@@ -942,6 +984,10 @@ def from_int(cls, value: int) -> Publisher:
942984
return Publisher.DBEQ_PLUS_FINY
943985
if value == 56:
944986
return Publisher.DBEQ_PLUS_FINC
987+
if value == 57:
988+
return Publisher.IFEU_IMPACT_IFEU
989+
if value == 58:
990+
return Publisher.NDEX_IMPACT_NDEX
945991
raise ValueError(f"Integer value {value} does not correspond with any Publisher variant")
946992

947993
def to_int(self) -> int:
@@ -1060,6 +1106,10 @@ def to_int(self) -> int:
10601106
return 55
10611107
if self == Publisher.DBEQ_PLUS_FINC:
10621108
return 56
1109+
if self == Publisher.IFEU_IMPACT_IFEU:
1110+
return 57
1111+
if self == Publisher.NDEX_IMPACT_NDEX:
1112+
return 58
10631113
raise ValueError("Invalid Publisher")
10641114
@property
10651115
def venue(self) -> Venue:
@@ -1178,6 +1228,10 @@ def venue(self) -> Venue:
11781228
return Venue.FINY
11791229
if self == Publisher.DBEQ_PLUS_FINC:
11801230
return Venue.FINC
1231+
if self == Publisher.IFEU_IMPACT_IFEU:
1232+
return Venue.IFEU
1233+
if self == Publisher.NDEX_IMPACT_NDEX:
1234+
return Venue.NDEX
11811235
raise ValueError("Unexpected Publisher value")
11821236
@property
11831237
def dataset(self) -> Dataset:
@@ -1296,6 +1350,10 @@ def dataset(self) -> Dataset:
12961350
return Dataset.DBEQ_PLUS
12971351
if self == Publisher.DBEQ_PLUS_FINC:
12981352
return Dataset.DBEQ_PLUS
1353+
if self == Publisher.IFEU_IMPACT_IFEU:
1354+
return Dataset.IFEU_IMPACT
1355+
if self == Publisher.NDEX_IMPACT_NDEX:
1356+
return Dataset.NDEX_IMPACT
12991357
raise ValueError("Unexpected Publisher value")
13001358

13011359
@property
@@ -1415,4 +1473,8 @@ def description(self) -> str:
14151473
return "DBEQ Plus - FINRA/Nasdaq TRF Carteret"
14161474
if self == Publisher.DBEQ_PLUS_FINC:
14171475
return "DBEQ Plus - FINRA/Nasdaq TRF Chicago"
1476+
if self == Publisher.IFEU_IMPACT_IFEU:
1477+
return "ICE Futures Europe (Commodities)"
1478+
if self == Publisher.NDEX_IMPACT_NDEX:
1479+
return "ICE Endex"
14181480
raise ValueError("Unexpected Publisher value")

0 commit comments

Comments
 (0)