learning-loop-node 0.21.0__tar.gz → 0.22.0__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 (67) hide show
  1. {learning_loop_node-0.21.0 → learning_loop_node-0.22.0}/PKG-INFO +13 -17
  2. {learning_loop_node-0.21.0 → learning_loop_node-0.22.0}/learning_loop_node/helpers/misc.py +1 -1
  3. {learning_loop_node-0.21.0 → learning_loop_node-0.22.0}/learning_loop_node.egg-info/PKG-INFO +13 -17
  4. learning_loop_node-0.22.0/learning_loop_node.egg-info/requires.txt +23 -0
  5. {learning_loop_node-0.21.0 → learning_loop_node-0.22.0}/pyproject.toml +13 -17
  6. learning_loop_node-0.21.0/learning_loop_node.egg-info/requires.txt +0 -27
  7. {learning_loop_node-0.21.0 → learning_loop_node-0.22.0}/README.md +0 -0
  8. {learning_loop_node-0.21.0 → learning_loop_node-0.22.0}/learning_loop_node/__init__.py +0 -0
  9. {learning_loop_node-0.21.0 → learning_loop_node-0.22.0}/learning_loop_node/annotation/__init__.py +0 -0
  10. {learning_loop_node-0.21.0 → learning_loop_node-0.22.0}/learning_loop_node/annotation/annotator_logic.py +0 -0
  11. {learning_loop_node-0.21.0 → learning_loop_node-0.22.0}/learning_loop_node/annotation/annotator_node.py +0 -0
  12. {learning_loop_node-0.21.0 → learning_loop_node-0.22.0}/learning_loop_node/data_classes/__init__.py +0 -0
  13. {learning_loop_node-0.21.0 → learning_loop_node-0.22.0}/learning_loop_node/data_classes/annotation_data.py +0 -0
  14. {learning_loop_node-0.21.0 → learning_loop_node-0.22.0}/learning_loop_node/data_classes/annotations.py +0 -0
  15. {learning_loop_node-0.21.0 → learning_loop_node-0.22.0}/learning_loop_node/data_classes/detections.py +0 -0
  16. {learning_loop_node-0.21.0 → learning_loop_node-0.22.0}/learning_loop_node/data_classes/general.py +0 -0
  17. {learning_loop_node-0.21.0 → learning_loop_node-0.22.0}/learning_loop_node/data_classes/image_metadata.py +0 -0
  18. {learning_loop_node-0.21.0 → learning_loop_node-0.22.0}/learning_loop_node/data_classes/socket_response.py +0 -0
  19. {learning_loop_node-0.21.0 → learning_loop_node-0.22.0}/learning_loop_node/data_classes/training.py +0 -0
  20. {learning_loop_node-0.21.0 → learning_loop_node-0.22.0}/learning_loop_node/data_exchanger.py +0 -0
  21. {learning_loop_node-0.21.0 → learning_loop_node-0.22.0}/learning_loop_node/detector/__init__.py +0 -0
  22. {learning_loop_node-0.21.0 → learning_loop_node-0.22.0}/learning_loop_node/detector/detector_logic.py +0 -0
  23. {learning_loop_node-0.21.0 → learning_loop_node-0.22.0}/learning_loop_node/detector/detector_node.py +0 -0
  24. {learning_loop_node-0.21.0 → learning_loop_node-0.22.0}/learning_loop_node/detector/exceptions.py +0 -0
  25. {learning_loop_node-0.21.0 → learning_loop_node-0.22.0}/learning_loop_node/detector/inbox_filter/__init__.py +0 -0
  26. {learning_loop_node-0.21.0 → learning_loop_node-0.22.0}/learning_loop_node/detector/inbox_filter/cam_observation_history.py +0 -0
  27. {learning_loop_node-0.21.0 → learning_loop_node-0.22.0}/learning_loop_node/detector/inbox_filter/relevance_filter.py +0 -0
  28. {learning_loop_node-0.21.0 → learning_loop_node-0.22.0}/learning_loop_node/detector/outbox.py +0 -0
  29. {learning_loop_node-0.21.0 → learning_loop_node-0.22.0}/learning_loop_node/detector/rest/__init__.py +0 -0
  30. {learning_loop_node-0.21.0 → learning_loop_node-0.22.0}/learning_loop_node/detector/rest/about.py +0 -0
  31. {learning_loop_node-0.21.0 → learning_loop_node-0.22.0}/learning_loop_node/detector/rest/backdoor_controls.py +0 -0
  32. {learning_loop_node-0.21.0 → learning_loop_node-0.22.0}/learning_loop_node/detector/rest/detect.py +0 -0
  33. {learning_loop_node-0.21.0 → learning_loop_node-0.22.0}/learning_loop_node/detector/rest/model_version_control.py +0 -0
  34. {learning_loop_node-0.21.0 → learning_loop_node-0.22.0}/learning_loop_node/detector/rest/operation_mode.py +0 -0
  35. {learning_loop_node-0.21.0 → learning_loop_node-0.22.0}/learning_loop_node/detector/rest/outbox_mode.py +0 -0
  36. {learning_loop_node-0.21.0 → learning_loop_node-0.22.0}/learning_loop_node/detector/rest/upload.py +0 -0
  37. {learning_loop_node-0.21.0 → learning_loop_node-0.22.0}/learning_loop_node/enums/__init__.py +0 -0
  38. {learning_loop_node-0.21.0 → learning_loop_node-0.22.0}/learning_loop_node/enums/annotator.py +0 -0
  39. {learning_loop_node-0.21.0 → learning_loop_node-0.22.0}/learning_loop_node/enums/detector.py +0 -0
  40. {learning_loop_node-0.21.0 → learning_loop_node-0.22.0}/learning_loop_node/enums/general.py +0 -0
  41. {learning_loop_node-0.21.0 → learning_loop_node-0.22.0}/learning_loop_node/enums/trainer.py +0 -0
  42. {learning_loop_node-0.21.0 → learning_loop_node-0.22.0}/learning_loop_node/globals.py +0 -0
  43. {learning_loop_node-0.21.0 → learning_loop_node-0.22.0}/learning_loop_node/helpers/__init__.py +0 -0
  44. {learning_loop_node-0.21.0 → learning_loop_node-0.22.0}/learning_loop_node/helpers/background_tasks.py +0 -0
  45. {learning_loop_node-0.21.0 → learning_loop_node-0.22.0}/learning_loop_node/helpers/environment_reader.py +0 -0
  46. {learning_loop_node-0.21.0 → learning_loop_node-0.22.0}/learning_loop_node/helpers/gdrive_downloader.py +0 -0
  47. {learning_loop_node-0.21.0 → learning_loop_node-0.22.0}/learning_loop_node/helpers/log_conf.py +0 -0
  48. {learning_loop_node-0.21.0 → learning_loop_node-0.22.0}/learning_loop_node/helpers/run.py +0 -0
  49. {learning_loop_node-0.21.0 → learning_loop_node-0.22.0}/learning_loop_node/loop_communication.py +0 -0
  50. {learning_loop_node-0.21.0 → learning_loop_node-0.22.0}/learning_loop_node/node.py +0 -0
  51. {learning_loop_node-0.21.0 → learning_loop_node-0.22.0}/learning_loop_node/py.typed +0 -0
  52. {learning_loop_node-0.21.0 → learning_loop_node-0.22.0}/learning_loop_node/rest.py +0 -0
  53. {learning_loop_node-0.21.0 → learning_loop_node-0.22.0}/learning_loop_node/trainer/__init__.py +0 -0
  54. {learning_loop_node-0.21.0 → learning_loop_node-0.22.0}/learning_loop_node/trainer/downloader.py +0 -0
  55. {learning_loop_node-0.21.0 → learning_loop_node-0.22.0}/learning_loop_node/trainer/exceptions.py +0 -0
  56. {learning_loop_node-0.21.0 → learning_loop_node-0.22.0}/learning_loop_node/trainer/executor.py +0 -0
  57. {learning_loop_node-0.21.0 → learning_loop_node-0.22.0}/learning_loop_node/trainer/io_helpers.py +0 -0
  58. {learning_loop_node-0.21.0 → learning_loop_node-0.22.0}/learning_loop_node/trainer/rest/__init__.py +0 -0
  59. {learning_loop_node-0.21.0 → learning_loop_node-0.22.0}/learning_loop_node/trainer/rest/backdoor_controls.py +0 -0
  60. {learning_loop_node-0.21.0 → learning_loop_node-0.22.0}/learning_loop_node/trainer/test_executor.py +0 -0
  61. {learning_loop_node-0.21.0 → learning_loop_node-0.22.0}/learning_loop_node/trainer/trainer_logic.py +0 -0
  62. {learning_loop_node-0.21.0 → learning_loop_node-0.22.0}/learning_loop_node/trainer/trainer_logic_generic.py +0 -0
  63. {learning_loop_node-0.21.0 → learning_loop_node-0.22.0}/learning_loop_node/trainer/trainer_node.py +0 -0
  64. {learning_loop_node-0.21.0 → learning_loop_node-0.22.0}/learning_loop_node.egg-info/SOURCES.txt +0 -0
  65. {learning_loop_node-0.21.0 → learning_loop_node-0.22.0}/learning_loop_node.egg-info/dependency_links.txt +0 -0
  66. {learning_loop_node-0.21.0 → learning_loop_node-0.22.0}/learning_loop_node.egg-info/top_level.txt +0 -0
  67. {learning_loop_node-0.21.0 → learning_loop_node-0.22.0}/setup.cfg +0 -0
