Skip to content

Commit e7e05b9

Browse files
fix: export NodeInfo from package __init__
NodeInfo is needed by users implementing custom NodeStore subclasses or calling set_nodes(), but was missing from the public API. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent d184111 commit e7e05b9

2 files changed

Lines changed: 8 additions & 1 deletion

File tree

src/dqliteclient/__init__.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
OperationalError,
1010
ProtocolError,
1111
)
12-
from dqliteclient.node_store import MemoryNodeStore, NodeStore
12+
from dqliteclient.node_store import MemoryNodeStore, NodeInfo, NodeStore
1313
from dqliteclient.pool import ConnectionPool
1414

1515
__all__ = [
@@ -19,6 +19,7 @@
1919
"ConnectionPool",
2020
"ClusterClient",
2121
"NodeStore",
22+
"NodeInfo",
2223
"MemoryNodeStore",
2324
"DqliteError",
2425
"DqliteConnectionError",

tests/test_node_store.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
"""Tests for node store."""
22

3+
import dqliteclient
34
from dqliteclient.node_store import MemoryNodeStore, NodeInfo
45

56

@@ -43,6 +44,11 @@ async def test_set_nodes(self) -> None:
4344
assert result[0].node_id == 1
4445
assert result[1].address == "node2:9002"
4546

47+
def test_nodeinfo_exported_from_package(self) -> None:
48+
"""NodeInfo should be importable from the top-level package."""
49+
assert hasattr(dqliteclient, "NodeInfo")
50+
assert dqliteclient.NodeInfo is NodeInfo
51+
4652
async def test_get_nodes_returns_copy(self) -> None:
4753
store = MemoryNodeStore(["localhost:9001"])
4854
nodes1 = await store.get_nodes()

0 commit comments

Comments
 (0)