janito 3.14.0__py3-none-any.whl → 3.14.2__py3-none-any.whl

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.
@@ -133,4 +133,24 @@ MODEL_SPECS = {
133
133
  thinking=False,
134
134
  max_cot=65536,
135
135
  ),
136
+ "qwen-omni-turbo": LLMModelInfo(
137
+ name="qwen-omni-turbo",
138
+ context=32768,
139
+ max_response=2048,
140
+ category="Alibaba Qwen Omni Turbo Model (OpenAI-compatible)",
141
+ driver="OpenAIModelDriver",
142
+ thinking_supported=False,
143
+ thinking=False,
144
+ max_cot=2048,
145
+ ),
146
+ "qwen3-coder-flash": LLMModelInfo(
147
+ name="qwen3-coder-flash",
148
+ context=1000000,
149
+ max_response=65536,
150
+ category="Alibaba Qwen3 Coder Flash Model (OpenAI-compatible)",
151
+ driver="OpenAIModelDriver",
152
+ thinking_supported=True,
153
+ thinking=False,
154
+ max_cot=65536,
155
+ ),
136
156
  }
@@ -1,37 +1,16 @@
1
- MODEL_SPECS = {
2
- "deepseek-chat": {
3
- "description": "DeepSeek Chat Model (OpenAI-compatible)",
4
- "context_window": 8192,
5
- "max_tokens": 4096,
6
- "family": "deepseek",
7
- "default": True,
8
- },
9
- "deepseek-reasoner": {
10
- "description": "DeepSeek Reasoner Model (OpenAI-compatible)",
11
- "context_window": 8192,
12
- "max_tokens": 4096,
13
- "family": "deepseek",
14
- "default": False,
15
- },
16
- "deepseek-v3.1": {
17
- "description": "DeepSeek V3.1 Model (128K context, OpenAI-compatible)",
18
- "context_window": 131072,
19
- "max_tokens": 4096,
20
- "family": "deepseek",
21
- "default": False,
22
- },
23
- "deepseek-v3.1-base": {
24
- "description": "DeepSeek V3.1 Base Model (128K context, OpenAI-compatible)",
25
- "context_window": 131072,
26
- "max_tokens": 4096,
27
- "family": "deepseek",
28
- "default": False,
29
- },
30
- "deepseek-r1": {
31
- "description": "DeepSeek R1 Model (128K context, OpenAI-compatible)",
32
- "context_window": 131072,
33
- "max_tokens": 4096,
34
- "family": "deepseek",
35
- "default": False,
36
- },
37
- }
1
+ from janito.llm.model import LLMModelInfo
2
+
3
+ MODEL_SPECS = {
4
+ "deepseek-chat": LLMModelInfo(
5
+ name="deepseek-chat",
6
+ context=131072, # 128K context
7
+ max_response=4096, # Default 4K, Maximum 8K
8
+ driver="OpenAIModelDriver",
9
+ ),
10
+ "deepseek-reasoner": LLMModelInfo(
11
+ name="deepseek-reasoner",
12
+ context=131072, # 128K context
13
+ max_response=32768, # Default 32K, Maximum 64K
14
+ driver="OpenAIModelDriver",
15
+ ),
16
+ }
@@ -19,7 +19,7 @@ class DeepSeekProvider(LLMProvider):
19
19
  NAME = "deepseek" # For backward compatibility
20
20
  MAINTAINER = "João Pinto <janito@ikignosis.org>"
21
21
  MODEL_SPECS = MODEL_SPECS
22
- DEFAULT_MODEL = "deepseek-chat" # Options: deepseek-chat, deepseek-reasoner, deepseek-v3.1, deepseek-v3.1-base, deepseek-r1
22
+ DEFAULT_MODEL = "deepseek-chat" # Options: deepseek-chat, deepseek-reasoner
23
23
  available = OpenAIModelDriver.available
24
24
  unavailable_reason = OpenAIModelDriver.unavailable_reason
25
25
 
@@ -51,7 +51,6 @@ class DeepSeekProvider(LLMProvider):
51
51
  if not getattr(self.config, "base_url", None):
52
52
  self.config.base_url = "https://api.deepseek.com/v1"
53
53
 
54
- @property
55
54
  def create_driver(self) -> OpenAIModelDriver:
56
55
  """
57
56
  Create and return a new OpenAIModelDriver instance for DeepSeek.
@@ -75,4 +74,6 @@ class DeepSeekProvider(LLMProvider):
75
74
  return self.tools_adapter.execute_by_name(tool_name, *args, **kwargs)
76
75
 
77
76
 
78
- # Registration handled by providers/__init__.py to avoid circular imports
77
+ # Registration
78
+ from janito.providers.registry import LLMProviderRegistry
79
+ LLMProviderRegistry.register(DeepSeekProvider.name, DeepSeekProvider)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: janito
3
- Version: 3.14.0
3
+ Version: 3.14.2
4
4
  Summary: A new Python package called janito.
5
5
  Author-email: João Pinto <janito@ikignosis.org>
6
6
  Project-URL: Homepage, https://github.com/ikignosis/janito
@@ -51,9 +51,6 @@ Run "janito <command> --help" for more information on a command.
51
51
  # If you have go already installed
52
52
  go install github.com/ninech/janito@latest
53
53
 
54
- # Homebrew
55
- brew install ninech/taps/janito
56
-
57
54
  # Debian/Ubuntu
58
55
  echo "deb [trusted=yes] https://repo.nine.ch/deb/ /" | sudo tee /etc/apt/sources.list.d/repo.nine.ch.list
59
56
  sudo apt-get update
@@ -206,7 +206,7 @@ janito/providers/__init__.py,sha256=LNF-KSuO7YyPMoRQNU6_ejxQAPAVeznsXXTTFvU44ag,
206
206
  janito/providers/dashscope.bak.zip,sha256=BwXxRmZreEivvRtmqbr5BR62IFVlNjAf4y6DrF2BVJo,5998
207
207
  janito/providers/registry.py,sha256=Ygwv9eVrTXOKhv0EKxSWQXO5WMHvajWE2Q_Lc3p7dKo,730
208
208
  janito/providers/alibaba/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
209
- janito/providers/alibaba/model_info.py,sha256=A1DL-NCFC6WhEirSfOHTXeFT14pSPvLRbV_DCbaO4jo,4893
209
+ janito/providers/alibaba/model_info.py,sha256=XNDDEH9g7gsllizel3VhmWeHrIt75PVQ43zrcluKF3A,5526
210
210
  janito/providers/alibaba/provider.py,sha256=HhDtHk6F7HW_KBhX5ixtJlKmS3ELZc3G7aYr0qeqS5k,3483
211
211
  janito/providers/anthropic/model_info.py,sha256=m6pBh0Ia8_xC1KZ7ke_4HeHIFw7nWjnYVItnRpkCSWc,1206
212
212
  janito/providers/anthropic/provider.py,sha256=x_aAP7dJ64rXk6ZbzjcF8VH8y8JV9Bko_Yx5SXjPLwc,2810
@@ -216,8 +216,8 @@ janito/providers/cerebras/__init__.py,sha256=w7VvVDG-AmW7axvt80TSM_HvAM7MjtH_2yM
216
216
  janito/providers/cerebras/model_info.py,sha256=kfIYk9ypKyrSSBCtyXZejDGexSkerBqNhaU1_sQQPKw,2176
217
217
  janito/providers/cerebras/provider.py,sha256=UBnl4Q1tpI4BdGtKlvvyzSrToAAo2Z2Q4sGrQ2nWklA,2835
218
218
  janito/providers/deepseek/__init__.py,sha256=4sISEpq4bJO29vxFK9cfnO-SRUmKoD7oSdeCvz0hVno,36
219
- janito/providers/deepseek/model_info.py,sha256=CzpdcUjDSjx43REcf9TydI5MrFM7quljXfEThZYo2C4,1176
220
- janito/providers/deepseek/provider.py,sha256=_yVjbDktLqctkeu0eZEjXvjaZLa3lQg4k5ruqrFnXNI,3040
219
+ janito/providers/deepseek/model_info.py,sha256=MzLeoFM1UiOxubxDUP2vHmJD-oa_T2j1FXnok7fU4hw,474
220
+ janito/providers/deepseek/provider.py,sha256=Bw-r4t06ccvbUNZiG-rKbhIW2qjhgokARN2Tei3DTKU,3047
221
221
  janito/providers/google/__init__.py,sha256=hE3OGJvLEhvNLhIK_XmCGIdrIj8MKlyGgdOLJ4mdess,38
222
222
  janito/providers/google/model_info.py,sha256=AakTmzvWm1GPvFzGAq6-PeE_Dpq7BmAAqmh3L8N5KKo,1126
223
223
  janito/providers/google/provider.py,sha256=2Ur89rpXuREWzI6rTkpZVVt7ajfMKZGXVSbVGEj2xEI,2900
@@ -266,9 +266,9 @@ janito/tools/tool_utils.py,sha256=alPm9DvtXSw_zPRKvP5GjbebPRf_nfvmWk2TNlL5Cws,12
266
266
  janito/tools/tools_adapter.py,sha256=3Phjw34mOqG0KvXzQpZKIWigfSgZWRvdYuSdvV7Dj4M,21965
267
267
  janito/tools/tools_schema.py,sha256=rGrKrmpPNR07VXHAJ_haGBRRO-YGLOF51BlYRep9AAQ,4415
268
268
  janito/tools/url_whitelist.py,sha256=0CPLkHTp5HgnwgjxwgXnJmwPeZQ30q4j3YjW59hiUUE,4295
269
- janito-3.14.0.dist-info/licenses/LICENSE,sha256=dXV4fOF2ZErugtN8l_Nrj5tsRTYgtjE3cgiya0UfBio,11356
270
- janito-3.14.0.dist-info/METADATA,sha256=o_wzLSBDQKlaju9C6KzaPJtZKUAjZk_YtqMmF3Hl84E,2330
271
- janito-3.14.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
272
- janito-3.14.0.dist-info/entry_points.txt,sha256=wIo5zZxbmu4fC-ZMrsKD0T0vq7IqkOOLYhrqRGypkx4,48
273
- janito-3.14.0.dist-info/top_level.txt,sha256=m0NaVCq0-ivxbazE2-ND0EA9Hmuijj_OGkmCbnBcCig,7
274
- janito-3.14.0.dist-info/RECORD,,
269
+ janito-3.14.2.dist-info/licenses/LICENSE,sha256=dXV4fOF2ZErugtN8l_Nrj5tsRTYgtjE3cgiya0UfBio,11356
270
+ janito-3.14.2.dist-info/METADATA,sha256=BAWSZ472qW9QqYe-C1VIpZLN7SJqN53F91dYFzgJ8To,2286
271
+ janito-3.14.2.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
272
+ janito-3.14.2.dist-info/entry_points.txt,sha256=wIo5zZxbmu4fC-ZMrsKD0T0vq7IqkOOLYhrqRGypkx4,48
273
+ janito-3.14.2.dist-info/top_level.txt,sha256=m0NaVCq0-ivxbazE2-ND0EA9Hmuijj_OGkmCbnBcCig,7
274
+ janito-3.14.2.dist-info/RECORD,,