@@ -1,34 +1,30 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: learning_loop_node
3
- Version: 0.21.0
3
+ Version: 0.22.0
4
4
  Summary: Python Library for Nodes which connect to the Zauberzeug Learning Loop
5
5
  Author-email: Zauberzeug GmbH <info@zauberzeug.com>
6
6
  License: MIT
7
7
  Project-URL: Repository, https://github.com/zauberzeug/learning_loop_node
8
8
  Requires-Python: >=3.10
9
9
  Description-Content-Type: text/markdown
10
- Requires-Dist: fastapi<1.0,>=0.128
11
- Requires-Dist: uvicorn[standard]<0.23.0,>=0.22.0
12
- Requires-Dist: fastapi-utils<0.9.0,>=0.8.0
13
- Requires-Dist: requests<3.0.0,>=2.25.1
14
- Requires-Dist: python-socketio<6.0.0,>=5.7.2
15
- Requires-Dist: simplejson<4.0.0,>=3.17.2
16
- Requires-Dist: icecream<3.0.0,>=2.1.0
17
- Requires-Dist: aiofiles<0.8.0,>=0.7.0
18
- Requires-Dist: async_generator<2.0.0,>=1.10
19
- Requires-Dist: pytest-watch<5.0.0,>=4.2.0
20
- Requires-Dist: python-multipart>=0.0.22
21
- Requires-Dist: psutil<6.0.0,>=5.8.0
10
+ Requires-Dist: fastapi<1.0,>=0.135
11
+ Requires-Dist: uvicorn[standard]<1.0.0,>=0.22.0
12
+ Requires-Dist: requests<3.0.0,>=2.33.0
13
+ Requires-Dist: python-socketio<6.0.0,>=5.16.2
14
+ Requires-Dist: aiofiles>=0.7.0
15
+ Requires-Dist: python-multipart>=0.0.31
16
+ Requires-Dist: psutil<8.0.0,>=5.9.0
22
17
  Requires-Dist: numpy<3.0,>=2.0
