nimbro-api 0.2.2__tar.gz → 0.2.3__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 (98) hide show
  1. {nimbro_api-0.2.2/src/nimbro_api.egg-info → nimbro_api-0.2.3}/PKG-INFO +1 -1
  2. {nimbro_api-0.2.2 → nimbro_api-0.2.3}/pyproject.toml +1 -1
  3. {nimbro_api-0.2.2 → nimbro_api-0.2.3}/src/nimbro_api/api/misc/client/no.py +17 -6
  4. {nimbro_api-0.2.2 → nimbro_api-0.2.3}/src/nimbro_api/api/misc/client/vlm_gist.py +11 -0
  5. {nimbro_api-0.2.2 → nimbro_api-0.2.3}/src/nimbro_api/api/misc/test/vlm_gist_test.py +5 -0
  6. {nimbro_api-0.2.2 → nimbro_api-0.2.3}/src/nimbro_api/api/nimbro_vision_servers/client/dam.py +17 -6
  7. {nimbro_api-0.2.2 → nimbro_api-0.2.3}/src/nimbro_api/api/nimbro_vision_servers/client/florence2.py +17 -6
  8. {nimbro_api-0.2.2 → nimbro_api-0.2.3}/src/nimbro_api/api/nimbro_vision_servers/client/kosmos2.py +17 -6
  9. {nimbro_api-0.2.2 → nimbro_api-0.2.3}/src/nimbro_api/api/nimbro_vision_servers/client/mmgroundingdino.py +17 -6
  10. {nimbro_api-0.2.2 → nimbro_api-0.2.3}/src/nimbro_api/api/nimbro_vision_servers/client/sam2_realtime.py +17 -6
  11. {nimbro_api-0.2.2 → nimbro_api-0.2.3}/src/nimbro_api/api/openai/base/chat_completions_base.py +156 -132
  12. {nimbro_api-0.2.2 → nimbro_api-0.2.3}/src/nimbro_api/api/openai/client/chat_completions.py +18 -7
  13. {nimbro_api-0.2.2 → nimbro_api-0.2.3}/src/nimbro_api/api/openai/client/classify.py +18 -7
  14. {nimbro_api-0.2.2 → nimbro_api-0.2.3}/src/nimbro_api/api/openai/client/embeddings.py +18 -7
  15. {nimbro_api-0.2.2 → nimbro_api-0.2.3}/src/nimbro_api/api/openai/client/images.py +18 -7
  16. {nimbro_api-0.2.2 → nimbro_api-0.2.3}/src/nimbro_api/api/openai/client/speech.py +18 -7
  17. {nimbro_api-0.2.2 → nimbro_api-0.2.3}/src/nimbro_api/api/openai/client/transcriptions.py +18 -7
  18. {nimbro_api-0.2.2 → nimbro_api-0.2.3}/src/nimbro_api/api/openai/client/translations.py +18 -7
  19. {nimbro_api-0.2.2 → nimbro_api-0.2.3}/src/nimbro_api/client/client.py +6 -4
  20. {nimbro_api-0.2.2 → nimbro_api-0.2.3}/src/nimbro_api/client/client_base.py +10 -8
  21. {nimbro_api-0.2.2 → nimbro_api-0.2.3}/src/nimbro_api/core/core.py +4 -2
  22. {nimbro_api-0.2.2 → nimbro_api-0.2.3}/src/nimbro_api/core/core_base.py +10 -26
  23. {nimbro_api-0.2.2 → nimbro_api-0.2.3}/src/nimbro_api/test/test.py +18 -15
  24. {nimbro_api-0.2.2 → nimbro_api-0.2.3}/src/nimbro_api/utility/io.py +23 -16
  25. {nimbro_api-0.2.2 → nimbro_api-0.2.3}/src/nimbro_api/utility/misc.py +26 -18
  26. {nimbro_api-0.2.2 → nimbro_api-0.2.3/src/nimbro_api.egg-info}/PKG-INFO +1 -1
  27. {nimbro_api-0.2.2 → nimbro_api-0.2.3}/LICENSE +0 -0
  28. {nimbro_api-0.2.2 → nimbro_api-0.2.3}/README.md +0 -0
  29. {nimbro_api-0.2.2 → nimbro_api-0.2.3}/setup.cfg +0 -0
  30. {nimbro_api-0.2.2 → nimbro_api-0.2.3}/src/nimbro_api/__init__.py +0 -0
  31. {nimbro_api-0.2.2 → nimbro_api-0.2.3}/src/nimbro_api/api/__init__.py +0 -0
  32. {nimbro_api-0.2.2 → nimbro_api-0.2.3}/src/nimbro_api/api/misc/__init__.py +0 -0
  33. {nimbro_api-0.2.2 → nimbro_api-0.2.3}/src/nimbro_api/api/misc/base/__init__.py +0 -0
  34. {nimbro_api-0.2.2 → nimbro_api-0.2.3}/src/nimbro_api/api/misc/base/no_base.py +0 -0
  35. {nimbro_api-0.2.2 → nimbro_api-0.2.3}/src/nimbro_api/api/misc/base/vlm_gist_base.py +0 -0
  36. {nimbro_api-0.2.2 → nimbro_api-0.2.3}/src/nimbro_api/api/misc/client/__init__.py +0 -0
  37. {nimbro_api-0.2.2 → nimbro_api-0.2.3}/src/nimbro_api/api/misc/test/__init__.py +0 -0
  38. {nimbro_api-0.2.2 → nimbro_api-0.2.3}/src/nimbro_api/api/misc/test/no_test.py +0 -0
  39. {nimbro_api-0.2.2 → nimbro_api-0.2.3}/src/nimbro_api/api/nimbro_vision_servers/__init__.py +0 -0
  40. {nimbro_api-0.2.2 → nimbro_api-0.2.3}/src/nimbro_api/api/nimbro_vision_servers/base/__init__.py +0 -0
  41. {nimbro_api-0.2.2 → nimbro_api-0.2.3}/src/nimbro_api/api/nimbro_vision_servers/base/dam_base.py +0 -0
  42. {nimbro_api-0.2.2 → nimbro_api-0.2.3}/src/nimbro_api/api/nimbro_vision_servers/base/florence2_base.py +0 -0
  43. {nimbro_api-0.2.2 → nimbro_api-0.2.3}/src/nimbro_api/api/nimbro_vision_servers/base/kosmos2_base.py +0 -0
  44. {nimbro_api-0.2.2 → nimbro_api-0.2.3}/src/nimbro_api/api/nimbro_vision_servers/base/mmgroundingdino_base.py +0 -0
  45. {nimbro_api-0.2.2 → nimbro_api-0.2.3}/src/nimbro_api/api/nimbro_vision_servers/base/sam2_realtime_base.py +0 -0
  46. {nimbro_api-0.2.2 → nimbro_api-0.2.3}/src/nimbro_api/api/nimbro_vision_servers/client/__init__.py +0 -0
  47. {nimbro_api-0.2.2 → nimbro_api-0.2.3}/src/nimbro_api/api/nimbro_vision_servers/test/__init__.py +0 -0
  48. {nimbro_api-0.2.2 → nimbro_api-0.2.3}/src/nimbro_api/api/nimbro_vision_servers/test/dam_test.py +0 -0
  49. {nimbro_api-0.2.2 → nimbro_api-0.2.3}/src/nimbro_api/api/nimbro_vision_servers/test/florence2_test.py +0 -0
  50. {nimbro_api-0.2.2 → nimbro_api-0.2.3}/src/nimbro_api/api/nimbro_vision_servers/test/kosmos2_test.py +0 -0
  51. {nimbro_api-0.2.2 → nimbro_api-0.2.3}/src/nimbro_api/api/nimbro_vision_servers/test/mmgroundingdino_test.py +0 -0
  52. {nimbro_api-0.2.2 → nimbro_api-0.2.3}/src/nimbro_api/api/nimbro_vision_servers/test/sam2_realtime_test.py +0 -0
  53. {nimbro_api-0.2.2 → nimbro_api-0.2.3}/src/nimbro_api/api/nimbro_vision_servers/utility.py +0 -0
  54. {nimbro_api-0.2.2 → nimbro_api-0.2.3}/src/nimbro_api/api/openai/__init__.py +0 -0
  55. {nimbro_api-0.2.2 → nimbro_api-0.2.3}/src/nimbro_api/api/openai/base/__init__.py +0 -0
  56. {nimbro_api-0.2.2 → nimbro_api-0.2.3}/src/nimbro_api/api/openai/base/classify_base.py +0 -0
  57. {nimbro_api-0.2.2 → nimbro_api-0.2.3}/src/nimbro_api/api/openai/base/embeddings_base.py +0 -0
  58. {nimbro_api-0.2.2 → nimbro_api-0.2.3}/src/nimbro_api/api/openai/base/images_base.py +0 -0
  59. {nimbro_api-0.2.2 → nimbro_api-0.2.3}/src/nimbro_api/api/openai/base/speech_base.py +0 -0
  60. {nimbro_api-0.2.2 → nimbro_api-0.2.3}/src/nimbro_api/api/openai/base/transcriptions_base.py +0 -0
  61. {nimbro_api-0.2.2 → nimbro_api-0.2.3}/src/nimbro_api/api/openai/base/translations_base.py +0 -0
  62. {nimbro_api-0.2.2 → nimbro_api-0.2.3}/src/nimbro_api/api/openai/client/__init__.py +0 -0
  63. {nimbro_api-0.2.2 → nimbro_api-0.2.3}/src/nimbro_api/api/openai/parser/__init__.py +0 -0
  64. {nimbro_api-0.2.2 → nimbro_api-0.2.3}/src/nimbro_api/api/openai/parser/json_decode.py +0 -0
  65. {nimbro_api-0.2.2 → nimbro_api-0.2.3}/src/nimbro_api/api/openai/parser/pointing_molmo.py +0 -0
  66. {nimbro_api-0.2.2 → nimbro_api-0.2.3}/src/nimbro_api/api/openai/parser/pointing_qwen.py +0 -0
  67. {nimbro_api-0.2.2 → nimbro_api-0.2.3}/src/nimbro_api/api/openai/parser/reasoning_extract.py +0 -0
  68. {nimbro_api-0.2.2 → nimbro_api-0.2.3}/src/nimbro_api/api/openai/parser/string_normalize.py +0 -0
  69. {nimbro_api-0.2.2 → nimbro_api-0.2.3}/src/nimbro_api/api/openai/parser/string_strip.py +0 -0
  70. {nimbro_api-0.2.2 → nimbro_api-0.2.3}/src/nimbro_api/api/openai/parser/template.py +0 -0
  71. {nimbro_api-0.2.2 → nimbro_api-0.2.3}/src/nimbro_api/api/openai/test/__init__.py +0 -0
  72. {nimbro_api-0.2.2 → nimbro_api-0.2.3}/src/nimbro_api/api/openai/test/chat_completions_test.py +0 -0
  73. {nimbro_api-0.2.2 → nimbro_api-0.2.3}/src/nimbro_api/api/openai/test/classify_test.py +0 -0
  74. {nimbro_api-0.2.2 → nimbro_api-0.2.3}/src/nimbro_api/api/openai/test/embeddings_test.py +0 -0
  75. {nimbro_api-0.2.2 → nimbro_api-0.2.3}/src/nimbro_api/api/openai/test/images_test.py +0 -0
  76. {nimbro_api-0.2.2 → nimbro_api-0.2.3}/src/nimbro_api/api/openai/test/speech_test.py +0 -0
  77. {nimbro_api-0.2.2 → nimbro_api-0.2.3}/src/nimbro_api/api/openai/test/transcriptions_test.py +0 -0
  78. {nimbro_api-0.2.2 → nimbro_api-0.2.3}/src/nimbro_api/api/openai/test/translations_test.py +0 -0
  79. {nimbro_api-0.2.2 → nimbro_api-0.2.3}/src/nimbro_api/api/openai/utility.py +0 -0
  80. {nimbro_api-0.2.2 → nimbro_api-0.2.3}/src/nimbro_api/api/openai/voice_presets.json +0 -0
  81. {nimbro_api-0.2.2 → nimbro_api-0.2.3}/src/nimbro_api/client/__init__.py +0 -0
  82. {nimbro_api-0.2.2 → nimbro_api-0.2.3}/src/nimbro_api/core/__init__.py +0 -0
  83. {nimbro_api-0.2.2 → nimbro_api-0.2.3}/src/nimbro_api/fonts/DejaVuSans.ttf +0 -0
  84. {nimbro_api-0.2.2 → nimbro_api-0.2.3}/src/nimbro_api/fonts/LICENSE +0 -0
  85. {nimbro_api-0.2.2 → nimbro_api-0.2.3}/src/nimbro_api/test/__init__.py +0 -0
  86. {nimbro_api-0.2.2 → nimbro_api-0.2.3}/src/nimbro_api/test/assets/test.mp4 +0 -0
  87. {nimbro_api-0.2.2 → nimbro_api-0.2.3}/src/nimbro_api/test/assets/test.pdf +0 -0
  88. {nimbro_api-0.2.2 → nimbro_api-0.2.3}/src/nimbro_api/test/assets/test.png +0 -0
  89. {nimbro_api-0.2.2 → nimbro_api-0.2.3}/src/nimbro_api/test/assets/test.wav +0 -0
  90. {nimbro_api-0.2.2 → nimbro_api-0.2.3}/src/nimbro_api/utility/__init__.py +0 -0
  91. {nimbro_api-0.2.2 → nimbro_api-0.2.3}/src/nimbro_api/utility/api.py +0 -0
  92. {nimbro_api-0.2.2 → nimbro_api-0.2.3}/src/nimbro_api/utility/logger.py +0 -0
  93. {nimbro_api-0.2.2 → nimbro_api-0.2.3}/src/nimbro_api/utility/string.py +0 -0
  94. {nimbro_api-0.2.2 → nimbro_api-0.2.3}/src/nimbro_api/utility/visual.py +0 -0
  95. {nimbro_api-0.2.2 → nimbro_api-0.2.3}/src/nimbro_api.egg-info/SOURCES.txt +0 -0
  96. {nimbro_api-0.2.2 → nimbro_api-0.2.3}/src/nimbro_api.egg-info/dependency_links.txt +0 -0
  97. {nimbro_api-0.2.2 → nimbro_api-0.2.3}/src/nimbro_api.egg-info/requires.txt +0 -0
  98. {nimbro_api-0.2.2 → nimbro_api-0.2.3}/src/nimbro_api.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: nimbro-api
