llama-deploy-appserver 0.3.10__py3-none-any.whl → 0.3.12__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.
@@ -236,6 +236,7 @@ def start_server_in_target_venv(
236
236
  persistence: Literal["memory", "local", "cloud"] | None = None,
237
237
  local_persistence_path: str | None = None,
238
238
  cloud_persistence_name: str | None = None,
239
+ host: str | None = None,
239
240
  ) -> None:
240
241
  # Ensure settings reflect the intended working directory before computing paths
241
242
 
@@ -247,6 +248,7 @@ def start_server_in_target_venv(
247
248
  persistence=persistence,
248
249
  local_persistence_path=local_persistence_path,
249
250
  cloud_persistence_name=cloud_persistence_name,
251
+ host=host,
250
252
  )
251
253
  base_dir = cwd or Path.cwd()
252
254
  path = settings.resolved_config_parent.relative_to(base_dir)
@@ -121,7 +121,6 @@ class Deployment:
121
121
  for route in server.app.routes:
122
122
  # add routes directly rather than mounting, so that we can share a root (only one ASGI app can be mounted at a path)
123
123
  if isinstance(route, Route):
124
- logger.info(f"Adding route {route.path} to app")
125
124
  app.add_api_route(
126
125
  f"/deployments/{config.name}{route.path}",
127
126
  route.endpoint,
@@ -21,6 +21,7 @@ from llama_deploy.appserver.interrupts import (
21
21
  wait_or_abort,
22
22
  )
23
23
  from llama_deploy.appserver.settings import ApiserverSettings
24
+ from llama_deploy.core.client.ssl_util import get_httpx_verify_param
24
25
  from llama_deploy.core.deployment_config import DeploymentConfig
25
26
 
26
27
  logger = logging.getLogger(__name__)
@@ -193,7 +194,7 @@ def create_ui_proxy_router(name: str, port: int) -> APIRouter:
193
194
  }
194
195
 
195
196
  try:
196
- client = httpx.AsyncClient(timeout=None)
197
+ client = httpx.AsyncClient(timeout=None, verify=get_httpx_verify_param())
197
198
 
198
199
  req = client.build_request(
199
200
  request.method,
@@ -103,6 +103,7 @@ def configure_settings(
103
103
  persistence: Literal["memory", "local", "cloud"] | None = None,
104
104
  local_persistence_path: str | None = None,
105
105
  cloud_persistence_name: str | None = None,
106
+ host: str | None = None,
106
107
  ) -> None:
107
108
  if proxy_ui is not None:
108
109
  settings.proxy_ui = proxy_ui
@@ -131,3 +132,6 @@ def configure_settings(
131
132
  os.environ["LLAMA_DEPLOY_APISERVER_CLOUD_PERSISTENCE_NAME"] = (
132
133
  cloud_persistence_name
133
134
  )
135
+ if host is not None:
136
+ settings.host = host
137
+ os.environ["LLAMA_DEPLOY_APISERVER_HOST"] = host
@@ -1,10 +1,12 @@
1
+ import asyncio
1
2
  import logging
2
3
  import os
3
- from typing import List
4
+ from typing import Any, List
4
5
 
5
6
  from llama_cloud.client import AsyncLlamaCloud, httpx
6
7
  from llama_cloud_services.beta.agent_data import AsyncAgentDataClient
7
8
  from llama_deploy.appserver.settings import ApiserverSettings
9
+ from llama_deploy.core.client.ssl_util import get_httpx_verify_param
8
10
  from llama_deploy.core.deployment_config import DeploymentConfig
9
11
  from typing_extensions import override
10
12
  from workflows.server import AbstractWorkflowStore, HandlerQuery, PersistentHandler
@@ -40,6 +42,7 @@ class AgentDataStore(AbstractWorkflowStore):
40
42
  token=os.getenv("LLAMA_CLOUD_API_KEY"),
41
43
  httpx_client=httpx.AsyncClient(
42
44
  headers={"Project-Id": project_id} if project_id else None,
45
+ verify=get_httpx_verify_param(),
43
46
  ),
44
47
  ),
45
48
  )
@@ -49,19 +52,7 @@ class AgentDataStore(AbstractWorkflowStore):
49
52
 
50
53
  @override
51
54
  async def query(self, query: HandlerQuery) -> List[PersistentHandler]:
