nimbro-api 0.2.0__tar.gz → 0.2.2__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 (99) hide show
  1. {nimbro_api-0.2.0/src/nimbro_api.egg-info → nimbro_api-0.2.2}/PKG-INFO +20 -5
  2. {nimbro_api-0.2.0 → nimbro_api-0.2.2}/README.md +5 -4
  3. {nimbro_api-0.2.0 → nimbro_api-0.2.2}/pyproject.toml +21 -2
  4. {nimbro_api-0.2.0 → nimbro_api-0.2.2}/src/nimbro_api/api/misc/base/vlm_gist_base.py +211 -61
  5. {nimbro_api-0.2.0 → nimbro_api-0.2.2}/src/nimbro_api/api/misc/client/vlm_gist.py +30 -15
  6. {nimbro_api-0.2.0 → nimbro_api-0.2.2}/src/nimbro_api/api/misc/test/vlm_gist_test.py +27 -17
  7. {nimbro_api-0.2.0 → nimbro_api-0.2.2}/src/nimbro_api/api/nimbro_vision_servers/base/dam_base.py +6 -2
  8. {nimbro_api-0.2.0 → nimbro_api-0.2.2}/src/nimbro_api/api/nimbro_vision_servers/base/florence2_base.py +5 -1
  9. {nimbro_api-0.2.0 → nimbro_api-0.2.2}/src/nimbro_api/api/nimbro_vision_servers/base/kosmos2_base.py +6 -2
  10. {nimbro_api-0.2.0 → nimbro_api-0.2.2}/src/nimbro_api/api/nimbro_vision_servers/base/mmgroundingdino_base.py +6 -2
  11. {nimbro_api-0.2.0 → nimbro_api-0.2.2}/src/nimbro_api/api/nimbro_vision_servers/base/sam2_realtime_base.py +6 -2
  12. {nimbro_api-0.2.0 → nimbro_api-0.2.2}/src/nimbro_api/api/nimbro_vision_servers/client/mmgroundingdino.py +4 -5
  13. {nimbro_api-0.2.0 → nimbro_api-0.2.2}/src/nimbro_api/api/nimbro_vision_servers/test/sam2_realtime_test.py +1 -1
  14. {nimbro_api-0.2.0 → nimbro_api-0.2.2}/src/nimbro_api/api/nimbro_vision_servers/utility.py +26 -6
  15. {nimbro_api-0.2.0 → nimbro_api-0.2.2}/src/nimbro_api/api/openai/__init__.py +2 -1
  16. {nimbro_api-0.2.0 → nimbro_api-0.2.2}/src/nimbro_api/api/openai/base/chat_completions_base.py +14 -10
  17. nimbro_api-0.2.2/src/nimbro_api/api/openai/base/classify_base.py +224 -0
  18. {nimbro_api-0.2.0 → nimbro_api-0.2.2}/src/nimbro_api/api/openai/base/embeddings_base.py +5 -1
  19. {nimbro_api-0.2.0 → nimbro_api-0.2.2}/src/nimbro_api/api/openai/base/images_base.py +9 -9
  20. {nimbro_api-0.2.0 → nimbro_api-0.2.2}/src/nimbro_api/api/openai/base/speech_base.py +5 -1
  21. {nimbro_api-0.2.0 → nimbro_api-0.2.2}/src/nimbro_api/api/openai/base/transcriptions_base.py +5 -1
  22. {nimbro_api-0.2.0 → nimbro_api-0.2.2}/src/nimbro_api/api/openai/base/translations_base.py +5 -1
  23. {nimbro_api-0.2.0 → nimbro_api-0.2.2}/src/nimbro_api/api/openai/client/chat_completions.py +3 -2
  24. nimbro_api-0.2.2/src/nimbro_api/api/openai/client/classify.py +237 -0
  25. {nimbro_api-0.2.0 → nimbro_api-0.2.2}/src/nimbro_api/api/openai/client/images.py +6 -6
  26. {nimbro_api-0.2.0 → nimbro_api-0.2.2}/src/nimbro_api/api/openai/client/speech.py +2 -2
  27. {nimbro_api-0.2.0 → nimbro_api-0.2.2}/src/nimbro_api/api/openai/client/transcriptions.py +2 -2
  28. {nimbro_api-0.2.0 → nimbro_api-0.2.2}/src/nimbro_api/api/openai/client/translations.py +2 -2
  29. {nimbro_api-0.2.0 → nimbro_api-0.2.2}/src/nimbro_api/api/openai/test/chat_completions_test.py +236 -168
  30. nimbro_api-0.2.2/src/nimbro_api/api/openai/test/classify_test.py +72 -0
  31. {nimbro_api-0.2.0 → nimbro_api-0.2.2}/src/nimbro_api/api/openai/test/embeddings_test.py +1 -1
  32. {nimbro_api-0.2.0 → nimbro_api-0.2.2}/src/nimbro_api/api/openai/test/images_test.py +2 -2
  33. {nimbro_api-0.2.0 → nimbro_api-0.2.2}/src/nimbro_api/api/openai/test/speech_test.py +1 -1
  34. {nimbro_api-0.2.0 → nimbro_api-0.2.2}/src/nimbro_api/api/openai/utility.py +5 -1
  35. {nimbro_api-0.2.0 → nimbro_api-0.2.2}/src/nimbro_api/core/core.py +3 -1
  36. {nimbro_api-0.2.0 → nimbro_api-0.2.2}/src/nimbro_api/core/core_base.py +11 -10
  37. {nimbro_api-0.2.0 → nimbro_api-0.2.2}/src/nimbro_api/test/test.py +1 -1
  38. {nimbro_api-0.2.0 → nimbro_api-0.2.2}/src/nimbro_api/utility/api.py +13 -17
  39. {nimbro_api-0.2.0 → nimbro_api-0.2.2}/src/nimbro_api/utility/io.py +7 -3
  40. {nimbro_api-0.2.0 → nimbro_api-0.2.2}/src/nimbro_api/utility/misc.py +7 -2
  41. {nimbro_api-0.2.0 → nimbro_api-0.2.2}/src/nimbro_api/utility/visual.py +177 -163
  42. {nimbro_api-0.2.0 → nimbro_api-0.2.2/src/nimbro_api.egg-info}/PKG-INFO +20 -5
  43. {nimbro_api-0.2.0 → nimbro_api-0.2.2}/src/nimbro_api.egg-info/SOURCES.txt +3 -0
  44. nimbro_api-0.2.2/src/nimbro_api.egg-info/requires.txt +18 -0
  45. nimbro_api-0.2.0/src/nimbro_api.egg-info/requires.txt +0 -1
  46. {nimbro_api-0.2.0 → nimbro_api-0.2.2}/LICENSE +0 -0
  47. {nimbro_api-0.2.0 → nimbro_api-0.2.2}/setup.cfg +0 -0
  48. {nimbro_api-0.2.0 → nimbro_api-0.2.2}/src/nimbro_api/__init__.py +0 -0
  49. {nimbro_api-0.2.0 → nimbro_api-0.2.2}/src/nimbro_api/api/__init__.py +0 -0
  50. {nimbro_api-0.2.0 → nimbro_api-0.2.2}/src/nimbro_api/api/misc/__init__.py +0 -0
  51. {nimbro_api-0.2.0 → nimbro_api-0.2.2}/src/nimbro_api/api/misc/base/__init__.py +0 -0
  52. {nimbro_api-0.2.0 → nimbro_api-0.2.2}/src/nimbro_api/api/misc/base/no_base.py +0 -0
  53. {nimbro_api-0.2.0 → nimbro_api-0.2.2}/src/nimbro_api/api/misc/client/__init__.py +0 -0
  54. {nimbro_api-0.2.0 → nimbro_api-0.2.2}/src/nimbro_api/api/misc/client/no.py +0 -0
  55. {nimbro_api-0.2.0 → nimbro_api-0.2.2}/src/nimbro_api/api/misc/test/__init__.py +0 -0
  56. {nimbro_api-0.2.0 → nimbro_api-0.2.2}/src/nimbro_api/api/misc/test/no_test.py +0 -0
  57. {nimbro_api-0.2.0 → nimbro_api-0.2.2}/src/nimbro_api/api/nimbro_vision_servers/__init__.py +0 -0
  58. {nimbro_api-0.2.0 → nimbro_api-0.2.2}/src/nimbro_api/api/nimbro_vision_servers/base/__init__.py +0 -0
  59. {nimbro_api-0.2.0 → nimbro_api-0.2.2}/src/nimbro_api/api/nimbro_vision_servers/client/__init__.py +0 -0
  60. {nimbro_api-0.2.0 → nimbro_api-0.2.2}/src/nimbro_api/api/nimbro_vision_servers/client/dam.py +0 -0
  61. {nimbro_api-0.2.0 → nimbro_api-0.2.2}/src/nimbro_api/api/nimbro_vision_servers/client/florence2.py +0 -0
  62. {nimbro_api-0.2.0 → nimbro_api-0.2.2}/src/nimbro_api/api/nimbro_vision_servers/client/kosmos2.py +0 -0
  63. {nimbro_api-0.2.0 → nimbro_api-0.2.2}/src/nimbro_api/api/nimbro_vision_servers/client/sam2_realtime.py +0 -0
  64. {nimbro_api-0.2.0 → nimbro_api-0.2.2}/src/nimbro_api/api/nimbro_vision_servers/test/__init__.py +0 -0
  65. {nimbro_api-0.2.0 → nimbro_api-0.2.2}/src/nimbro_api/api/nimbro_vision_servers/test/dam_test.py +0 -0
  66. {nimbro_api-0.2.0 → nimbro_api-0.2.2}/src/nimbro_api/api/nimbro_vision_servers/test/florence2_test.py +0 -0
  67. {nimbro_api-0.2.0 → nimbro_api-0.2.2}/src/nimbro_api/api/nimbro_vision_servers/test/kosmos2_test.py +0 -0
  68. {nimbro_api-0.2.0 → nimbro_api-0.2.2}/src/nimbro_api/api/nimbro_vision_servers/test/mmgroundingdino_test.py +0 -0
  69. {nimbro_api-0.2.0 → nimbro_api-0.2.2}/src/nimbro_api/api/openai/base/__init__.py +0 -0
  70. {nimbro_api-0.2.0 → nimbro_api-0.2.2}/src/nimbro_api/api/openai/client/__init__.py +0 -0
  71. {nimbro_api-0.2.0 → nimbro_api-0.2.2}/src/nimbro_api/api/openai/client/embeddings.py +0 -0
  72. {nimbro_api-0.2.0 → nimbro_api-0.2.2}/src/nimbro_api/api/openai/parser/__init__.py +0 -0
  73. {nimbro_api-0.2.0 → nimbro_api-0.2.2}/src/nimbro_api/api/openai/parser/json_decode.py +0 -0
  74. {nimbro_api-0.2.0 → nimbro_api-0.2.2}/src/nimbro_api/api/openai/parser/pointing_molmo.py +0 -0
  75. {nimbro_api-0.2.0 → nimbro_api-0.2.2}/src/nimbro_api/api/openai/parser/pointing_qwen.py +0 -0
  76. {nimbro_api-0.2.0 → nimbro_api-0.2.2}/src/nimbro_api/api/openai/parser/reasoning_extract.py +0 -0
  77. {nimbro_api-0.2.0 → nimbro_api-0.2.2}/src/nimbro_api/api/openai/parser/string_normalize.py +0 -0
  78. {nimbro_api-0.2.0 → nimbro_api-0.2.2}/src/nimbro_api/api/openai/parser/string_strip.py +0 -0
  79. {nimbro_api-0.2.0 → nimbro_api-0.2.2}/src/nimbro_api/api/openai/parser/template.py +0 -0
  80. {nimbro_api-0.2.0 → nimbro_api-0.2.2}/src/nimbro_api/api/openai/test/__init__.py +0 -0
  81. {nimbro_api-0.2.0 → nimbro_api-0.2.2}/src/nimbro_api/api/openai/test/transcriptions_test.py +0 -0
  82. {nimbro_api-0.2.0 → nimbro_api-0.2.2}/src/nimbro_api/api/openai/test/translations_test.py +0 -0
  83. {nimbro_api-0.2.0 → nimbro_api-0.2.2}/src/nimbro_api/api/openai/voice_presets.json +0 -0
  84. {nimbro_api-0.2.0 → nimbro_api-0.2.2}/src/nimbro_api/client/__init__.py +0 -0
  85. {nimbro_api-0.2.0 → nimbro_api-0.2.2}/src/nimbro_api/client/client.py +0 -0
  86. {nimbro_api-0.2.0 → nimbro_api-0.2.2}/src/nimbro_api/client/client_base.py +0 -0
  87. {nimbro_api-0.2.0 → nimbro_api-0.2.2}/src/nimbro_api/core/__init__.py +0 -0
  88. {nimbro_api-0.2.0 → nimbro_api-0.2.2}/src/nimbro_api/fonts/DejaVuSans.ttf +0 -0
  89. {nimbro_api-0.2.0 → nimbro_api-0.2.2}/src/nimbro_api/fonts/LICENSE +0 -0
  90. {nimbro_api-0.2.0 → nimbro_api-0.2.2}/src/nimbro_api/test/__init__.py +0 -0
  91. {nimbro_api-0.2.0 → nimbro_api-0.2.2}/src/nimbro_api/test/assets/test.mp4 +0 -0
  92. {nimbro_api-0.2.0 → nimbro_api-0.2.2}/src/nimbro_api/test/assets/test.pdf +0 -0
  93. {nimbro_api-0.2.0 → nimbro_api-0.2.2}/src/nimbro_api/test/assets/test.png +0 -0
  94. {nimbro_api-0.2.0 → nimbro_api-0.2.2}/src/nimbro_api/test/assets/test.wav +0 -0
  95. {nimbro_api-0.2.0 → nimbro_api-0.2.2}/src/nimbro_api/utility/__init__.py +0 -0
  96. {nimbro_api-0.2.0 → nimbro_api-0.2.2}/src/nimbro_api/utility/logger.py +0 -0
  97. {nimbro_api-0.2.0 → nimbro_api-0.2.2}/src/nimbro_api/utility/string.py +0 -0
  98. {nimbro_api-0.2.0 → nimbro_api-0.2.2}/src/nimbro_api.egg-info/dependency_links.txt +0 -0
  99. {nimbro_api-0.2.0 → nimbro_api-0.2.2}/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.0