23
- Requires-Dist: Pillow<12.0.0,>=11.0.0
18
+ Requires-Dist: Pillow<13.0.0,>=12.3.0
24
19
  Requires-Dist: tqdm<5.0.0,>=4.66.3
25
- Requires-Dist: pytest-mock<4.0.0,>=3.6.1
26
- Requires-Dist: pynvml<12.0.0,>=11.4.1
27
- Requires-Dist: aiohttp<4.0.0,>=3.13.3
20
+ Requires-Dist: pynvml<13.0.0,>=11.4.1
21
+ Requires-Dist: aiohttp<4.0.0,>=3.14.3
28
22
  Requires-Dist: httpx<0.29.0,>=0.28.1
29
23
  Requires-Dist: dacite<2.0.0,>=1.8.1
30
24
  Provides-Extra: dev
31
25
  Requires-Dist: pytest-flakefinder<2.0.0,>=1.1.0; extra == "dev"
26
+ Requires-Dist: pytest-mock<4.0.0,>=3.6.1; extra == "dev"
27
+ Requires-Dist: icecream<3.0.0,>=2.1.0; extra == "dev"
32
28
  Requires-Dist: retry<0.10.0,>=0.9.2; extra == "dev"
33
29
  Requires-Dist: debugpy<2.0.0,>=1.6.7.post1; extra == "dev"
34
30
  Requires-Dist: pytest-asyncio<0.22.0,>=0.21.1; extra == "dev"
@@ -71,7 +71,7 @@ def get_free_memory_mb() -> float: # NOTE used by yolov5
71
71
  h = pynvml.nvmlDeviceGetHandleByIndex(0)
72
72
  info = pynvml.nvmlDeviceGetMemoryInfo(h)
73
73
  free_mb = float(info.free) / 1024 / 1024
74
- except pynvml.nvml.NVMLError:
74
+ except pynvml.NVMLError:
75
75
  logger = logging.getLogger(__name__)
76
76
  logger.warning('Could not get GPU memory info, returning free CPU memory instead')
77
77
  free_mb = float(os.sysconf('SC_PAGE_SIZE') * os.sysconf('SC_AVPHYS_PAGES')) / 1024 / 1024