52
- filters = {}
53
- if query.handler_id_in is not None:
54
- filters["handler_id"] = {
55
- "includes": query.handler_id_in,
56
- }
57
- if query.workflow_name_in is not None:
58
- filters["workflow_name"] = {
59
- "includes": query.workflow_name_in,
60
- }
61
- if query.status_in is not None:
62
- filters["status"] = {
63
- "includes": query.status_in,
64
- }
55
+ filters = self._build_filters(query)
65
56
  results = await self.client.search(
66
57
  filter=filters,
67
58
  page_size=1000,
@@ -85,6 +76,15 @@ class AgentDataStore(AbstractWorkflowStore):
85
76
  data=handler,
86
77
  )
87
78
 
79
+ @override
80
+ async def delete(self, handler: HandlerQuery) -> int:
81
+ filters = self._build_filters(handler)
82
+ results = await self.client.search(filter=filters, page_size=1000)
83
+ await asyncio.gather(
84
+ *[self.client.delete_item(item_id=x.id) for x in results.items]
85
+ )
86
+ return len(results.items)
87
+
88
88
  async def _get_item_id(self, handler: PersistentHandler) -> str | None:
89
89
  cached_id = self.cache.get(handler.handler_id, None)
90
90
  if cached_id is not None:
@@ -98,3 +98,19 @@ class AgentDataStore(AbstractWorkflowStore):
98
98
  id = results.items[0].id
99
99
  self.cache.set(handler.handler_id, id)
100
100
  return id
101
+
102
+ def _build_filters(self, query: HandlerQuery) -> dict[str, Any]:
103
+ filters = {}
104
+ if query.handler_id_in is not None:
105
+ filters["handler_id"] = {
106
+ "includes": query.handler_id_in,
107
+ }
108
+ if query.workflow_name_in is not None:
109
+ filters["workflow_name"] = {
110
+ "includes": query.workflow_name_in,
111
+ }
112
+ if query.status_in is not None:
113
+ filters["status"] = {
114
+ "includes": query.status_in,
115
+ }
116
+ return filters
@@ -1,15 +1,15 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: llama-deploy-appserver
3
- Version: 0.3.10
3
+ Version: 0.3.12
4
4
  Summary: Application server components for LlamaDeploy
5
5
  Author: Massimiliano Pippi, Adrian Lyjak
6
6
  Author-email: Massimiliano Pippi <mpippi@gmail.com>, Adrian Lyjak <adrianlyjak@gmail.com>
7
7
  License: MIT
8
- Requires-Dist: llama-index-workflows[server]>=2.5.0
8
+ Requires-Dist: llama-index-workflows[server]>=2.6.0
9
9
  Requires-Dist: pydantic-settings>=2.10.1
10
10
  Requires-Dist: fastapi>=0.100.0
11
11
  Requires-Dist: websockets>=12.0
12
- Requires-Dist: llama-deploy-core>=0.3.10,<0.4.0
12
+ Requires-Dist: llama-deploy-core>=0.3.12,<0.4.0
13
13
  Requires-Dist: httpx>=0.24.0,<1.0.0
14
14
  Requires-Dist: prometheus-fastapi-instrumentator>=7.1.0
15
15
  Requires-Dist: packaging>=25.0
@@ -1,9 +1,9 @@
1
1
  llama_deploy/appserver/__init__.py,sha256=e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855,0
2
- llama_deploy/appserver/app.py,sha256=9abb3e0e4aca6b6759884487e049e3294ecd854a234167d5ff69b29de99b0a86,9514
2
+ llama_deploy/appserver/app.py,sha256=2fe0264887efa4cde9275da08e59c56438d6ce50d30f5951fd1eb4438260fddc,9562
3
3
  llama_deploy/appserver/bootstrap.py,sha256=fa32be007f18b4b3af92c878bac417416c9afb09b1beddf51b5cd73115e6b7c6,2453
4
4
  llama_deploy/appserver/configure_logging.py,sha256=194dd1ebed3c1d9065d9174f7828d557a577eaac8fb0443b3102430b1f578c19,6329
5
5
  llama_deploy/appserver/correlation_id.py,sha256=8ac5bc6160c707b93a9fb818b64dd369a4ef7a53f9f91a6b3d90c4cf446f7327,572
