hyperforge-nucliadb 1.0.0.post62__tar.gz → 1.0.0.post72__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. {hyperforge_nucliadb-1.0.0.post62 → hyperforge_nucliadb-1.0.0.post72}/PKG-INFO +1 -1
  2. {hyperforge_nucliadb-1.0.0.post62 → hyperforge_nucliadb-1.0.0.post72}/pyproject.toml +1 -1
  3. {hyperforge_nucliadb-1.0.0.post62 → hyperforge_nucliadb-1.0.0.post72}/src/hyperforge_nucliadb/driver.py +4 -8
  4. {hyperforge_nucliadb-1.0.0.post62 → hyperforge_nucliadb-1.0.0.post72}/src/hyperforge_nucliadb.egg-info/PKG-INFO +1 -1
  5. {hyperforge_nucliadb-1.0.0.post62 → hyperforge_nucliadb-1.0.0.post72}/src/hyperforge_nucliadb.egg-info/SOURCES.txt +1 -0
  6. hyperforge_nucliadb-1.0.0.post72/tests/test_driver.py +34 -0
  7. {hyperforge_nucliadb-1.0.0.post62 → hyperforge_nucliadb-1.0.0.post72}/README.md +0 -0
  8. {hyperforge_nucliadb-1.0.0.post62 → hyperforge_nucliadb-1.0.0.post72}/setup.cfg +0 -0
  9. {hyperforge_nucliadb-1.0.0.post62 → hyperforge_nucliadb-1.0.0.post72}/src/hyperforge_nucliadb/__init__.py +0 -0
  10. {hyperforge_nucliadb-1.0.0.post62 → hyperforge_nucliadb-1.0.0.post72}/src/hyperforge_nucliadb/advanced_ask_agent.py +0 -0
  11. {hyperforge_nucliadb-1.0.0.post62 → hyperforge_nucliadb-1.0.0.post72}/src/hyperforge_nucliadb/advanced_ask_config.py +0 -0
  12. {hyperforge_nucliadb-1.0.0.post62 → hyperforge_nucliadb-1.0.0.post72}/src/hyperforge_nucliadb/ask/__init__.py +0 -0
  13. {hyperforge_nucliadb-1.0.0.post62 → hyperforge_nucliadb-1.0.0.post72}/src/hyperforge_nucliadb/ask/analysis.py +0 -0
  14. {hyperforge_nucliadb-1.0.0.post62 → hyperforge_nucliadb-1.0.0.post72}/src/hyperforge_nucliadb/ask/ask.py +0 -0
  15. {hyperforge_nucliadb-1.0.0.post62 → hyperforge_nucliadb-1.0.0.post72}/src/hyperforge_nucliadb/ask/config.py +0 -0
  16. {hyperforge_nucliadb-1.0.0.post62 → hyperforge_nucliadb-1.0.0.post72}/src/hyperforge_nucliadb/ask/hydrate.py +0 -0
  17. {hyperforge_nucliadb-1.0.0.post62 → hyperforge_nucliadb-1.0.0.post72}/src/hyperforge_nucliadb/ask/kb_analysis.py +0 -0
  18. {hyperforge_nucliadb-1.0.0.post62 → hyperforge_nucliadb-1.0.0.post72}/src/hyperforge_nucliadb/ask/knowledge_scan.py +0 -0
  19. {hyperforge_nucliadb-1.0.0.post62 → hyperforge_nucliadb-1.0.0.post72}/src/hyperforge_nucliadb/ask/models.py +0 -0
  20. {hyperforge_nucliadb-1.0.0.post62 → hyperforge_nucliadb-1.0.0.post72}/src/hyperforge_nucliadb/ask/multi.py +0 -0
  21. {hyperforge_nucliadb-1.0.0.post62 → hyperforge_nucliadb-1.0.0.post72}/src/hyperforge_nucliadb/ask/nucliadb.py +0 -0
  22. {hyperforge_nucliadb-1.0.0.post62 → hyperforge_nucliadb-1.0.0.post72}/src/hyperforge_nucliadb/ask/prompt_analysis.py +0 -0
  23. {hyperforge_nucliadb-1.0.0.post62 → hyperforge_nucliadb-1.0.0.post72}/src/hyperforge_nucliadb/ask/query_analysis.py +0 -0
  24. {hyperforge_nucliadb-1.0.0.post62 → hyperforge_nucliadb-1.0.0.post72}/src/hyperforge_nucliadb/ask/rerank.py +0 -0
  25. {hyperforge_nucliadb-1.0.0.post62 → hyperforge_nucliadb-1.0.0.post72}/src/hyperforge_nucliadb/ask/utils.py +0 -0
  26. {hyperforge_nucliadb-1.0.0.post62 → hyperforge_nucliadb-1.0.0.post72}/src/hyperforge_nucliadb/ask_utils.py +0 -0
  27. {hyperforge_nucliadb-1.0.0.post62 → hyperforge_nucliadb-1.0.0.post72}/src/hyperforge_nucliadb/basic_ask_agent.py +0 -0
  28. {hyperforge_nucliadb-1.0.0.post62 → hyperforge_nucliadb-1.0.0.post72}/src/hyperforge_nucliadb/basic_ask_config.py +0 -0
  29. {hyperforge_nucliadb-1.0.0.post62 → hyperforge_nucliadb-1.0.0.post72}/src/hyperforge_nucliadb/driver_config.py +0 -0
  30. {hyperforge_nucliadb-1.0.0.post62 → hyperforge_nucliadb-1.0.0.post72}/src/hyperforge_nucliadb/py.typed +0 -0
  31. {hyperforge_nucliadb-1.0.0.post62 → hyperforge_nucliadb-1.0.0.post72}/src/hyperforge_nucliadb/sync/__init__.py +0 -0
  32. {hyperforge_nucliadb-1.0.0.post62 → hyperforge_nucliadb-1.0.0.post72}/src/hyperforge_nucliadb/sync/agent.py +0 -0
  33. {hyperforge_nucliadb-1.0.0.post62 → hyperforge_nucliadb-1.0.0.post72}/src/hyperforge_nucliadb/sync/config.py +0 -0
  34. {hyperforge_nucliadb-1.0.0.post62 → hyperforge_nucliadb-1.0.0.post72}/src/hyperforge_nucliadb/sync/config_driver.py +0 -0
  35. {hyperforge_nucliadb-1.0.0.post62 → hyperforge_nucliadb-1.0.0.post72}/src/hyperforge_nucliadb/sync/driver.py +0 -0
  36. {hyperforge_nucliadb-1.0.0.post62 → hyperforge_nucliadb-1.0.0.post72}/src/hyperforge_nucliadb.egg-info/dependency_links.txt +0 -0
  37. {hyperforge_nucliadb-1.0.0.post62 → hyperforge_nucliadb-1.0.0.post72}/src/hyperforge_nucliadb.egg-info/requires.txt +0 -0
  38. {hyperforge_nucliadb-1.0.0.post62 → hyperforge_nucliadb-1.0.0.post72}/src/hyperforge_nucliadb.egg-info/top_level.txt +0 -0
  39. {hyperforge_nucliadb-1.0.0.post62 → hyperforge_nucliadb-1.0.0.post72}/tests/test_ask_utils.py +0 -0
  40. {hyperforge_nucliadb-1.0.0.post62 → hyperforge_nucliadb-1.0.0.post72}/tests/test_nucliadb.py +0 -0
  41. {hyperforge_nucliadb-1.0.0.post62 → hyperforge_nucliadb-1.0.0.post72}/tests/test_sync.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: hyperforge_nucliadb