@@ -1,34 +1,30 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: learning_loop_node
3
- Version: 0.21.0
3
+ Version: 0.22.0
4
4
  Summary: Python Library for Nodes which connect to the Zauberzeug Learning Loop
5
5
  Author-email: Zauberzeug GmbH <info@zauberzeug.com>
6
6
  License: MIT
7
7
  Project-URL: Repository, https://github.com/zauberzeug/learning_loop_node
8
8
  Requires-Python: >=3.10
9
9
  Description-Content-Type: text/markdown
10
- Requires-Dist: fastapi<1.0,>=0.128
11
- Requires-Dist: uvicorn[standard]<0.23.0,>=0.22.0
12
- Requires-Dist: fastapi-utils<0.9.0,>=0.8.0
13
- Requires-Dist: requests<3.0.0,>=2.25.1
14
- Requires-Dist: python-socketio<6.0.0,>=5.7.2
15
- Requires-Dist: simplejson<4.0.0,>=3.17.2
16
- Requires-Dist: icecream<3.0.0,>=2.1.0
17
- Requires-Dist: aiofiles<0.8.0,>=0.7.0
18
- Requires-Dist: async_generator<2.0.0,>=1.10
19
- Requires-Dist: pytest-watch<5.0.0,>=4.2.0
20
- Requires-Dist: python-multipart>=0.0.22
21
- Requires-Dist: psutil<6.0.0,>=5.8.0
10
+ Requires-Dist: fastapi<1.0,>=0.135
11
+ Requires-Dist: uvicorn[standard]<1.0.0,>=0.22.0
12
+ Requires-Dist: requests<3.0.0,>=2.33.0
13
+ Requires-Dist: python-socketio<6.0.0,>=5.16.2
14
+ Requires-Dist: aiofiles>=0.7.0
15
+ Requires-Dist: python-multipart>=0.0.31
16
+ Requires-Dist: psutil<8.0.0,>=5.9.0
22
17
  Requires-Dist: numpy<3.0,>=2.0
23
- Requires-Dist: Pillow<12.0.0,>=11.0.0
18
+ Requires-Dist: Pillow<13.0.0,>=12.3.0
24
19
  Requires-Dist: tqdm<5.0.0,>=4.66.3
25
- Requires-Dist: pytest-mock<4.0.0,>=3.6.1
26
- Requires-Dist: pynvml<12.0.0,>=11.4.1
27
- Requires-Dist: aiohttp<4.0.0,>=3.13.3
20
+ Requires-Dist: pynvml<13.0.0,>=11.4.1
21
+ Requires-Dist: aiohttp<4.0.0,>=3.14.3
28
22
  Requires-Dist: httpx<0.29.0,>=0.28.1
29
23
  Requires-Dist: dacite<2.0.0,>=1.8.1
30
24
  Provides-Extra: dev
31
25
  Requires-Dist: pytest-flakefinder<2.0.0,>=1.1.0; extra == "dev"
26
+ Requires-Dist: pytest-mock<4.0.0,>=3.6.1; extra == "dev"
27
+ Requires-Dist: icecream<3.0.0,>=2.1.0; extra == "dev"
32
28
  Requires-Dist: retry<0.10.0,>=0.9.2; extra == "dev"
33
29
  Requires-Dist: debugpy<2.0.0,>=1.6.7.post1; extra == "dev"
34
30
  Requires-Dist: pytest-asyncio<0.22.0,>=0.21.1; extra == "dev"
@@ -0,0 +1,23 @@
1
+ fastapi<1.0,>=0.135
2
+ uvicorn[standard]<1.0.0,>=0.22.0
3
+ requests<3.0.0,>=2.33.0
4
+ python-socketio<6.0.0,>=5.16.2
5
+ aiofiles>=0.7.0
6
+ python-multipart>=0.0.31
7
+ psutil<8.0.0,>=5.9.0
8
+ numpy<3.0,>=2.0
9
+ Pillow<13.0.0,>=12.3.0
10
+ tqdm<5.0.0,>=4.66.3
11
+ pynvml<13.0.0,>=11.4.1
12
+ aiohttp<4.0.0,>=3.14.3
13
+ httpx<0.29.0,>=0.28.1
14
+ dacite<2.0.0,>=1.8.1
15
+
16
+ [dev]
17
+ pytest-flakefinder<2.0.0,>=1.1.0
18
+ pytest-mock<4.0.0,>=3.6.1
19
+ icecream<3.0.0,>=2.1.0
20
+ retry<0.10.0,>=0.9.2
21
+ debugpy<2.0.0,>=1.6.7.post1
22
+ pytest-asyncio<0.22.0,>=0.21.1
23
+ autopep8<3.0.0,>=2.0.2
@@ -1,30 +1,24 @@
1
1
  [project]
