llms-py 3.0.0b2__tar.gz → 3.0.0b3__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 (96) hide show
  1. {llms_py-3.0.0b2 → llms_py-3.0.0b3}/PKG-INFO +1 -1
  2. llms_py-3.0.0b3/llms/__pycache__/main.cpython-314.pyc +0 -0
  3. {llms_py-3.0.0b2 → llms_py-3.0.0b3}/llms/index.html +2 -1
  4. {llms_py-3.0.0b2 → llms_py-3.0.0b3}/llms/llms.json +50 -17
  5. {llms_py-3.0.0b2 → llms_py-3.0.0b3}/llms/main.py +484 -544
  6. llms_py-3.0.0b3/llms/providers/__pycache__/anthropic.cpython-314.pyc +0 -0
  7. llms_py-3.0.0b3/llms/providers/__pycache__/chutes.cpython-314.pyc +0 -0
  8. llms_py-3.0.0b3/llms/providers/__pycache__/google.cpython-314.pyc +0 -0
  9. llms_py-3.0.0b3/llms/providers/__pycache__/nvidia.cpython-314.pyc +0 -0
  10. llms_py-3.0.0b3/llms/providers/__pycache__/openai.cpython-314.pyc +0 -0
  11. llms_py-3.0.0b3/llms/providers/__pycache__/openrouter.cpython-314.pyc +0 -0
  12. llms_py-3.0.0b3/llms/providers/anthropic.py +189 -0
  13. llms_py-3.0.0b3/llms/providers/chutes.py +152 -0
  14. llms_py-3.0.0b3/llms/providers/google.py +306 -0
  15. llms_py-3.0.0b3/llms/providers/nvidia.py +107 -0
  16. llms_py-3.0.0b3/llms/providers/openai.py +159 -0
  17. llms_py-3.0.0b3/llms/providers/openrouter.py +70 -0
  18. llms_py-3.0.0b3/llms/providers-extra.json +356 -0
  19. llms_py-3.0.0b3/llms/providers.json +1 -0
  20. llms_py-3.0.0b3/llms/ui/App.mjs +190 -0
  21. {llms_py-3.0.0b2 → llms_py-3.0.0b3}/llms/ui/ai.mjs +76 -10
  22. llms_py-3.0.0b3/llms/ui/app.css +2 -0
  23. llms_py-3.0.0b3/llms/ui/ctx.mjs +196 -0
  24. llms_py-3.0.0b3/llms/ui/index.mjs +117 -0
  25. llms_py-3.0.0b3/llms/ui/lib/charts.mjs +16 -0
  26. {llms_py-3.0.0b2 → llms_py-3.0.0b3}/llms/ui/markdown.mjs +6 -0
  27. llms_py-3.0.0b2/llms/ui/Analytics.mjs → llms_py-3.0.0b3/llms/ui/modules/analytics.mjs +76 -64
  28. llms_py-3.0.0b2/llms/ui/Main.mjs → llms_py-3.0.0b3/llms/ui/modules/chat/ChatBody.mjs +56 -133
  29. {llms_py-3.0.0b2/llms/ui → llms_py-3.0.0b3/llms/ui/modules/chat}/SettingsDialog.mjs +8 -8
  30. llms_py-3.0.0b2/llms/ui/ChatPrompt.mjs → llms_py-3.0.0b3/llms/ui/modules/chat/index.mjs +239 -45
  31. llms_py-3.0.0b3/llms/ui/modules/layout.mjs +267 -0
  32. llms_py-3.0.0b3/llms/ui/modules/model-selector.mjs +851 -0
  33. {llms_py-3.0.0b2/llms/ui → llms_py-3.0.0b3/llms/ui/modules/threads}/Recents.mjs +0 -2
  34. llms_py-3.0.0b2/llms/ui/Sidebar.mjs → llms_py-3.0.0b3/llms/ui/modules/threads/index.mjs +46 -44
  35. {llms_py-3.0.0b2/llms/ui → llms_py-3.0.0b3/llms/ui/modules/threads}/threadStore.mjs +10 -7
  36. llms_py-3.0.0b3/llms/ui/utils.mjs +188 -0
  37. {llms_py-3.0.0b2 → llms_py-3.0.0b3}/llms_py.egg-info/PKG-INFO +1 -1
  38. {llms_py-3.0.0b2 → llms_py-3.0.0b3}/llms_py.egg-info/SOURCES.txt +23 -16
  39. {llms_py-3.0.0b2 → llms_py-3.0.0b3}/pyproject.toml +2 -2
  40. {llms_py-3.0.0b2 → llms_py-3.0.0b3}/setup.py +3 -2
  41. {llms_py-3.0.0b2 → llms_py-3.0.0b3}/tests/test_config.py +3 -3
  42. llms_py-3.0.0b2/llms/__pycache__/main.cpython-314.pyc +0 -0
  43. llms_py-3.0.0b2/llms/providers.json +0 -1
  44. llms_py-3.0.0b2/llms/ui/App.mjs +0 -118
  45. llms_py-3.0.0b2/llms/ui/Avatar.mjs +0 -86
  46. llms_py-3.0.0b2/llms/ui/Brand.mjs +0 -52
  47. llms_py-3.0.0b2/llms/ui/OAuthSignIn.mjs +0 -61
  48. llms_py-3.0.0b2/llms/ui/ProviderIcon.mjs +0 -36
  49. llms_py-3.0.0b2/llms/ui/ProviderStatus.mjs +0 -104
  50. llms_py-3.0.0b2/llms/ui/SignIn.mjs +0 -65
  51. llms_py-3.0.0b2/llms/ui/Welcome.mjs +0 -8
  52. llms_py-3.0.0b2/llms/ui/app.css +0 -4963
  53. llms_py-3.0.0b2/llms/ui/index.mjs +0 -213
  54. llms_py-3.0.0b2/llms/ui/lib/charts.mjs +0 -20
  55. llms_py-3.0.0b2/llms/ui/model-selector.mjs +0 -686
  56. llms_py-3.0.0b2/llms/ui/utils.mjs +0 -229
  57. llms_py-3.0.0b2/llms/ui.json +0 -1069
  58. {llms_py-3.0.0b2 → llms_py-3.0.0b3}/LICENSE +0 -0
  59. {llms_py-3.0.0b2 → llms_py-3.0.0b3}/MANIFEST.in +0 -0
  60. {llms_py-3.0.0b2 → llms_py-3.0.0b3}/README.md +0 -0
  61. {llms_py-3.0.0b2 → llms_py-3.0.0b3}/llms/__init__.py +0 -0
  62. {llms_py-3.0.0b2 → llms_py-3.0.0b3}/llms/__main__.py +0 -0
  63. {llms_py-3.0.0b2 → llms_py-3.0.0b3}/llms/__pycache__/__init__.cpython-312.pyc +0 -0
  64. {llms_py-3.0.0b2 → llms_py-3.0.0b3}/llms/__pycache__/__init__.cpython-313.pyc +0 -0
  65. {llms_py-3.0.0b2 → llms_py-3.0.0b3}/llms/__pycache__/__init__.cpython-314.pyc +0 -0
  66. {llms_py-3.0.0b2 → llms_py-3.0.0b3}/llms/__pycache__/__main__.cpython-312.pyc +0 -0
  67. {llms_py-3.0.0b2 → llms_py-3.0.0b3}/llms/__pycache__/__main__.cpython-314.pyc +0 -0
  68. {llms_py-3.0.0b2 → llms_py-3.0.0b3}/llms/__pycache__/llms.cpython-312.pyc +0 -0
  69. {llms_py-3.0.0b2 → llms_py-3.0.0b3}/llms/__pycache__/main.cpython-312.pyc +0 -0
  70. {llms_py-3.0.0b2 → llms_py-3.0.0b3}/llms/__pycache__/main.cpython-313.pyc +0 -0
  71. {llms_py-3.0.0b2 → llms_py-3.0.0b3}/llms/__pycache__/plugins.cpython-314.pyc +0 -0
  72. {llms_py-3.0.0b2 → llms_py-3.0.0b3}/llms/ui/fav.svg +0 -0
  73. {llms_py-3.0.0b2 → llms_py-3.0.0b3}/llms/ui/lib/chart.js +0 -0
  74. {llms_py-3.0.0b2 → llms_py-3.0.0b3}/llms/ui/lib/color.js +0 -0
  75. {llms_py-3.0.0b2 → llms_py-3.0.0b3}/llms/ui/lib/highlight.min.mjs +0 -0
  76. {llms_py-3.0.0b2 → llms_py-3.0.0b3}/llms/ui/lib/idb.min.mjs +0 -0
  77. {llms_py-3.0.0b2 → llms_py-3.0.0b3}/llms/ui/lib/marked.min.mjs +0 -0
  78. {llms_py-3.0.0b2 → llms_py-3.0.0b3}/llms/ui/lib/servicestack-client.mjs +0 -0
  79. {llms_py-3.0.0b2 → llms_py-3.0.0b3}/llms/ui/lib/servicestack-vue.mjs +0 -0
  80. {llms_py-3.0.0b2 → llms_py-3.0.0b3}/llms/ui/lib/vue-router.min.mjs +0 -0
  81. {llms_py-3.0.0b2 → llms_py-3.0.0b3}/llms/ui/lib/vue.min.mjs +0 -0
  82. {llms_py-3.0.0b2 → llms_py-3.0.0b3}/llms/ui/lib/vue.mjs +0 -0
  83. {llms_py-3.0.0b2 → llms_py-3.0.0b3}/llms/ui/tailwind.input.css +0 -0
  84. {llms_py-3.0.0b2 → llms_py-3.0.0b3}/llms/ui/typography.css +0 -0
  85. {llms_py-3.0.0b2 → llms_py-3.0.0b3}/llms_py.egg-info/dependency_links.txt +0 -0
  86. {llms_py-3.0.0b2 → llms_py-3.0.0b3}/llms_py.egg-info/entry_points.txt +0 -0
  87. {llms_py-3.0.0b2 → llms_py-3.0.0b3}/llms_py.egg-info/not-zip-safe +0 -0
  88. {llms_py-3.0.0b2 → llms_py-3.0.0b3}/llms_py.egg-info/requires.txt +0 -0
  89. {llms_py-3.0.0b2 → llms_py-3.0.0b3}/llms_py.egg-info/top_level.txt +0 -0
  90. {llms_py-3.0.0b2 → llms_py-3.0.0b3}/requirements.txt +0 -0
  91. {llms_py-3.0.0b2 → llms_py-3.0.0b3}/setup.cfg +0 -0
  92. {llms_py-3.0.0b2 → llms_py-3.0.0b3}/tests/test_async.py +0 -0
  93. {llms_py-3.0.0b2 → llms_py-3.0.0b3}/tests/test_integration.py +0 -0
  94. {llms_py-3.0.0b2 → llms_py-3.0.0b3}/tests/test_provider_checks.py +0 -0
  95. {llms_py-3.0.0b2 → llms_py-3.0.0b3}/tests/test_provider_config.py +0 -0
  96. {llms_py-3.0.0b2 → llms_py-3.0.0b3}/tests/test_utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: llms-py
