llms-py 3.0.0b5__py3-none-any.whl → 3.0.0b6__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.
Binary file
llms/main.py CHANGED
@@ -40,7 +40,7 @@ try:
40
40
  except ImportError:
41
41
  HAS_PIL = False
42
42
 
43
- VERSION = "3.0.0b5"
43
+ VERSION = "3.0.0b6"
44
44
  _ROOT = None
45
45
  DEBUG = True # os.getenv("PYPI_SERVICESTACK") is not None
46
46
  MOCK = False
@@ -1073,8 +1073,9 @@ async def chat_completion(chat):
1073
1073
  include_all_tools = False
1074
1074
  only_tools = []
1075
1075
  if "metadata" in chat:
1076
- only_tools = chat["metadata"].get("only_tools", "").split(",")
1077
- include_all_tools = only_tools == "all"
1076
+ only_tools_str = chat["metadata"].get("only_tools", "")
1077
+ include_all_tools = only_tools_str == "all"
1078
+ only_tools = only_tools_str.split(",")
1078
1079
 
1079
1080
  if include_all_tools or len(only_tools) > 0:
1080
1081
  if "tools" not in current_chat:
@@ -2452,9 +2453,29 @@ def main():
2452
2453
  requirements_path = os.path.join(target_path, "requirements.txt")
2453
2454
  if os.path.exists(requirements_path):
2454
2455
  print(f"Installing dependencies from {requirements_path}...")
2455
- subprocess.run(
2456
- [sys.executable, "-m", "pip", "install", "-r", "requirements.txt"], cwd=target_path, check=True
2457
- )
2456
+
2457
+ # Check if uv is installed
2458
+ has_uv = False
2459
+ try:
2460
+ subprocess.run(
2461
+ ["uv", "--version"], stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL, check=True
2462
+ )
2463
+ has_uv = True
2464
+ except (subprocess.CalledProcessError, FileNotFoundError):
2465
+ pass
2466
+
2467
+ if has_uv:
2468
+ subprocess.run(
2469
+ ["uv", "pip", "install", "-p", sys.executable, "-r", "requirements.txt"],
2470
+ cwd=target_path,
2471
+ check=True,
2472
+ )
2473
+ else:
2474
+ subprocess.run(
2475
+ [sys.executable, "-m", "pip", "install", "-r", "requirements.txt"],
2476
+ cwd=target_path,
2477
+ check=True,
2478
+ )
2458
2479
  print("Dependencies installed successfully.")
2459
2480
 
2460
2481
  print(f"Extension {target_name} installed successfully.")
llms/ui/ai.mjs CHANGED
@@ -5,7 +5,7 @@ const headers = { 'Accept': 'application/json' }
5
5
  const prefsKey = 'llms.prefs'
6
6
 