3
- Version: 0.2.2
3
+ Version: 0.2.3
4
4
  Summary: A robust and flexible framework for API clients in Python
5
5
  Author-email: Bastian Pätzold <paetzoldbastian@gmail.com>
6
6
  Maintainer-email: Bastian Pätzold <paetzoldbastian@gmail.com>
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "nimbro-api"
7
- version = "0.2.2"
7
+ version = "0.2.3"
8
8
  description = "A robust and flexible framework for API clients in Python"
9
9
  readme = "README.md"
10
10
  license = "BSD-3-Clause"
@@ -28,6 +28,16 @@ class No(Client):
28
28
  def __init__(self, settings=None, **kwargs):
29
29
  """
30
30
  Create an Client implementing the no-as-a-service API (https://github.com/hotheadhacker/no-as-a-service).
31
+
32
+ Args:
33
+ settings (dict | None, optional):
34
+ Settings initializing the object. Settings not contained are initialized to their default values.
35
+ See the documentation of `get_settings()` for a comprehensive list of all available settings.
36
+ Nested settings can be specified using dot-separated keys (e.g., "a.b.c" is equivalent to {"a": {"b": {"c": ...}}}).
37
+ Use `None` to initialize with default settings. Defaults to `None`.
38
+ **kwargs:
39
+ All settings (see `get_settings()`) can also be initialized via keyword arguments.
40
+ When doing so, 'settings' must be `None` or an empty `dict`.
31
41
  """
