From c48798bc1e7feea74870dd909eb90c69db614ab4 Mon Sep 17 00:00:00 2001 From: Tim Hedger-Gourlay Date: Wed, 22 Jul 2026 13:55:04 +0100 Subject: [PATCH] Treat pyhive as a synchronous package and add a regression test Treat both `pyhive` and `pyhiveapi` as synchronous packages. Previously `import pyhive` exposed the asynchronous API because `src/__init__.py` only checked for `__name__ == "pyhiveapi"`. Add a regression test to verify that `pyhive` exposes the synchronous `HiveAuth` and `HiveApi` classes. The test fails without this change and passes with it. --- src/__init__.py | 3 ++- tests/e2e/test_pyhive_exposes_sync_classes.py | 7 +++++++ 2 files changed, 9 insertions(+), 1 deletion(-) create mode 100644 tests/e2e/test_pyhive_exposes_sync_classes.py diff --git a/src/__init__.py b/src/__init__.py index 13762b9..9ee6971 100644 --- a/src/__init__.py +++ b/src/__init__.py @@ -2,7 +2,8 @@ # pylint: skip-file # ruff: noqa -if __name__ == "pyhiveapi": # pragma: no cover +# TIM CODE - code generation appears not to fully implement the name change to pyhive - so allow for it +if __name__ in ( "pyhiveapi", "pyhive"): # pragma: no cover from .api.hive_api import HiveApi as API # type: ignore[assignment] # pragma: no cover from .api.hive_auth import HiveAuth as Auth # type: ignore[assignment] # pragma: no cover else: diff --git a/tests/e2e/test_pyhive_exposes_sync_classes.py b/tests/e2e/test_pyhive_exposes_sync_classes.py new file mode 100644 index 0000000..66ffec4 --- /dev/null +++ b/tests/e2e/test_pyhive_exposes_sync_classes.py @@ -0,0 +1,7 @@ +from pyhive.api.hive_auth import HiveAuth +from pyhive.api.hive_api import HiveApi +import pyhive + +def test_pyhive_exposes_sync_classes(): + assert pyhive.Auth is HiveAuth + assert pyhive.API is HiveApi