3
- Version: 3.0.0b2
3
+ Version: 3.0.0b3
4
4
  Summary: A lightweight CLI tool and OpenAI-compatible server for querying multiple Large Language Model (LLM) providers
5
5
  Home-page: https://github.com/ServiceStack/llms
6
6
  Author: ServiceStack
@@ -35,7 +35,8 @@
35
35
  "marked": "/ui/lib/marked.min.mjs",
36
36
  "highlight.js": "/ui/lib/highlight.min.mjs",
37
37
  "chart.js": "/ui/lib/chart.js",
38
- "color.js": "/ui/lib/color.js"
38
+ "color.js": "/ui/lib/color.js",
39
+ "ctx.mjs": "/ui/ctx.mjs"
39
40
  }
40
41
  }
41
42
  </script>
@@ -90,6 +90,23 @@
90
90
  }
91
91
  ]
92
92
  },
93
+ "out:image": {
94
+ "model": "black-forest-labs/flux.1-dev",
95
+ "messages": [
96
+ {
97
+ "role": "user",
98
+ "content": "Create a picture of a nano banana dish in a fancy restaurant with a Gemini theme"
99
+ }
100
+ ],
101
+ "modalities": [
102
+ "image",
103
+ "text"
104
+ ],
105
+ "image_config": {
106
+ "aspect_ratio": "9:16"
107
+ },
108
+ "stream": false
109
+ },
93
110
  "check": {
94
111
  "messages": [
95
112
  {
@@ -200,32 +217,20 @@
200
217
  "enabled": true,
201
218
  "temperature": 1.0
202
219
  },
203
- "openrouter_free": {
204
- "enabled": true,
205
- "id": "openrouter",
206
- "include_models": ":free$"
207
- },
208
220
  "ollama": {
209
- "enabled": false,
221
+ "enabled": true,
210
222
  "id": "ollama",
211
223
  "npm": "ollama",
212
224
  "api": "http://localhost:11434"
213
225
  },
214
226
  "lmstudio": {
215
- "enabled": false,
227
+ "enabled": true,
216
228
  "npm": "lmstudio",
217
229
  "api": "http://127.0.0.1:1234/v1",
218
230
  "models": {}
219
231
  },
220
232
  "google": {
221
233
  "enabled": true,
222
- "map_models": {
223
- "gemini-flash-latest": "gemini-flash-latest",
224
- "gemini-flash-lite-latest": "gemini-flash-lite-latest",
225
- "gemini-2.5-pro": "gemini-2.5-pro",
226
- "gemini-2.5-flash": "gemini-2.5-flash",
227
- "gemini-2.5-flash-lite": "gemini-2.5-flash-lite"
228
- },
229
234
  "safety_settings": [
230
235
  {
231
236
  "category": "HARM_CATEGORY_DANGEROUS_CONTENT",
@@ -310,7 +315,18 @@
310
315
  }
311
316
  },
312
317
  "chutes": {
313
- "enabled": true
318
+ "enabled": true,
319
+ "modalities": {
320
+ "image": {
321
+ "name": "Chutes Image",
322
+ "npm": "chutes/image",
323
+ "negative_prompt": "blur, distortion, low quality",
324
+ "cfg_scale": 7.5,
325
+ "width": 1024,
326
+ "height": 1024,
327
+ "steps": 50
328
+ }
329
+ }
314
330
  },
315
331
  "deepseek": {
316
332
  "enabled": true
@@ -319,7 +335,19 @@
319
335
  "enabled": false
320
336
  },
321
337
  "nvidia": {
322
- "enabled": true
338
+ "enabled": true,
339
+ "modalities": {
340
+ "image": {
341
+ "name": "NVIDIA Gen AI",
342
+ "npm": "nvidia/image",
343
+ "height": 1024,
344
+ "width": 1024,
345
+ "cfg_scale": 3.5,
346
+ "mode": "base",
347
+ "samples": 1,
348
+ "steps": 50
349
+ }
350
+ }
323
351
  },
324
352
  "huggingface": {
325
353
  "enabled": true
@@ -330,7 +358,12 @@
330
358
  "openrouter": {
331
359
  "enabled": true,
332
360
  "id": "openrouter",
333
- "exclude_models": ":free$"
361
+ "modalities": {
362
+ "image": {
363
+ "name": "OpenRouter Image",
364
+ "npm": "openrouter/image"
365
+ }
366
+ }
334
367
  }
335
368
  }
336
369
  }