3
- Version: 1.0.0.post62
3
+ Version: 1.0.0.post72
4
4
  Summary: NucliaDB Hyperforge agent
5
5
  Author-email: Nuclia <nucliadb@nuclia.com>
6
6
  License-Expression: Apache-2.0
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "hyperforge_nucliadb"
7
- version = "1.0.0.post62"
7
+ version = "1.0.0.post72"
8
8
  license = "Apache-2.0"
9
9
  description = "NucliaDB Hyperforge agent"
10
10
  authors = [{ name = "Nuclia", email = "nucliadb@nuclia.com" }]
@@ -111,14 +111,10 @@ class NucliaDBDriver(Driver):
111
111
 
112
112
  async def labels(self) -> Dict[str, List[str]]:
113
113
  labelsets = await self.driver.get_labelsets(kbid=self.config.kbid)
114
- result = {}
115
- for labelset in labelsets.labelsets:
116
- labels = await self.driver.get_labelset(
117
- kbid=self.config.kbid, labelset=labelset
118
- )
119
- result[labelset] = [x.title for x in labels.labels]
120
-
121
- return result
114
+ return {
115
+ labelset_id: [label.title for label in labelset.labels]
116
+ for labelset_id, labelset in labelsets.labelsets.items()
117
+ }
122
118
 
123
119
  async def field_facets(self) -> Dict[str, int]:
124
120
  field_labels = {}
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: hyperforge_nucliadb
3
- Version: 1.0.0.post62
3
+ Version: 1.0.0.post72
4
4
  Summary: NucliaDB Hyperforge agent
5
5
  Author-email: Nuclia <nucliadb@nuclia.com>
6
6
  License-Expression: Apache-2.0
@@ -34,5 +34,6 @@ src/hyperforge_nucliadb/sync/config.py
34
34
  src/hyperforge_nucliadb/sync/config_driver.py
35
35
  src/hyperforge_nucliadb/sync/driver.py
36
36
  tests/test_ask_utils.py
37
+ tests/test_driver.py
37
38
  tests/test_nucliadb.py
38
39
  tests/test_sync.py
@@ -0,0 +1,34 @@
1
+ from types import SimpleNamespace
2
+ from unittest.mock import AsyncMock
3
+
4
+ import pytest
5
+
6
+ from hyperforge_nucliadb.driver import NucliaDBDriver
7
+
8
+
9
+ def make_driver(client):
10
+ return NucliaDBDriver.model_construct(
11
+ provider="nucliadb",
12
+ name="test",
13
+ config=SimpleNamespace(kbid="test-kb"),
14
+ driver=client,
15
+ manager=SimpleNamespace(),
16
+ _synonyms=None,
17
+ )
18
+
19
+
20
+ @pytest.mark.asyncio
21
+ async def test_labels_uses_complete_labelsets_response():
22
+ client = AsyncMock()
23
+ client.get_labelsets.return_value = SimpleNamespace(
24
+ labelsets={
25
+ "type": SimpleNamespace(labels=[SimpleNamespace(title="report")]),
26
+ "topic": SimpleNamespace(labels=[SimpleNamespace(title="science")]),
27
+ }
28
+ )
29
+ driver = make_driver(client)
30
+
31
+ assert await driver.labels() == {"type": ["report"], "topic": ["science"]}
32
+
33
+ client.get_labelsets.assert_awaited_once_with(kbid="test-kb")
34
+ client.get_labelset.assert_not_awaited()