32
42
  super().__init__(client_base=NoBase, settings=settings, default_settings=default_settings, **kwargs)
33
43
 
@@ -45,13 +55,13 @@ class No(Client):
45
55
  Logger severity in ["debug", "info", "warn", "error", "fatal", "off"] (str) or `None` to adopt global process-wide severity.
46
56
  logger_name (str | None):
47
57
  Logger name shown in each log identifying this object.
48
- endpoints (dict[dict]):
49
- Endpoint definitions pointing to providers of the v1 Chat Completions API.
50
- - Each endpoint must be a dictionary (`dict`), with the required keys "api_url", "key_type", and "key_value".
51
- - The value of 'key_type' must be either "environment" or "plain".
58
+ endpoints (dict):
59
+ Endpoint definitions mapping names (`str`) to endpoints/providers (`dict`) of the targeted API.
60
+ - Each endpoint must be a dictionary (`dict`), with the required key 'api_url'.
61
+ - All values must be non-empty strings (`str`).
52
62
  endpoint (str | dict):
53
- Name of the endpoint to be used from the list of defined 'endpoints'.
54
- Pass an endpoint definition (`dict`) to automatically add/update the definition and select it.
63
+ Name of the defined endpoint to be used from the list of keys in setting 'endpoints'.
64
+ Pass an endpoint definition (`dict`) with the addional key 'name' to automatically add/update the setting 'endpoints' and select it.
55
65
  timeout_connect (float | int | None):