6
- llama_deploy/appserver/deployment.py,sha256=527ca4e2454b4e7ecff1c78aeb2264414fb5229d6ad3b92c4a940d10b9c43ceb,6462
6
+ llama_deploy/appserver/deployment.py,sha256=b813ac5abe71940b8535e7c66348192848df14b9cdca2ff2830d0bee60c8a26c,6397
7
7
  llama_deploy/appserver/deployment_config_parser.py,sha256=e2b6c483203d96ab795c4e55df15c694c20458d5a03fab89c2b71e481291a2d3,510
8
8
  llama_deploy/appserver/interrupts.py,sha256=14f262a0cedc00bb3aecd3d6c14c41ba0e88e7d2a6df02cd35b5bea1940822a2,1622
9
9
  llama_deploy/appserver/process_utils.py,sha256=befee4918c6cf72082dca8bf807afb61ad3d6c83f01bc0c007594b47930570d8,6056
@@ -11,14 +11,14 @@ llama_deploy/appserver/py.typed,sha256=e3b0c44298fc1c149afbf4c8996fb92427ae41e46
11
11
  llama_deploy/appserver/routers/__init__.py,sha256=ee2d14ebf4b067c844947ed1cc98186456e8bfa4919282722eaaf8cca345a138,214
12
12
  llama_deploy/appserver/routers/deployments.py,sha256=e7bafd72c1b4b809e5ad57442594a997c85ecab998b8430da65899faa910db1c,7572
13
13
  llama_deploy/appserver/routers/status.py,sha256=2af74bc40e52dc5944af2df98c6a021fea7b0cfcda88b56ac124dc383120758c,282
14
- llama_deploy/appserver/routers/ui_proxy.py,sha256=f63c36c201070594a4011320192d724b1c534d0ec655c49ba65c4e9911dbdd97,8633
15
- llama_deploy/appserver/settings.py,sha256=279dad9d80f4b54215cb8073bc46ee2beebfbc8ed75f40bccfbb387593f6975a,4984
14
+ llama_deploy/appserver/routers/ui_proxy.py,sha256=78b334097dc8a14916aa403ffe1a23d0108fe26aba0f9c44d872349755b2da73,8735
15
+ llama_deploy/appserver/settings.py,sha256=aa4512d2f1f28b8ee7d3fedc8c61f77bce9f807f85857c0f6282054320c9da23,5124
16
16
  llama_deploy/appserver/stats.py,sha256=1f3989f6705a6de3e4d61ee8cdd189fbe04a2c53ec5e720b2e5168acc331427f,691
17
17
  llama_deploy/appserver/types.py,sha256=4edc991aafb6b8497f068d12387455df292da3ff8440223637641ab1632553ec,2133
18
18
  llama_deploy/appserver/workflow_loader.py,sha256=aa06b3cdc9cdbf7e4c58c1b5bbd28025f56869a0065311aac8e98e729e70d38a,14342
19
- llama_deploy/appserver/workflow_store/agent_data_store.py,sha256=7b8d1b8cb6f741ff631d668fc955ca76a82e8da0bf8a27ee3bc9a8ef71123701,3594
19
+ llama_deploy/appserver/workflow_store/agent_data_store.py,sha256=c94ab0e0628eb3d6364179e4fbf9467524270cdf38d8d9294494f89c9629a229,4219
20
20
  llama_deploy/appserver/workflow_store/keyed_lock.py,sha256=bb1504d9de09d51a8f60721cc77b14d4051ac5a897ace6f9d9cba494f068465e,950
21
21
  llama_deploy/appserver/workflow_store/lru_cache.py,sha256=7511231b6aba81ea96044cf644cd9c1f11d78190b7b7f578b1b5a55e2c218f9f,1323
22
- llama_deploy_appserver-0.3.10.dist-info/WHEEL,sha256=66530aef82d5020ef5af27ae0123c71abb9261377c5bc519376c671346b12918,79
23
- llama_deploy_appserver-0.3.10.dist-info/METADATA,sha256=66b05451824cc94c35c2a79b6de86a9d394ab47122032d7b06315b4a988f6c97,1009
24
- llama_deploy_appserver-0.3.10.dist-info/RECORD,,
22
+ llama_deploy_appserver-0.3.12.dist-info/WHEEL,sha256=66530aef82d5020ef5af27ae0123c71abb9261377c5bc519376c671346b12918,79
23
+ llama_deploy_appserver-0.3.12.dist-info/METADATA,sha256=dc7496ff4a6dcca26d38b27e630d83384d9ec105ef3d783b16fdf1494cdeaeff,1009
24
+ llama_deploy_appserver-0.3.12.dist-info/RECORD,,