7
7
  export const o = {
8
- version: '3.0.0b5',
8
+ version: '3.0.0b6',
9
9
  base,
10
10
  prefsKey,
11
11
  welcome: 'Welcome to llms.py',
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: llms-py
3
- Version: 3.0.0b5
3
+ Version: 3.0.0b6
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
@@ -2,7 +2,7 @@ llms/__init__.py,sha256=DKwTZDsyYL_wHe7yvLw49Nf8PSgPSyWaeVdotUqSvrQ,84
2
2
  llms/__main__.py,sha256=hrBulHIt3lmPm1BCyAEVtB6DQ0Hvc3gnIddhHCmJasg,151
3
3
  llms/index.html,sha256=gABCGg8ALHyB8OSH745HXx7U0SrXuNtJry9buUbVDik,2117
4
4
  llms/llms.json,sha256=j7CmFdMpzNeo0nCPHHR4djYfzH_AFKKYIAH3cL3TKT8,10641
5
- llms/main.py,sha256=-eTSDChJ3s_fkeImBnBv1tEK8-xPVqg4UyhUwEBYikw,129665
5
+ llms/main.py,sha256=H6fZ0WwMwULC6xf0kX_tVZ8sqTWUBzqmJdG0C28SjDo,130535
6
6
  llms/providers-extra.json,sha256=rBVTg46s5bJ6ou9H45FW0RW1mvbW_cKMnjWQBgz-gUI,11107
7
7
  llms/providers.json,sha256=mP4vQ37LeRAZCpT3WPO2GZaZ3YsXodXBV5OVbVMBAmo,256222
8
8
  llms/__pycache__/__init__.cpython-312.pyc,sha256=lg2oFc0aKgj536NOJxcIpbCpEWi47ptF8NufPphgUUk,204
@@ -13,7 +13,7 @@ llms/__pycache__/__main__.cpython-314.pyc,sha256=IFxtGVpJq_3whKuM5Ln7YMweKFNbHVp
13
13
  llms/__pycache__/llms.cpython-312.pyc,sha256=S5dFI79JdUe2dQW4ogdB-CCNhudQeFaFGcfKxgJGBms,72080
14
14
  llms/__pycache__/main.cpython-312.pyc,sha256=HrqApYAiiBmYN73HIx_Hl2-Xm1Gy7I_0zuR5j86qoRM,104940
15
15
  llms/__pycache__/main.cpython-313.pyc,sha256=6NQ__SJ2rC9ItFLKLHL5ewb5RqxLzZabwgczA9wZd-w,74814
16
- llms/__pycache__/main.cpython-314.pyc,sha256=METGiXfh3xSME50Nm63-oTkoCqcbCsfwuseLVzDyLp8,166873
16
+ llms/__pycache__/main.cpython-314.pyc,sha256=_qekyxUhkFTtuqCXUUinQMkbHVgOQggu6kZ13yrAtSc,167444
17
17
  llms/__pycache__/plugins.cpython-314.pyc,sha256=fer8nTkidG_vQSx80tL2bAvMS0opDom93bewjseFcyg,3560
18
18
  llms/providers/anthropic.py,sha256=KBwIPkGFkNCJxlLAY5MzFpEj7AB4d0WwpaOfZfvCrk0,8091
19
19
  llms/providers/chutes.py,sha256=TTDfWviHOoNfk2cXnY5UJK_fciRJ2drfz48u67TDmCM,6171
@@ -28,7 +28,7 @@ llms/providers/__pycache__/nvidia.cpython-314.pyc,sha256=pE2P5sz0EjRp3DYy-MiEAf_
28
28
  llms/providers/__pycache__/openai.cpython-314.pyc,sha256=-OnbDtGalUx3NtRU_sAwRL_TvrnKOworTliwS164IUY,8705
29
29
  llms/providers/__pycache__/openrouter.cpython-314.pyc,sha256=5zAegKxy40P1uX87T9KhaE5s54UXSq9fjsG0i2n84tc,5078
30
30
  llms/ui/App.mjs,sha256=PYdiU3hkn7nHbRVURpN0ruLMfPDulTCWb-BIe0-PT_I,7188
31
- llms/ui/ai.mjs,sha256=qLfTTi96LARr0GxH0VdOFg-pOdR80nONqOaIJSqvBXA,5315
31
+ llms/ui/ai.mjs,sha256=4I2MECybgh8nLm1oLSEJKbpW1KZ0mYkzgYOBUygKmfA,5315
32
32
  llms/ui/app.css,sha256=Tc3JVtpEkXnE0H2cyAmE5bhF96eUsVzBHFqAJAODawc,124819
33
33
  llms/ui/ctx.mjs,sha256=j8zHy08DWAXkmaNBBkcr6Fs-D7uApTIArsA0QqXl7OM,6395
34
34
  llms/ui/fav.svg,sha256=_R6MFeXl6wBFT0lqcUxYQIDWgm246YH_3hSTW0oO8qw,734
@@ -58,9 +58,9 @@ llms/ui/modules/chat/index.mjs,sha256=AIgAffafq027vviAD26wtxHZ5mP2wiVgTtb4kwAs3y
58
58
  llms/ui/modules/threads/Recents.mjs,sha256=xiN5K9SYc0oJug60m6g_lPVw-75lNkp1ATuVUYgIgX8,8826
59
59
  llms/ui/modules/threads/index.mjs,sha256=0ZwVb6W2BT3mwK5bwKgtlJEGJ9IAnQr7qk3XNG1LnFU,11397
60
60
  llms/ui/modules/threads/threadStore.mjs,sha256=cGm6g4dn5q0u_K6Bu5xuoAmBuURquubK7R4ahSKNC_E,16886
61
- llms_py-3.0.0b5.dist-info/licenses/LICENSE,sha256=bus9cuAOWeYqBk2OuhSABVV1P4z7hgrEFISpyda_H5w,1532
62
- llms_py-3.0.0b5.dist-info/METADATA,sha256=L9f33EXDWAR9OPkc3No8-mFbXDmi-7HMuyR92E36hSo,2193
63
- llms_py-3.0.0b5.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
64
- llms_py-3.0.0b5.dist-info/entry_points.txt,sha256=WswyE7PfnkZMIxboC-MS6flBD6wm-CYU7JSUnMhqMfM,40
65
- llms_py-3.0.0b5.dist-info/top_level.txt,sha256=gC7hk9BKSeog8gyg-EM_g2gxm1mKHwFRfK-10BxOsa4,5
66
- llms_py-3.0.0b5.dist-info/RECORD,,
61
+ llms_py-3.0.0b6.dist-info/licenses/LICENSE,sha256=bus9cuAOWeYqBk2OuhSABVV1P4z7hgrEFISpyda_H5w,1532
62
+ llms_py-3.0.0b6.dist-info/METADATA,sha256=dvFfu0f95YwYr_bApi7ZI9QMwhPlLc1PkWTD5tLO21Y,2193
63
+ llms_py-3.0.0b6.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
64
+ llms_py-3.0.0b6.dist-info/entry_points.txt,sha256=WswyE7PfnkZMIxboC-MS6flBD6wm-CYU7JSUnMhqMfM,40
65
+ llms_py-3.0.0b6.dist-info/top_level.txt,sha256=gC7hk9BKSeog8gyg-EM_g2gxm1mKHwFRfK-10BxOsa4,5
66
+ llms_py-3.0.0b6.dist-info/RECORD,,