2
2
  name = "learning_loop_node"
3
- version = "0.21.0"
3
+ version = "0.22.0"
4
4
  description = "Python Library for Nodes which connect to the Zauberzeug Learning Loop"
5
5
  authors = [{ name = "Zauberzeug GmbH", email = "info@zauberzeug.com" }]
6
6
  license = { text = "MIT" }
7
7
  readme = "README.md"
8
8
  requires-python = ">=3.10"
9
9
  dependencies = [
10
- "fastapi>=0.128,<1.0",
11
- "uvicorn[standard]>=0.22.0,<0.23.0",
12
- "fastapi-utils>=0.8.0,<0.9.0",
13
- "requests>=2.25.1,<3.0.0",
14
- "python-socketio>=5.7.2,<6.0.0",
15
- "simplejson>=3.17.2,<4.0.0",
16
- "icecream>=2.1.0,<3.0.0",
17
- "aiofiles>=0.7.0,<0.8.0",
18
- "async_generator>=1.10,<2.0.0",
19
- "pytest-watch>=4.2.0,<5.0.0",
20
- "python-multipart>=0.0.22",
21
- "psutil>=5.8.0,<6.0.0",
10
+ "fastapi>=0.135,<1.0",
11
+ "uvicorn[standard]>=0.22.0,<1.0.0",
12
+ "requests>=2.33.0,<3.0.0",
13
+ "python-socketio>=5.16.2,<6.0.0",
14
+ "aiofiles>=0.7.0",
15
+ "python-multipart>=0.0.31",
16
+ "psutil>=5.9.0,<8.0.0",
22
17
  "numpy>=2.0,<3.0",
23
- "Pillow>=11.0.0,<12.0.0",
18
+ "Pillow>=12.3.0,<13.0.0",
24
19
  "tqdm>=4.66.3,<5.0.0",
25
- "pytest-mock>=3.6.1,<4.0.0",
26
- "pynvml>=11.4.1,<12.0.0",
27
- "aiohttp>=3.13.3,<4.0.0",
20
+ "pynvml>=11.4.1,<13.0.0", # 13 renames the distribution to nvidia-ml-py
21
+ "aiohttp>=3.14.3,<4.0.0",
28
22
  "httpx>=0.28.1,<0.29.0",
29
23
  "dacite>=1.8.1,<2.0.0",
30
24
  ]
@@ -32,6 +26,8 @@ dependencies = [
32
26
  [project.optional-dependencies]
33
27
  dev = [
34
28
  "pytest-flakefinder>=1.1.0,<2.0.0",
29
+ "pytest-mock>=3.6.1,<4.0.0",
30
+ "icecream>=2.1.0,<3.0.0",
35
31
  "retry>=0.9.2,<0.10.0",
36
32
  "debugpy>=1.6.7.post1,<2.0.0",
37
33
  "pytest-asyncio>=0.21.1,<0.22.0",
@@ -1,27 +0,0 @@
1
- fastapi<1.0,>=0.128
2
- uvicorn[standard]<0.23.0,>=0.22.0
3
- fastapi-utils<0.9.0,>=0.8.0
4
- requests<3.0.0,>=2.25.1
5
- python-socketio<6.0.0,>=5.7.2
6
- simplejson<4.0.0,>=3.17.2
7
- icecream<3.0.0,>=2.1.0
8
- aiofiles<0.8.0,>=0.7.0
9
- async_generator<2.0.0,>=1.10
10
- pytest-watch<5.0.0,>=4.2.0
11
- python-multipart>=0.0.22
12
- psutil<6.0.0,>=5.8.0
13
- numpy<3.0,>=2.0
14
- Pillow<12.0.0,>=11.0.0
15
- tqdm<5.0.0,>=4.66.3
16
- pytest-mock<4.0.0,>=3.6.1
17
- pynvml<12.0.0,>=11.4.1
18
- aiohttp<4.0.0,>=3.13.3
19
- httpx<0.29.0,>=0.28.1
20
- dacite<2.0.0,>=1.8.1
21
-
22
- [dev]
23
- pytest-flakefinder<2.0.0,>=1.1.0
24
- retry<0.10.0,>=0.9.2
25
- debugpy<2.0.0,>=1.6.7.post1
26
- pytest-asyncio<0.22.0,>=0.21.1
27
- autopep8<3.0.0,>=2.0.2