56
66
  Time in seconds waited for connecting to the 'endpoint', or `None` to wait indefinitely.
57
67
  timeout_read (float | int | None):
@@ -80,6 +90,7 @@ class No(Client):
80
90
  settings (dict | None, optional):
81
91
  New settings to apply. Settings not contained are kept.
82
92
  See the documentation of `get_settings()` for a comprehensive list of all available settings.
93
+ Nested settings can be specified using dot-separated keys (e.g., "a.b.c" is equivalent to {"a": {"b": {"c": ...}}}).
83
94
  Use `None` to reset all settings to their initial values. Defaults to `None`.
84
95
  **kwargs:
85
96
  All settings (see `get_settings()`) can also be configured via keyword arguments.
@@ -112,6 +112,16 @@ class VlmGist(Client):
112
112
  def __init__(self, settings=None, **kwargs):
113
113
  """
114
114
  Create an Client implementing VLM-GIST (https://arxiv.org/abs/2503.16538).
115
+
116
+ Args:
117
+ settings (dict | None, optional):
118
+ Settings initializing the object. Settings not contained are initialized to their default values.
119
+ See the documentation of `get_settings()` for a comprehensive list of all available settings.
120
+ Nested settings can be specified using dot-separated keys (e.g., "a.b.c" is equivalent to {"a": {"b": {"c": ...}}}).
121
+ Use `None` to initialize with default settings. Defaults to `None`.
122
+ **kwargs:
123
+ All settings (see `get_settings()`) can also be initialized via keyword arguments.
124
+ When doing so, 'settings' must be `None` or an empty `dict`.
115
125
  """