3
+ Version: 0.2.2
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>
@@ -29,6 +29,20 @@ Requires-Python: >=3.9
29
29
  Description-Content-Type: text/markdown
30
30
  License-File: LICENSE
31
31
  Requires-Dist: requests>=2.31.0
32
+ Provides-Extra: fast
33
+ Requires-Dist: orjson; extra == "fast"
34
+ Requires-Dist: pybase64; extra == "fast"
35
+ Provides-Extra: visual
36
+ Requires-Dist: numpy; extra == "visual"
37
+ Requires-Dist: pillow; extra == "visual"
38
+ Requires-Dist: opencv-python; extra == "visual"
39
+ Provides-Extra: full
40
+ Requires-Dist: orjson; extra == "full"
41
+ Requires-Dist: pybase64; extra == "full"
42
+ Requires-Dist: numpy; extra == "full"
43
+ Requires-Dist: pillow; extra == "full"
44
+ Requires-Dist: opencv-python; extra == "full"
45
+ Requires-Dist: jsonschema; extra == "full"
32
46
  Dynamic: license-file
33
47
 
34
48
  # NimbRo API
@@ -52,11 +66,12 @@ Dynamic: license-file
52
66
  | Client | API Docs |
53
67
  |--------|----------|
54
68
  | [nimbro_api.openai.ChatCompletions](https://github.com/ptzld/nimbro-api/blob/main/src/nimbro_api/api/openai/client/chat_completions.py) | [Chat Completions](https://developers.openai.com/api/reference/resources/chat/subresources/completions/methods/create) |
69
+ | [nimbro_api.openai.Classify](https://github.com/ptzld/nimbro-api/blob/main/src/nimbro_api/api/openai/client/classify.py) | [Classify](https://docs.vllm.ai/en/latest/models/pooling_models/classify) |
55
70
  | [nimbro_api.openai.Embeddings](https://github.com/ptzld/nimbro-api/blob/main/src/nimbro_api/api/openai/client/embeddings.py) | [Embeddings](https://developers.openai.com/api/reference/resources/embeddings/methods/create) |
56
71
  | [nimbro_api.openai.Images](https://github.com/ptzld/nimbro-api/blob/main/src/nimbro_api/api/openai/client/images.py) | [Images](https://developers.openai.com/api/reference/resources/images/methods/generate) |
57
- | [nimbro_api.openai.Speech](https://github.com/ptzld/nimbro-api/blob/main/src/nimbro_api/api/openai/client/speech.py) | [Speech](https://platform.openai.com/docs/api-reference/audio/createSpeech) |
58
- | [nimbro_api.openai.Transcriptions](https://github.com/ptzld/nimbro-api/blob/main/src/nimbro_api/api/openai/client/transcriptions.py) | [Transcriptions](https://platform.openai.com/docs/api-reference/audio/createTranscription) |
59
- | [nimbro_api.openai.Translations](https://github.com/ptzld/nimbro-api/blob/main/src/nimbro_api/api/openai/client/translations.py) | [Translations](https://platform.openai.com/docs/api-reference/audio/createTranslation) |
72
+ | [nimbro_api.openai.Speech](https://github.com/ptzld/nimbro-api/blob/main/src/nimbro_api/api/openai/client/speech.py) | [Speech](https://developers.openai.com/api/reference/resources/audio/subresources/speech/methods/create) |
73
+ | [nimbro_api.openai.Transcriptions](https://github.com/ptzld/nimbro-api/blob/main/src/nimbro_api/api/openai/client/transcriptions.py) | [Transcriptions](https://developers.openai.com/api/reference/resources/audio/subresources/transcriptions/methods/create) |
74
+ | [nimbro_api.openai.Translations](https://github.com/ptzld/nimbro-api/blob/main/src/nimbro_api/api/openai/client/translations.py) | [Translations](https://developers.openai.com/api/reference/resources/audio/subresources/translations/methods/create) |
60
75
 
61
76
  ##### NimbRo Vision Servers
62
77
 
@@ -110,7 +125,7 @@ Create and use a [ChatCompletions](https://github.com/ptzld/nimbro-api/blob/main
110
125
  ```python
111
126
  import nimbro_api
112
127
  # nimbro_api.set_api_key(name="OPENROUTER_API_KEY", key="supersecretkey") # alternatively, set API key here
113
- client = nimbro_api.openai.ChatCompletions(endpoint="OpenRouter", model="google/gemini-3-flash-preview")
128
+ client = nimbro_api.openai.ChatCompletions(endpoint="OpenRouter", model="~google/gemini-flash-latest")
114
129
  success, message, response = client.prompt(text="Tell me a joke!")
115
130
  ```
116
131
 
@@ -19,11 +19,12 @@
19
19
  | Client | API Docs |
20
20
  |--------|----------|
21
21
  | [nimbro_api.openai.ChatCompletions](https://github.com/ptzld/nimbro-api/blob/main/src/nimbro_api/api/openai/client/chat_completions.py) | [Chat Completions](https://developers.openai.com/api/reference/resources/chat/subresources/completions/methods/create) |
22
+ | [nimbro_api.openai.Classify](https://github.com/ptzld/nimbro-api/blob/main/src/nimbro_api/api/openai/client/classify.py) | [Classify](https://docs.vllm.ai/en/latest/models/pooling_models/classify) |
22
23
  | [nimbro_api.openai.Embeddings](https://github.com/ptzld/nimbro-api/blob/main/src/nimbro_api/api/openai/client/embeddings.py) | [Embeddings](https://developers.openai.com/api/reference/resources/embeddings/methods/create) |
23
24
  | [nimbro_api.openai.Images](https://github.com/ptzld/nimbro-api/blob/main/src/nimbro_api/api/openai/client/images.py) | [Images](https://developers.openai.com/api/reference/resources/images/methods/generate) |
24
- | [nimbro_api.openai.Speech](https://github.com/ptzld/nimbro-api/blob/main/src/nimbro_api/api/openai/client/speech.py) | [Speech](https://platform.openai.com/docs/api-reference/audio/createSpeech) |
25
- | [nimbro_api.openai.Transcriptions](https://github.com/ptzld/nimbro-api/blob/main/src/nimbro_api/api/openai/client/transcriptions.py) | [Transcriptions](https://platform.openai.com/docs/api-reference/audio/createTranscription) |
26
- | [nimbro_api.openai.Translations](https://github.com/ptzld/nimbro-api/blob/main/src/nimbro_api/api/openai/client/translations.py) | [Translations](https://platform.openai.com/docs/api-reference/audio/createTranslation) |
25
+ | [nimbro_api.openai.Speech](https://github.com/ptzld/nimbro-api/blob/main/src/nimbro_api/api/openai/client/speech.py) | [Speech](https://developers.openai.com/api/reference/resources/audio/subresources/speech/methods/create) |
26
+ | [nimbro_api.openai.Transcriptions](https://github.com/ptzld/nimbro-api/blob/main/src/nimbro_api/api/openai/client/transcriptions.py) | [Transcriptions](https://developers.openai.com/api/reference/resources/audio/subresources/transcriptions/methods/create) |
27
+ | [nimbro_api.openai.Translations](https://github.com/ptzld/nimbro-api/blob/main/src/nimbro_api/api/openai/client/translations.py) | [Translations](https://developers.openai.com/api/reference/resources/audio/subresources/translations/methods/create) |
27
28
 
28
29
  ##### NimbRo Vision Servers
29
30
 
@@ -77,7 +78,7 @@ Create and use a [ChatCompletions](https://github.com/ptzld/nimbro-api/blob/main
77
78
  ```python
78
79
  import nimbro_api
79
80
  # nimbro_api.set_api_key(name="OPENROUTER_API_KEY", key="supersecretkey") # alternatively, set API key here
80
- client = nimbro_api.openai.ChatCompletions(endpoint="OpenRouter", model="google/gemini-3-flash-preview")
81
+ client = nimbro_api.openai.ChatCompletions(endpoint="OpenRouter", model="~google/gemini-flash-latest")
81
82
  success, message, response = client.prompt(text="Tell me a joke!")
82
83
  ```
83
84
 
@@ -4,14 +4,14 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "nimbro-api"
7
- version = "0.2.0"
7
+ version = "0.2.2"
8
8
  description = "A robust and flexible framework for API clients in Python"
9
9
  readme = "README.md"
10
10
  license = "BSD-3-Clause"
11
11
  license-files = ["LICENSE"]
12
12
  requires-python = ">=3.9"
13
13
  dependencies = [
14
- "requests>=2.31.0"
14
+ "requests>=2.31.0",
15
15
  ]
16
16
 
17
17
  authors = [
@@ -42,6 +42,25 @@ classifiers = [
42
42
  "Operating System :: MacOS",
43
43
  ]
44
44
 
45
+ [project.optional-dependencies]
46
+ fast = [
47
+ "orjson",
48
+ "pybase64",
49
+ ]
50
+ visual = [
51
+ "numpy",
52
+ "pillow",
53
+ "opencv-python",
54
+ ]
55
+ full = [
56
+ "orjson",
57
+ "pybase64",
58
+ "numpy",
59
+ "pillow",
60
+ "opencv-python",
61
+ "jsonschema",
62
+ ]
63
+
45
64
  [project.urls]
46
65
  Homepage = "https://www.ais.uni-bonn.de/index.html"
47
66
  Repository = "https://github.com/ptzld/nimbro-api"