From b4ac117cc8a913e63a8509b8b858f821b1d8c10f Mon Sep 17 00:00:00 2001 From: Roberto Mesado Date: Tue, 10 Jun 2025 18:34:04 -0700 Subject: [PATCH 1/8] MOD: ICE renaming --- CHANGELOG.md | 5 ++-- databento/common/publishers.py | 48 +++++++++++++++++----------------- 2 files changed, 26 insertions(+), 27 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8c2cdcd..30450b6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -121,7 +121,7 @@ ## 0.50.0 - 2025-03-18 #### Enhancements -- Added new venues, datasets, and publishers for ICE Futures US, ICE Futures Europe (Financial products), Eurex, and European Energy Exchange (EEX) +- Added new venues, datasets, and publishers for ICE US, ICE Europe Financials products, Eurex, and European Energy Exchange (EEX) - Added export of the following enums from `databento_dbn` to the root `databento` package: - `Action` - `InstrumentClass` @@ -148,8 +148,7 @@ ## 0.49.0 - 2025-03-04 #### Enhancements -- Added new venues, datasets, and publishers for ICE Futures US and for ICE Futures - Europe (Financial products) +- Added new venues, datasets, and publishers for ICE US and for ICE Europe Financials products - Added a `keep_zip` parameter to `Historical.batch.download()`. When `True`, and downloading all files, the jobs contents will be saved as a ZIP file - Calling `Live.terminate()` will now attempt to write EOF before aborting the connection to help close the remote end diff --git a/databento/common/publishers.py b/databento/common/publishers.py index d9938b1..168eb77 100644 --- a/databento/common/publishers.py +++ b/databento/common/publishers.py @@ -91,7 +91,7 @@ class Venue(StringyMixin, str, Enum): MXOP MEMX Options. IFEU - ICE Futures Europe (Commodities). + ICE Europe Commodities. NDEX ICE Endex. DBEQ @@ -111,9 +111,9 @@ class Venue(StringyMixin, str, Enum): EQUS Databento US Equities - Consolidated. IFUS - ICE Futures US. + ICE US. IFLL - ICE Futures Europe (Financials). + ICE Europe Financials. XEUR Eurex Exchange. XEER @@ -470,7 +470,7 @@ def description(self) -> str: if self == Venue.MXOP: return "MEMX Options" if self == Venue.IFEU: - return "ICE Futures Europe (Commodities)" + return "ICE Europe Commodities" if self == Venue.NDEX: return "ICE Endex" if self == Venue.DBEQ: @@ -490,9 +490,9 @@ def description(self) -> str: if self == Venue.EQUS: return "Databento US Equities - Consolidated" if self == Venue.IFUS: - return "ICE Futures US" + return "ICE US" if self == Venue.IFLL: - return "ICE Futures Europe (Financials)" + return "ICE Europe Financials" if self == Venue.XEUR: return "Eurex Exchange" if self == Venue.XEER: @@ -561,7 +561,7 @@ class Dataset(StringyMixin, str, Enum): XNAS_NLS Nasdaq NLS. IFEU_IMPACT - ICE Futures Europe (Commodities) iMpact. + ICE Europe Commodities iMpact. NDEX_IMPACT ICE Endex iMpact. EQUS_ALL @@ -577,9 +577,9 @@ class Dataset(StringyMixin, str, Enum): EQUS_MINI Databento US Equities Mini. IFUS_IMPACT - ICE Futures US iMpact. + ICE US iMpact. IFLL_IMPACT - ICE Futures Europe (Financials) iMpact. + ICE Europe Financials iMpact. XEUR_EOBI Eurex EOBI. XEER_EOBI @@ -856,7 +856,7 @@ def description(self) -> str: if self == Dataset.XNAS_NLS: return "Nasdaq NLS" if self == Dataset.IFEU_IMPACT: - return "ICE Futures Europe (Commodities) iMpact" + return "ICE Europe Commodities iMpact" if self == Dataset.NDEX_IMPACT: return "ICE Endex iMpact" if self == Dataset.EQUS_ALL: @@ -872,9 +872,9 @@ def description(self) -> str: if self == Dataset.EQUS_MINI: return "Databento US Equities Mini" if self == Dataset.IFUS_IMPACT: - return "ICE Futures US iMpact" + return "ICE US iMpact" if self == Dataset.IFLL_IMPACT: - return "ICE Futures Europe (Financials) iMpact" + return "ICE Europe Financials iMpact" if self == Dataset.XEUR_EOBI: return "Eurex EOBI" if self == Dataset.XEER_EOBI: @@ -1001,7 +1001,7 @@ class Publisher(StringyMixin, str, Enum): EQUS_PLUS_FINC Databento US Equities Plus - FINRA/Nasdaq TRF Chicago. IFEU_IMPACT_IFEU - ICE Futures Europe (Commodities). + ICE Europe Commodities. NDEX_IMPACT_NDEX ICE Endex. DBEQ_BASIC_DBEQ @@ -1055,7 +1055,7 @@ class Publisher(StringyMixin, str, Enum): XNAS_BASIC_FINC Nasdaq Basic - FINRA/Nasdaq TRF Chicago. IFEU_IMPACT_XOFF - ICE Futures Europe - Off-Market Trades. + ICE Europe - Off-Market Trades. NDEX_IMPACT_XOFF ICE Endex - Off-Market Trades. XNAS_NLS_XBOS @@ -1081,13 +1081,13 @@ class Publisher(StringyMixin, str, Enum): XNYS_TRADES_EQUS NYSE Trades - Consolidated. IFUS_IMPACT_IFUS - ICE Futures US. + ICE US. IFUS_IMPACT_XOFF - ICE Futures US - Off-Market Trades. + ICE US - Off-Market Trades. IFLL_IMPACT_IFLL - ICE Futures Europe (Financials). + ICE Europe Financials. IFLL_IMPACT_XOFF - ICE Futures Europe (Financials) - Off-Market Trades. + ICE Europe Financials - Off-Market Trades. XEUR_EOBI_XEUR Eurex EOBI. XEER_EOBI_XEER @@ -2181,7 +2181,7 @@ def description(self) -> str: if self == Publisher.EQUS_PLUS_FINC: return "Databento US Equities Plus - FINRA/Nasdaq TRF Chicago" if self == Publisher.IFEU_IMPACT_IFEU: - return "ICE Futures Europe (Commodities)" + return "ICE Europe Commodities" if self == Publisher.NDEX_IMPACT_NDEX: return "ICE Endex" if self == Publisher.DBEQ_BASIC_DBEQ: @@ -2235,7 +2235,7 @@ def description(self) -> str: if self == Publisher.XNAS_BASIC_FINC: return "Nasdaq Basic - FINRA/Nasdaq TRF Chicago" if self == Publisher.IFEU_IMPACT_XOFF: - return "ICE Futures Europe - Off-Market Trades" + return "ICE Europe - Off-Market Trades" if self == Publisher.NDEX_IMPACT_XOFF: return "ICE Endex - Off-Market Trades" if self == Publisher.XNAS_NLS_XBOS: @@ -2261,13 +2261,13 @@ def description(self) -> str: if self == Publisher.XNYS_TRADES_EQUS: return "NYSE Trades - Consolidated" if self == Publisher.IFUS_IMPACT_IFUS: - return "ICE Futures US" + return "ICE US" if self == Publisher.IFUS_IMPACT_XOFF: - return "ICE Futures US - Off-Market Trades" + return "ICE US - Off-Market Trades" if self == Publisher.IFLL_IMPACT_IFLL: - return "ICE Futures Europe (Financials)" + return "ICE Europe (Financials)" if self == Publisher.IFLL_IMPACT_XOFF: - return "ICE Futures Europe (Financials) - Off-Market Trades" + return "ICE Europe (Financials) - Off-Market Trades" if self == Publisher.XEUR_EOBI_XEUR: return "Eurex EOBI" if self == Publisher.XEER_EOBI_XEER: From ecbca605ebd9abee8dd2596391f9dbe259b72933 Mon Sep 17 00:00:00 2001 From: Roberto Mesado Date: Mon, 16 Jun 2025 13:39:01 -0700 Subject: [PATCH 2/8] MOD: ICE US to ICE Futures US --- CHANGELOG.md | 4 ++-- databento/common/publishers.py | 16 ++++++++-------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 30450b6..392b3b4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -121,7 +121,7 @@ ## 0.50.0 - 2025-03-18 #### Enhancements -- Added new venues, datasets, and publishers for ICE US, ICE Europe Financials products, Eurex, and European Energy Exchange (EEX) +- Added new venues, datasets, and publishers for ICE Futures US, ICE Europe Financials products, Eurex, and European Energy Exchange (EEX) - Added export of the following enums from `databento_dbn` to the root `databento` package: - `Action` - `InstrumentClass` @@ -148,7 +148,7 @@ ## 0.49.0 - 2025-03-04 #### Enhancements -- Added new venues, datasets, and publishers for ICE US and for ICE Europe Financials products +- Added new venues, datasets, and publishers for ICE Futures US and for ICE Europe Financials products - Added a `keep_zip` parameter to `Historical.batch.download()`. When `True`, and downloading all files, the jobs contents will be saved as a ZIP file - Calling `Live.terminate()` will now attempt to write EOF before aborting the connection to help close the remote end diff --git a/databento/common/publishers.py b/databento/common/publishers.py index 168eb77..ebf3cd1 100644 --- a/databento/common/publishers.py +++ b/databento/common/publishers.py @@ -111,7 +111,7 @@ class Venue(StringyMixin, str, Enum): EQUS Databento US Equities - Consolidated. IFUS - ICE US. + ICE Futures US. IFLL ICE Europe Financials. XEUR @@ -490,7 +490,7 @@ def description(self) -> str: if self == Venue.EQUS: return "Databento US Equities - Consolidated" if self == Venue.IFUS: - return "ICE US" + return "ICE Futures US" if self == Venue.IFLL: return "ICE Europe Financials" if self == Venue.XEUR: @@ -577,7 +577,7 @@ class Dataset(StringyMixin, str, Enum): EQUS_MINI Databento US Equities Mini. IFUS_IMPACT - ICE US iMpact. + ICE Futures US iMpact. IFLL_IMPACT ICE Europe Financials iMpact. XEUR_EOBI @@ -872,7 +872,7 @@ def description(self) -> str: if self == Dataset.EQUS_MINI: return "Databento US Equities Mini" if self == Dataset.IFUS_IMPACT: - return "ICE US iMpact" + return "ICE Futures US iMpact" if self == Dataset.IFLL_IMPACT: return "ICE Europe Financials iMpact" if self == Dataset.XEUR_EOBI: @@ -1081,9 +1081,9 @@ class Publisher(StringyMixin, str, Enum): XNYS_TRADES_EQUS NYSE Trades - Consolidated. IFUS_IMPACT_IFUS - ICE US. + ICE Futures US. IFUS_IMPACT_XOFF - ICE US - Off-Market Trades. + ICE Futures US - Off-Market Trades. IFLL_IMPACT_IFLL ICE Europe Financials. IFLL_IMPACT_XOFF @@ -2261,9 +2261,9 @@ def description(self) -> str: if self == Publisher.XNYS_TRADES_EQUS: return "NYSE Trades - Consolidated" if self == Publisher.IFUS_IMPACT_IFUS: - return "ICE US" + return "ICE Futures US" if self == Publisher.IFUS_IMPACT_XOFF: - return "ICE US - Off-Market Trades" + return "ICE Futures US - Off-Market Trades" if self == Publisher.IFLL_IMPACT_IFLL: return "ICE Europe (Financials)" if self == Publisher.IFLL_IMPACT_XOFF: From 40f91839e0c8d601ea7db9cd3c44cdfdb9affd76 Mon Sep 17 00:00:00 2001 From: Carter Green Date: Tue, 17 Jun 2025 08:11:35 +0000 Subject: [PATCH 3/8] MOD: Update dataset descriptions --- databento/common/publishers.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/databento/common/publishers.py b/databento/common/publishers.py index ebf3cd1..bf6debd 100644 --- a/databento/common/publishers.py +++ b/databento/common/publishers.py @@ -2265,9 +2265,9 @@ def description(self) -> str: if self == Publisher.IFUS_IMPACT_XOFF: return "ICE Futures US - Off-Market Trades" if self == Publisher.IFLL_IMPACT_IFLL: - return "ICE Europe (Financials)" + return "ICE Europe Financials" if self == Publisher.IFLL_IMPACT_XOFF: - return "ICE Europe (Financials) - Off-Market Trades" + return "ICE Europe Financials - Off-Market Trades" if self == Publisher.XEUR_EOBI_XEUR: return "Eurex EOBI" if self == Publisher.XEER_EOBI_XEER: From 68b0f559ba78ddf3cb6300ec9aabdecd0b242110 Mon Sep 17 00:00:00 2001 From: Nick Macholl Date: Tue, 17 Jun 2025 09:22:30 -0700 Subject: [PATCH 4/8] MOD: Upgrade databento_dbn to 0.36.1 --- CHANGELOG.md | 15 +++++++++++++++ README.md | 2 +- pyproject.toml | 2 +- 3 files changed, 17 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 392b3b4..afcc91a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,20 @@ # Changelog +## 0.57.1 - TBD + +#### Enhancements +- Changed the following Venue, Publisher, and Dataset descriptions: + - "ICE Futures US" renamed to "ICE Futures US" + - "ICE Futures Europe (Financials)" renamed to "ICE Europe Financials" + - "ICE Futures Europe (Commodities)" renamed to "ICE Europe Commodities" +- Upgraded `databento-dbn` to 0.36.1 + - Fixed setting of ts_out property of DbnFsm based on decoded metadata. This +was preventing ts_out from being correctly decoded in the Python DBNDecoder + - Fixed decoding of `ts_out` with first records in DBNDecoder + +#### Bug fixes +- Fixed an issue where DBN records from the Live client where not having their `ts_out` populated + ## 0.57.0 - 2025-06-10 #### Enhancements diff --git a/README.md b/README.md index 4d8d2c9..917263c 100644 --- a/README.md +++ b/README.md @@ -32,7 +32,7 @@ The library is fully compatible with the latest distribution of Anaconda 3.9 and The minimum dependencies as found in the `pyproject.toml` are also listed below: - python = "^3.9" - aiohttp = "^3.8.3" -- databento-dbn = "0.35.1" +- databento-dbn = "0.36.1" - numpy= ">=1.23.5" - pandas = ">=1.5.3" - pip-system-certs = ">=4.0" (Windows only) diff --git a/pyproject.toml b/pyproject.toml index 4ef4ff3..1077706 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -32,7 +32,7 @@ aiohttp = [ {version = "^3.8.3", python = "<3.12"}, {version = "^3.9.0", python = "^3.12"} ] -databento-dbn = "0.36.0" +databento-dbn = "0.36.1" numpy = [ {version = ">=1.23.5", python = "<3.12"}, {version = ">=1.26.0", python = "^3.12"} From 07cea63cf0438ee199b8517ca90fde2157e94dc8 Mon Sep 17 00:00:00 2001 From: Nick Macholl Date: Tue, 17 Jun 2025 11:24:40 -0700 Subject: [PATCH 5/8] VER: Release 0.57.1 --- CHANGELOG.md | 2 +- databento/version.py | 2 +- pyproject.toml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index afcc91a..469dd7c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,6 @@ # Changelog -## 0.57.1 - TBD +## 0.57.1 - 2025-06-17 #### Enhancements - Changed the following Venue, Publisher, and Dataset descriptions: diff --git a/databento/version.py b/databento/version.py index 6e6e624..8685210 100644 --- a/databento/version.py +++ b/databento/version.py @@ -1 +1 @@ -__version__ = "0.57.0" +__version__ = "0.57.1" diff --git a/pyproject.toml b/pyproject.toml index 1077706..73b15f8 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "databento" -version = "0.57.0" +version = "0.57.1" description = "Official Python client library for Databento" authors = [ "Databento ", From b25495355acae290b06587ed2afbe5a3cc9bcbea Mon Sep 17 00:00:00 2001 From: Rob Maierle Date: Thu, 12 Jun 2025 12:19:08 -0400 Subject: [PATCH 6/8] DOC: Update python function styling in docs --- databento/common/dbnstore.py | 8 ++++++-- databento/common/parsing.py | 2 +- databento/historical/api/batch.py | 6 +++--- databento/historical/api/metadata.py | 12 ++++++------ databento/historical/api/symbology.py | 2 +- tests/test_historical_bento.py | 5 +++-- 6 files changed, 20 insertions(+), 15 deletions(-) diff --git a/databento/common/dbnstore.py b/databento/common/dbnstore.py index 14242ec..9c2d924 100644 --- a/databento/common/dbnstore.py +++ b/databento/common/dbnstore.py @@ -328,6 +328,8 @@ class DBNStore: Write the data to a file in JSON format. to_ndarray : np.ndarray The data as a numpy `ndarray`. + to_parquet + Write the data to a parquet file. Raises ------ @@ -662,7 +664,7 @@ def from_bytes(cls, data: BytesIO | bytes | IO[bytes]) -> DBNStore: Parameters ---------- - data : BytesIO or bytes + data : BytesIO or bytes or IO[bytes] The bytes to read from. Returns @@ -698,7 +700,7 @@ def insert_symbology_json( self._instrument_map.clear() self._instrument_map.insert_json(json_data) - def replay(self, callback: Callable[[Any], None]) -> None: + def replay(self, callback: Callable[[DBNRecord], None]) -> None: """ Replay data by passing records sequentially to the given callback. @@ -983,6 +985,8 @@ def to_parquet( Parameters ---------- + path: PathLike[str] or str + The file path to write the data to. price_type : str, default "float" The price type to use for price fields. If "fixed", prices will have a type of `int` in fixed decimal format; each unit representing 1e-9 or 0.000000001. diff --git a/databento/common/parsing.py b/databento/common/parsing.py index 40fa5cd..7a9d918 100644 --- a/databento/common/parsing.py +++ b/databento/common/parsing.py @@ -351,7 +351,7 @@ def datetime_to_unix_nanoseconds( def optional_datetime_to_unix_nanoseconds( - value: pd.Timestamp | str | int | None, + value: pd.Timestamp | date | str | int | None, ) -> int | None: """ Return a valid UNIX nanosecond timestamp from the given value (if not diff --git a/databento/historical/api/batch.py b/databento/historical/api/batch.py index 1fa81d6..bed30df 100644 --- a/databento/historical/api/batch.py +++ b/databento/historical/api/batch.py @@ -184,7 +184,7 @@ def submit_job( def list_jobs( self, - states: list[str] | str = "received,queued,processing,done", + states: Iterable[str] | str = "received,queued,processing,done", since: pd.Timestamp | datetime | date | str | int | None = None, ) -> list[dict[str, Any]]: """ @@ -196,8 +196,8 @@ def list_jobs( Parameters ---------- - states : list[str] or str, optional {'received', 'queued', 'processing', 'done', 'expired'} # noqa - The filter for jobs states as a list of comma separated values. + states : Iterable[str] or str, optional {'received', 'queued', 'processing', 'done', 'expired'} # noqa + The filter for jobs states as an iterable of comma separated values. since : pd.Timestamp, datetime, date, str, or int, optional The filter for timestamp submitted (will not include jobs prior to this). diff --git a/databento/historical/api/metadata.py b/databento/historical/api/metadata.py index 573663f..971005c 100644 --- a/databento/historical/api/metadata.py +++ b/databento/historical/api/metadata.py @@ -32,7 +32,7 @@ def __init__(self, key: str, gateway: str) -> None: super().__init__(key=key, gateway=gateway) self._base_url = gateway + f"/v{API_VERSION}/metadata" - def list_publishers(self) -> list[dict[str, Any]]: + def list_publishers(self) -> list[dict[str, int | str]]: """ Request all publishers from Databento. @@ -42,7 +42,7 @@ def list_publishers(self) -> list[dict[str, Any]]: Returns ------- - list[dict[str, Any]] + list[dict[str, int | str]] """ response: Response = self._get( @@ -121,7 +121,7 @@ def list_fields( self, schema: Schema | str, encoding: Encoding | str, - ) -> list[dict[str, Any]]: + ) -> list[dict[str, str]]: """ List all fields for a particular schema and encoding from Databento. @@ -136,7 +136,7 @@ def list_fields( Returns ------- - list[dict[str, Any]] + list[dict[str, str]] A list of field details. """ @@ -189,7 +189,7 @@ def get_dataset_condition( dataset: Dataset | str, start_date: date | str | None = None, end_date: date | str | None = None, - ) -> list[dict[str, str]]: + ) -> list[dict[str, str | None]]: """ Get the per date dataset conditions from Databento. @@ -210,7 +210,7 @@ def get_dataset_condition( Returns ------- - list[dict[str, str]] + list[dict[str, str | None]] """ params: list[tuple[str, str | None]] = [ diff --git a/databento/historical/api/symbology.py b/databento/historical/api/symbology.py index 4f8eea6..9b59309 100644 --- a/databento/historical/api/symbology.py +++ b/databento/historical/api/symbology.py @@ -44,7 +44,7 @@ def resolve( ---------- dataset : Dataset or str The dataset code (string identifier) for the request. - symbols : Iterable[str | int] or str or int, optional + symbols : Iterable[str | int] or str or int The symbols to resolve. Takes up to 2,000 symbols per request. stype_in : SType or str, default 'raw_symbol' The input symbology type to resolve from. diff --git a/tests/test_historical_bento.py b/tests/test_historical_bento.py index f9ab3b0..707aca3 100644 --- a/tests/test_historical_bento.py +++ b/tests/test_historical_bento.py @@ -435,13 +435,14 @@ def test_replay_with_stub_data_record_passes_to_callback( stub_data = test_data(Dataset.GLBX_MDP3, Schema.MBO) data = DBNStore.from_bytes(data=stub_data) - handler: list[MBOMsg] = [] + handler: list[DBNRecord] = [] # Act data.replay(callback=handler.append) - record: MBOMsg = handler[0] + record: DBNRecord = handler[0] # Assert + assert isinstance(record, MBOMsg) assert record.hd.length == 14 assert record.hd.rtype == 160 assert record.hd.rtype == 160 From 3bc47092e1b4eb4b37d2e504ef8e8e576d7c5293 Mon Sep 17 00:00:00 2001 From: Carter Green Date: Wed, 18 Jun 2025 15:24:11 +0100 Subject: [PATCH 7/8] DOC: Remove no-op change item for ICE Futures US --- CHANGELOG.md | 1 - 1 file changed, 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 469dd7c..61045d2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,7 +4,6 @@ #### Enhancements - Changed the following Venue, Publisher, and Dataset descriptions: - - "ICE Futures US" renamed to "ICE Futures US" - "ICE Futures Europe (Financials)" renamed to "ICE Europe Financials" - "ICE Futures Europe (Commodities)" renamed to "ICE Europe Commodities" - Upgraded `databento-dbn` to 0.36.1 From a813d7eee136c012893788553f9e0680ff7fd708 Mon Sep 17 00:00:00 2001 From: Nick Macholl Date: Wed, 18 Jun 2025 14:04:47 -0700 Subject: [PATCH 8/8] MOD: Skip Live client tests on Windows --- tests/test_live_client.py | 6 ++++++ tests/test_live_client_reconnect.py | 6 ++++++ tests/test_live_protocol.py | 6 ++++++ 3 files changed, 18 insertions(+) diff --git a/tests/test_live_client.py b/tests/test_live_client.py index dc22c15..ba46ae2 100644 --- a/tests/test_live_client.py +++ b/tests/test_live_client.py @@ -5,6 +5,7 @@ from __future__ import annotations import pathlib +import platform import random import string from io import BytesIO @@ -32,6 +33,11 @@ from tests.mockliveserver.fixture import MockLiveServerInterface +# TODO(nm): Remove when stable +if platform.system() == "Windows": + pytest.skip(reason="Skip on Windows due to flakiness", allow_module_level=True) + + def test_live_connection_refused( test_api_key: str, ) -> None: diff --git a/tests/test_live_client_reconnect.py b/tests/test_live_client_reconnect.py index dc6cab4..ee671a7 100644 --- a/tests/test_live_client_reconnect.py +++ b/tests/test_live_client_reconnect.py @@ -1,6 +1,7 @@ from __future__ import annotations import asyncio +import platform from unittest.mock import MagicMock import pandas as pd @@ -18,6 +19,11 @@ from tests.mockliveserver.fixture import MockLiveServerInterface +# TODO(nm): Remove when stable +if platform.system() == "Windows": + pytest.skip(reason="Skip on Windows due to flakiness", allow_module_level=True) + + async def test_reconnect_policy_none( test_live_api_key: str, mock_live_server: MockLiveServerInterface, diff --git a/tests/test_live_protocol.py b/tests/test_live_protocol.py index 8b98d43..8478664 100644 --- a/tests/test_live_protocol.py +++ b/tests/test_live_protocol.py @@ -1,4 +1,5 @@ import asyncio +import platform from unittest.mock import MagicMock import pytest @@ -10,6 +11,11 @@ from tests.mockliveserver.fixture import MockLiveServerInterface +# TODO(nm): Remove when stable +if platform.system() == "Windows": + pytest.skip(reason="Skip on Windows due to flakiness", allow_module_level=True) + + @pytest.mark.parametrize( "dataset", [