116
126
  super().__init__(client_base=VlmGistBase, settings=settings, default_settings=default_settings, **kwargs)
117
127
 
@@ -221,6 +231,7 @@ class VlmGist(Client):
221
231
  settings (dict | None, optional):
222
232
  New settings to apply. Settings not contained are kept.
223
233
  See the documentation of `get_settings()` for a comprehensive list of all available settings.
234
+ Nested settings can be specified using dot-separated keys (e.g., "a.b.c" is equivalent to {"a": {"b": {"c": ...}}}).
224
235
  Use `None` to reset all settings to their initial values. Defaults to `None`.
225
236
  **kwargs:
226
237
  All settings (see `get_settings()`) can also be configured via keyword arguments.
@@ -592,6 +592,11 @@ def test_13_parallel_threads(n=10):
592
592
 
593
593
  def test_14_parallel_multiprocessing(n=10):
594
594
  client = VlmGist(settings={
595
+ 'scene_description.chat_completions.logger_severity': "off",
596
+ 'structured_description.chat_completions.logger_severity': "off",
597
+ 'detection.mmgroundingdino.logger_severity': "off",
598
+ 'segmentation.sam2_realtime.logger_severity': "off",
599
+ 'batch.logger_severity': "off",
595
600
  'batch.size': n,
596
601
  'batch.style': "multiprocessing",
597
602
  'batch.retry': 2,
@@ -44,6 +44,16 @@ class Dam(Client):
44
44
  def __init__(self, settings=None, **kwargs):
45
45
  """
46
46
  Create an Client implementing the NimbRo Vision Servers API for the Describe Anything Model (https://github.com/AIS-Bonn/nimbro_vision_servers/tree/main/models/dam).
47
+
48
+ Args:
49
+ settings (dict | None, optional):
50
+ Settings initializing the object. Settings not contained are initialized to their default values.
51
+ See the documentation of `get_settings()` for a comprehensive list of all available settings.
52
+ Nested settings can be specified using dot-separated keys (e.g., "a.b.c" is equivalent to {"a": {"b": {"c": ...}}}).
53
+ Use `None` to initialize with default settings. Defaults to `None`.
54
+ **kwargs:
55
+ All settings (see `get_settings()`) can also be initialized via keyword arguments.
56
+ When doing so, 'settings' must be `None` or an empty `dict`.
47
57
  """
48
58
  super().__init__(client_base=DamBase, settings=settings, default_settings=default_settings, **kwargs)
49
59
 
@@ -63,14 +73,14 @@ class Dam(Client):
63
73
  Logger name shown in each log identifying this object.
64
74
  message_results (bool):
65
75
  Include results in successful response messages when using `get_descriptions()`.
66
- endpoints (dict[dict]):
67
- Endpoint definitions pointing to providers of the NimbRo Vision Servers API for the Describe Anything Model.
68
- - Each endpoint must be a dictionary (`dict`), with the required keys "api_url", "key_type", and "key_value".
76
+ endpoints (dict):
77
+ Endpoint definitions mapping names (`str`) to endpoints/providers (`dict`) of the targeted API.
78
+ - Each endpoint must be a dictionary (`dict`), with the required keys 'api_flavor', 'api_url', 'key_type', and 'key_value'.
69
79
  - The value of 'key_type' must be either "environment" or "plain".
70
- - All values must be non-empty strings (`str`).
80
+ - All values must be non-empty strings (`str`), except 'key_value', which may be empty.
71
81
  endpoint (str | dict):
72
- Name of the endpoint to be used from the list of defined 'endpoints'.
73
- Pass an endpoint definition (`dict`) to automatically add/update the definition and select it.
82
+ Name of the defined endpoint to be used from the list of keys in setting 'endpoints'.
83
+ Pass an endpoint definition (`dict`) with the addional key 'name' to automatically add/update the setting 'endpoints' and select it.
74
84
  validate_health (float | int | bool):
75
85
  Validate the set 'endpoint' is healthy when using `get_descriptions()`:
76
86
  - Use `float` or `int` to set the time in seconds permitted for cached responses to be reused before requesting a new one.
@@ -125,6 +135,7 @@ class Dam(Client):
125
135
  settings (dict | None, optional):
126
136
  New settings to apply. Settings not contained are kept.
127
137
  See the documentation of `get_settings()` for a comprehensive list of all available settings.
138
+ Nested settings can be specified using dot-separated keys (e.g., "a.b.c" is equivalent to {"a": {"b": {"c": ...}}}).
128
139
  Use `None` to reset all settings to their initial values. Defaults to `None`.
129
140
  **kwargs:
130
141
  All settings (see `get_settings()`) can also be configured via keyword arguments.
@@ -42,6 +42,16 @@ class Florence2(Client):
42
42
  def __init__(self, settings=None, **kwargs):
43
43
  """
44
44
  Create an Client implementing the NimbRo Vision Servers API for Florence-2 (https://github.com/AIS-Bonn/nimbro_vision_servers/tree/main/models/florence2).
45
+
46
+ Args:
47
+ settings (dict | None, optional):
48
+ Settings initializing the object. Settings not contained are initialized to their default values.
49
+ See the documentation of `get_settings()` for a comprehensive list of all available settings.
50
+ Nested settings can be specified using dot-separated keys (e.g., "a.b.c" is equivalent to {"a": {"b": {"c": ...}}}).
51
+ Use `None` to initialize with default settings. Defaults to `None`.
52
+ **kwargs:
53
+ All settings (see `get_settings()`) can also be initialized via keyword arguments.
54
+ When doing so, 'settings' must be `None` or an empty `dict`.
45
55
  """
46
56
  super().__init__(client_base=Florence2Base, settings=settings, default_settings=default_settings, **kwargs)
47
57
 
@@ -61,14 +71,14 @@ class Florence2(Client):
61
71
  Logger name shown in each log identifying this object.
62
72
  message_results (bool):
63
73
  Include results in successful response messages when using `get_response()`.
64
- endpoints (dict[dict]):
65
- Endpoint definitions pointing to providers of the NimbRo Vision Servers API for Florence-2.
66
- - Each endpoint must be a dictionary (`dict`), with the required keys "api_url", "key_type", and "key_value".
74
+ endpoints (dict):
75
+ Endpoint definitions mapping names (`str`) to endpoints/providers (`dict`) of the targeted API.
76
+ - Each endpoint must be a dictionary (`dict`), with the required keys 'api_flavor', 'api_url', 'key_type', and 'key_value'.
67
77
  - The value of 'key_type' must be either "environment" or "plain".
68
- - All values must be non-empty strings (`str`).
78
+ - All values must be non-empty strings (`str`), except 'key_value', which may be empty.
69
79
  endpoint (str | dict):
70
- Name of the endpoint to be used from the list of defined 'endpoints'.
71
- Pass an endpoint definition (`dict`) to automatically add/update the definition and select it.
80
+ Name of the defined endpoint to be used from the list of keys in setting 'endpoints'.
81
+ Pass an endpoint definition (`dict`) with the addional key 'name' to automatically add/update the setting 'endpoints' and select it.
72
82
  validate_health (float | int | bool):
73
83
  Validate the set 'endpoint' is healthy when using `get_response()`:
74
84
  - Use `float` or `int` to set the time in seconds permitted for cached responses to be reused before requesting a new one.
@@ -121,6 +131,7 @@ class Florence2(Client):
121
131
  settings (dict | None, optional):
122
132
  New settings to apply. Settings not contained are kept.
123
133
  See the documentation of `get_settings()` for a comprehensive list of all available settings.
134
+ Nested settings can be specified using dot-separated keys (e.g., "a.b.c" is equivalent to {"a": {"b": {"c": ...}}}).
124
135
  Use `None` to reset all settings to their initial values. Defaults to `None`.
125
136
  **kwargs:
126
137
  All settings (see `get_settings()`) can also be configured via keyword arguments.
@@ -42,6 +42,16 @@ class Kosmos2(Client):
42
42
  def __init__(self, settings=None, **kwargs):
43
43
  """
44
44
  Create an Client implementing the NimbRo Vision Servers API for Kosmos-2 (https://github.com/AIS-Bonn/nimbro_vision_servers/tree/main/models/kosmos2).
45
+
46
+ Args:
47
+ settings (dict | None, optional):
48
+ Settings initializing the object. Settings not contained are initialized to their default values.
49
+ See the documentation of `get_settings()` for a comprehensive list of all available settings.
50
+ Nested settings can be specified using dot-separated keys (e.g., "a.b.c" is equivalent to {"a": {"b": {"c": ...}}}).
51
+ Use `None` to initialize with default settings. Defaults to `None`.
52
+ **kwargs:
53
+ All settings (see `get_settings()`) can also be initialized via keyword arguments.
54
+ When doing so, 'settings' must be `None` or an empty `dict`.
45
55
  """
46
56
  super().__init__(client_base=Kosmos2Base, settings=settings, default_settings=default_settings, **kwargs)
47
57
 
@@ -61,14 +71,14 @@ class Kosmos2(Client):
61
71
  Logger name shown in each log identifying this object.
62
72
  message_results (bool):
63
73
  Include results in successful response messages when using `get_response()`.
64
- endpoints (dict[dict]):
65
- Endpoint definitions pointing to providers of the NimbRo Vision Servers API for Kosmos-2.
66
- - Each endpoint must be a dictionary (`dict`), with the required keys "api_url", "key_type", and "key_value".
74
+ endpoints (dict):
75
+ Endpoint definitions mapping names (`str`) to endpoints/providers (`dict`) of the targeted API.
76
+ - Each endpoint must be a dictionary (`dict`), with the required keys 'api_flavor', 'api_url', 'key_type', and 'key_value'.
67
77
  - The value of 'key_type' must be either "environment" or "plain".
68
- - All values must be non-empty strings (`str`).
78
+ - All values must be non-empty strings (`str`), except 'key_value', which may be empty.
69
79
  endpoint (str | dict):
70
- Name of the endpoint to be used from the list of defined 'endpoints'.
71
- Pass an endpoint definition (`dict`) to automatically add/update the definition and select it.
80
+ Name of the defined endpoint to be used from the list of keys in setting 'endpoints'.
81
+ Pass an endpoint definition (`dict`) with the addional key 'name' to automatically add/update the setting 'endpoints' and select it.
72
82
  validate_health (float | int | bool):
73
83
  Validate the set 'endpoint' is healthy when using `get_response()`:
74
84
  - Use `float` or `int` to set the time in seconds permitted for cached responses to be reused before requesting a new one.
@@ -119,6 +129,7 @@ class Kosmos2(Client):
119
129
  settings (dict | None, optional):
120
130
  New settings to apply. Settings not contained are kept.
121
131
  See the documentation of `get_settings()` for a comprehensive list of all available settings.
132
+ Nested settings can be specified using dot-separated keys (e.g., "a.b.c" is equivalent to {"a": {"b": {"c": ...}}}).
122
133
  Use `None` to reset all settings to their initial values. Defaults to `None`.
123
134
  **kwargs:
124
135
  All settings (see `get_settings()`) can also be configured via keyword arguments.
@@ -41,6 +41,16 @@ class MmGroundingDino(Client):
41
41
  def __init__(self, settings=None, **kwargs):
42
42
  """
43
43
  Create an Client implementing the NimbRo Vision Servers API for MM-Grounding-DINO and LLMDet (https://github.com/AIS-Bonn/nimbro_vision_servers/tree/main/models/mmgroundingdino).
44
+
45
+ Args:
46
+ settings (dict | None, optional):
47
+ Settings initializing the object. Settings not contained are initialized to their default values.
48
+ See the documentation of `get_settings()` for a comprehensive list of all available settings.
49
+ Nested settings can be specified using dot-separated keys (e.g., "a.b.c" is equivalent to {"a": {"b": {"c": ...}}}).
50
+ Use `None` to initialize with default settings. Defaults to `None`.
51
+ **kwargs:
52
+ All settings (see `get_settings()`) can also be initialized via keyword arguments.
53
+ When doing so, 'settings' must be `None` or an empty `dict`.
44
54
  """
45
55
  super().__init__(client_base=MmGroundingDinoBase, settings=settings, default_settings=default_settings, **kwargs)
46
56
 
@@ -60,14 +70,14 @@ class MmGroundingDino(Client):
60
70
  Logger name shown in each log identifying this object.
61
71
  message_results (bool):
62
72
  Include results in successful response messages when using `get_detections()`.
63
- endpoints (dict[dict]):
64
- Endpoint definitions pointing to providers of the NimbRo Vision Servers API for MM-Grounding-DINO and LLMDet.
65
- - Each endpoint must be a dictionary (`dict`), with the required keys "api_url", "key_type", and "key_value".
73
+ endpoints (dict):
74
+ Endpoint definitions mapping names (`str`) to endpoints/providers (`dict`) of the targeted API.
75
+ - Each endpoint must be a dictionary (`dict`), with the required keys 'api_flavor', 'api_url', 'key_type', and 'key_value'.
66
76
  - The value of 'key_type' must be either "environment" or "plain".
67
- - All values must be non-empty strings (`str`).
77
+ - All values must be non-empty strings (`str`), except 'key_value', which may be empty.
68
78
  endpoint (str | dict):
69
- Name of the endpoint to be used from the list of defined 'endpoints'.
70
- Pass an endpoint definition (`dict`) to automatically add/update the definition and select it.
79
+ Name of the defined endpoint to be used from the list of keys in setting 'endpoints'.
80
+ Pass an endpoint definition (`dict`) with the addional key 'name' to automatically add/update the setting 'endpoints' and select it.
71
81
  validate_health (float | int | bool):
72
82
  Validate the set 'endpoint' is healthy when using `get_detections()`:
73
83
  - Use `float` or `int` to set the time in seconds permitted for cached responses to be reused before requesting a new one.
@@ -121,6 +131,7 @@ class MmGroundingDino(Client):
121
131
  settings (dict | None, optional):
122
132
  New settings to apply. Settings not contained are kept.
123
133
  See the documentation of `get_settings()` for a comprehensive list of all available settings.
134
+ Nested settings can be specified using dot-separated keys (e.g., "a.b.c" is equivalent to {"a": {"b": {"c": ...}}}).
124
135
  Use `None` to reset all settings to their initial values. Defaults to `None`.
125
136
  **kwargs:
126
137
  All settings (see `get_settings()`) can also be configured via keyword arguments.
@@ -37,6 +37,16 @@ class Sam2Realtime(Client):
37
37
  def __init__(self, settings=None, **kwargs):
38
38
  """
39
39
  Create an Client implementing the NimbRo Vision Servers API for the Segment Anything Model 2 real-time (https://github.com/AIS-Bonn/nimbro_vision_servers/tree/main/models/sam2_realtime).
40
+
41
+ Args:
42
+ settings (dict | None, optional):
43
+ Settings initializing the object. Settings not contained are initialized to their default values.
44
+ See the documentation of `get_settings()` for a comprehensive list of all available settings.
45
+ Nested settings can be specified using dot-separated keys (e.g., "a.b.c" is equivalent to {"a": {"b": {"c": ...}}}).
46
+ Use `None` to initialize with default settings. Defaults to `None`.
47
+ **kwargs:
48
+ All settings (see `get_settings()`) can also be initialized via keyword arguments.
49
+ When doing so, 'settings' must be `None` or an empty `dict`.
40
50
  """
41
51
  super().__init__(client_base=Sam2RealtimeBase, settings=settings, default_settings=default_settings, **kwargs)
42
52
 
@@ -56,14 +66,14 @@ class Sam2Realtime(Client):
56
66
  Logger name shown in each log identifying this object.
57
67
  message_results (bool):
58
68
  Include results in successful response messages when using `get_response()`.
59
- endpoints (dict[dict]):
60
- Endpoint definitions pointing to providers of the NimbRo Vision Servers API for the Segment Anything Model 2 real-time.
61
- - Each endpoint must be a dictionary (`dict`), with the required keys "api_url", "key_type", and "key_value".
69
+ endpoints (dict):
70
+ Endpoint definitions mapping names (`str`) to endpoints/providers (`dict`) of the targeted API.
71
+ - Each endpoint must be a dictionary (`dict`), with the required keys 'api_flavor', 'api_url', 'key_type', and 'key_value'.
62
72
  - The value of 'key_type' must be either "environment" or "plain".
63
- - All values must be non-empty strings (`str`).
73
+ - All values must be non-empty strings (`str`), except 'key_value', which may be empty.
64
74
  endpoint (str | dict):
65
- Name of the endpoint to be used from the list of defined 'endpoints'.
66
- Pass an endpoint definition (`dict`) to automatically add/update the definition and select it.
75
+ Name of the defined endpoint to be used from the list of keys in setting 'endpoints'.
76
+ Pass an endpoint definition (`dict`) with the addional key 'name' to automatically add/update the setting 'endpoints' and select it.
67
77
  validate_health (float | int | bool):
68
78
  Validate the set 'endpoint' is healthy when using `get_response()`:
69
79
  - Use `float` or `int` to set the time in seconds permitted for cached responses to be reused before requesting a new one.
@@ -107,6 +117,7 @@ class Sam2Realtime(Client):
107
117
  settings (dict | None, optional):
108
118
  New settings to apply. Settings not contained are kept.
109
119
  See the documentation of `get_settings()` for a comprehensive list of all available settings.
120
+ Nested settings can be specified using dot-separated keys (e.g., "a.b.c" is equivalent to {"a": {"b": {"c": ...}}}).
110
121
  Use `None` to reset all settings to their initial values. Defaults to `None`.
111
122
  **kwargs:
112
123
  All settings (see `get_settings()`) can also be configured via keyword arguments.