pipecatcloud 0.1.7__tar.gz → 0.1.8__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.
- {pipecatcloud-0.1.7 → pipecatcloud-0.1.8}/CHANGELOG.md +20 -11
- {pipecatcloud-0.1.7/src/pipecatcloud.egg-info → pipecatcloud-0.1.8}/PKG-INFO +1 -1
- {pipecatcloud-0.1.7 → pipecatcloud-0.1.8}/pyproject.toml +4 -1
- {pipecatcloud-0.1.7 → pipecatcloud-0.1.8}/src/pipecatcloud/_utils/console_utils.py +33 -2
- {pipecatcloud-0.1.7 → pipecatcloud-0.1.8}/src/pipecatcloud/cli/commands/deploy.py +29 -7
- pipecatcloud-0.1.8/src/pipecatcloud/py.typed +0 -0
- {pipecatcloud-0.1.7 → pipecatcloud-0.1.8/src/pipecatcloud.egg-info}/PKG-INFO +1 -1
- {pipecatcloud-0.1.7 → pipecatcloud-0.1.8}/src/pipecatcloud.egg-info/SOURCES.txt +1 -0
- {pipecatcloud-0.1.7 → pipecatcloud-0.1.8}/.github/workflows/publish-pypi.yml +0 -0
- {pipecatcloud-0.1.7 → pipecatcloud-0.1.8}/.github/workflows/publish-test.yml +0 -0
- {pipecatcloud-0.1.7 → pipecatcloud-0.1.8}/.github/workflows/python-publish.yml +0 -0
- {pipecatcloud-0.1.7 → pipecatcloud-0.1.8}/.gitignore +0 -0
- {pipecatcloud-0.1.7 → pipecatcloud-0.1.8}/LICENSE +0 -0
- {pipecatcloud-0.1.7 → pipecatcloud-0.1.8}/README.md +0 -0
- {pipecatcloud-0.1.7 → pipecatcloud-0.1.8}/dev-requirements.txt +0 -0
- {pipecatcloud-0.1.7 → pipecatcloud-0.1.8}/pipecat-cloud.png +0 -0
- {pipecatcloud-0.1.7 → pipecatcloud-0.1.8}/setup.cfg +0 -0
- {pipecatcloud-0.1.7 → pipecatcloud-0.1.8}/src/pipecatcloud/__init__.py +0 -0
- {pipecatcloud-0.1.7 → pipecatcloud-0.1.8}/src/pipecatcloud/__main__.py +0 -0
- {pipecatcloud-0.1.7 → pipecatcloud-0.1.8}/src/pipecatcloud/__version__.py +0 -0
- {pipecatcloud-0.1.7 → pipecatcloud-0.1.8}/src/pipecatcloud/_utils/__init__.py +0 -0
- {pipecatcloud-0.1.7 → pipecatcloud-0.1.8}/src/pipecatcloud/_utils/async_utils.py +0 -0
- {pipecatcloud-0.1.7 → pipecatcloud-0.1.8}/src/pipecatcloud/_utils/auth_utils.py +0 -0
- {pipecatcloud-0.1.7 → pipecatcloud-0.1.8}/src/pipecatcloud/_utils/deploy_utils.py +0 -0
- {pipecatcloud-0.1.7 → pipecatcloud-0.1.8}/src/pipecatcloud/_utils/local_runner.py +0 -0
- {pipecatcloud-0.1.7 → pipecatcloud-0.1.8}/src/pipecatcloud/agent.py +0 -0
- {pipecatcloud-0.1.7 → pipecatcloud-0.1.8}/src/pipecatcloud/api.py +0 -0
- {pipecatcloud-0.1.7 → pipecatcloud-0.1.8}/src/pipecatcloud/cli/__init__.py +0 -0
- {pipecatcloud-0.1.7 → pipecatcloud-0.1.8}/src/pipecatcloud/cli/api.py +0 -0
- {pipecatcloud-0.1.7 → pipecatcloud-0.1.8}/src/pipecatcloud/cli/commands/__init__.py +0 -0
- {pipecatcloud-0.1.7 → pipecatcloud-0.1.8}/src/pipecatcloud/cli/commands/agent.py +0 -0
- {pipecatcloud-0.1.7 → pipecatcloud-0.1.8}/src/pipecatcloud/cli/commands/auth.py +0 -0
- {pipecatcloud-0.1.7 → pipecatcloud-0.1.8}/src/pipecatcloud/cli/commands/init.py +0 -0
- {pipecatcloud-0.1.7 → pipecatcloud-0.1.8}/src/pipecatcloud/cli/commands/organizations.py +0 -0
- {pipecatcloud-0.1.7 → pipecatcloud-0.1.8}/src/pipecatcloud/cli/commands/run.py +0 -0
- {pipecatcloud-0.1.7 → pipecatcloud-0.1.8}/src/pipecatcloud/cli/commands/secrets.py +0 -0
- {pipecatcloud-0.1.7 → pipecatcloud-0.1.8}/src/pipecatcloud/cli/config.py +0 -0
- {pipecatcloud-0.1.7 → pipecatcloud-0.1.8}/src/pipecatcloud/cli/entry_point.py +0 -0
- {pipecatcloud-0.1.7 → pipecatcloud-0.1.8}/src/pipecatcloud/config.py +0 -0
- {pipecatcloud-0.1.7 → pipecatcloud-0.1.8}/src/pipecatcloud/exception.py +0 -0
- {pipecatcloud-0.1.7 → pipecatcloud-0.1.8}/src/pipecatcloud/session.py +0 -0
- {pipecatcloud-0.1.7 → pipecatcloud-0.1.8}/src/pipecatcloud.egg-info/dependency_links.txt +0 -0
- {pipecatcloud-0.1.7 → pipecatcloud-0.1.8}/src/pipecatcloud.egg-info/entry_points.txt +0 -0
- {pipecatcloud-0.1.7 → pipecatcloud-0.1.8}/src/pipecatcloud.egg-info/requires.txt +0 -0
- {pipecatcloud-0.1.7 → pipecatcloud-0.1.8}/src/pipecatcloud.egg-info/top_level.txt +0 -0
|
@@ -7,38 +7,47 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [0.1.8] - 2025-07-09
|
|
11
|
+
|
|
12
|
+
### Changed
|
|
13
|
+
|
|
14
|
+
- `deploy` command now shows a warning when image pull credentials are not provided.
|
|
15
|
+
|
|
16
|
+
### Added
|
|
17
|
+
|
|
18
|
+
- Add py.typed marker for static type checking support.
|
|
19
|
+
|
|
10
20
|
## [0.1.7] - 2025-06-12
|
|
11
21
|
|
|
12
|
-
|
|
22
|
+
### Added
|
|
13
23
|
|
|
14
24
|
- `agent sessions` command lists session history and various statistics (avg. start times, cold starts etc.)
|
|
15
25
|
|
|
16
|
-
|
|
26
|
+
### Fixed
|
|
17
27
|
|
|
18
|
-
- `typer`
|
|
28
|
+
- Bumped `typer` dependency to `0.15` to fix errors when using `--help` flag.
|
|
19
29
|
|
|
20
30
|
## [0.1.6] - 2025-04-25
|
|
21
31
|
|
|
22
|
-
|
|
32
|
+
### Changed
|
|
23
33
|
|
|
24
34
|
- `min-instances` and `max-instances` has been changed to reflect API terminology changes.
|
|
25
35
|
|
|
26
36
|
## [0.1.5] - 2025-04-09
|
|
27
37
|
|
|
28
|
-
|
|
38
|
+
### Added
|
|
29
39
|
|
|
30
40
|
- `deploy` command now accepts a `--enable-krisp / -krisp` which enables Krisp integration for your pipeline.
|
|
31
41
|
|
|
32
|
-
|
|
42
|
+
### Changed
|
|
33
43
|
|
|
34
|
-
- `start` command now takes agent name from `pcc-deploy.toml` where applicable
|
|
44
|
+
- `start` command now takes agent name from `pcc-deploy.toml` where applicable
|
|
35
45
|
- API error handling now checks `response.ok` and properly checks for error codes for all non-ok responses
|
|
36
46
|
|
|
37
|
-
|
|
47
|
+
### Fixed
|
|
38
48
|
|
|
39
49
|
- REST and cURL requests now render errors correctly
|
|
40
50
|
|
|
41
|
-
|
|
42
51
|
## [0.1.4] - 2025-03-28
|
|
43
52
|
|
|
44
53
|
### Changed
|
|
@@ -63,8 +72,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
63
72
|
|
|
64
73
|
### Added
|
|
65
74
|
|
|
66
|
-
- `agent logs` now accepts a `--deployment_id` / `-d` argument for filtering
|
|
67
|
-
by specific deployment ID
|
|
75
|
+
- `agent logs` now accepts a `--deployment_id` / `-d` argument for filtering
|
|
76
|
+
by specific deployment ID
|
|
68
77
|
|
|
69
78
|
- `agent start` now accepts `--daily-properties` / `-p` for customizing Daily
|
|
70
79
|
room settings when used with `--use-daily`.
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "pipecatcloud"
|
|
7
|
-
version = "0.1.
|
|
7
|
+
version = "0.1.8"
|
|
8
8
|
requires-python = ">=3.10"
|
|
9
9
|
description = "Cloud hosting for Pipecat AI applications"
|
|
10
10
|
license = { text = "BSD 2-Clause License" }
|
|
@@ -33,6 +33,9 @@ package-dir = {"" = "src"}
|
|
|
33
33
|
where = ["src"]
|
|
34
34
|
include = ["pipecatcloud*"]
|
|
35
35
|
|
|
36
|
+
[tool.setuptools.package-data]
|
|
37
|
+
pipecatcloud = ["py.typed"]
|
|
38
|
+
|
|
36
39
|
[tool.ruff]
|
|
37
40
|
exclude = ["*_pb2.py"]
|
|
38
41
|
line-length = 100
|
|
@@ -4,9 +4,9 @@
|
|
|
4
4
|
# SPDX-License-Identifier: BSD 2-Clause License
|
|
5
5
|
#
|
|
6
6
|
|
|
7
|
-
from typing import Optional, Union
|
|
8
|
-
from datetime import datetime
|
|
9
7
|
import statistics
|
|
8
|
+
from datetime import datetime
|
|
9
|
+
from typing import Optional, Union
|
|
10
10
|
|
|
11
11
|
from rich.console import Console
|
|
12
12
|
from rich.panel import Panel
|
|
@@ -203,3 +203,34 @@ def calculate_percentiles(data: list[float]) -> tuple[float, float, float] | Non
|
|
|
203
203
|
p95 = percentile(sorted_data, 95)
|
|
204
204
|
|
|
205
205
|
return avg, p5, p95
|
|
206
|
+
|
|
207
|
+
|
|
208
|
+
async def cli_updates_available() -> str | None:
|
|
209
|
+
"""
|
|
210
|
+
Check if there are updates available for the CLI from PyPI.
|
|
211
|
+
"""
|
|
212
|
+
import aiohttp
|
|
213
|
+
|
|
214
|
+
try:
|
|
215
|
+
from importlib.metadata import version as get_version
|
|
216
|
+
current_version = get_version("pipecatcloud")
|
|
217
|
+
except ImportError:
|
|
218
|
+
return None
|
|
219
|
+
|
|
220
|
+
pypi_url = "https://pypi.org/pypi/pipecatcloud/json"
|
|
221
|
+
|
|
222
|
+
try:
|
|
223
|
+
async with aiohttp.ClientSession() as session:
|
|
224
|
+
response = await session.get(pypi_url)
|
|
225
|
+
if not response.ok:
|
|
226
|
+
return None
|
|
227
|
+
|
|
228
|
+
data = await response.json()
|
|
229
|
+
latest_version = data["info"]["version"]
|
|
230
|
+
|
|
231
|
+
if latest_version > current_version:
|
|
232
|
+
return latest_version
|
|
233
|
+
return None
|
|
234
|
+
|
|
235
|
+
except Exception:
|
|
236
|
+
return None
|
|
@@ -232,6 +232,14 @@ def create_deploy_command(app: typer.Typer):
|
|
|
232
232
|
image: str = typer.Argument(
|
|
233
233
|
None, help="Docker image location e.g. 'my-image:latest'", show_default=False
|
|
234
234
|
),
|
|
235
|
+
credentials: str = typer.Option(
|
|
236
|
+
None,
|
|
237
|
+
"--credentials",
|
|
238
|
+
"-c",
|
|
239
|
+
help="Image pull secret to use for deployment",
|
|
240
|
+
rich_help_panel="Deployment Configuration",
|
|
241
|
+
show_default=False,
|
|
242
|
+
),
|
|
235
243
|
min_agents: int = typer.Option(
|
|
236
244
|
None,
|
|
237
245
|
"--min-agents",
|
|
@@ -263,13 +271,7 @@ def create_deploy_command(app: typer.Typer):
|
|
|
263
271
|
help="Organization to deploy to",
|
|
264
272
|
rich_help_panel="Deployment Configuration",
|
|
265
273
|
),
|
|
266
|
-
|
|
267
|
-
None,
|
|
268
|
-
"--credentials",
|
|
269
|
-
"-c",
|
|
270
|
-
help="Image pull secret to use for deployment",
|
|
271
|
-
rich_help_panel="Deployment Configuration",
|
|
272
|
-
),
|
|
274
|
+
|
|
273
275
|
krisp: bool = typer.Option(
|
|
274
276
|
False,
|
|
275
277
|
"--enable-krisp",
|
|
@@ -282,6 +284,7 @@ def create_deploy_command(app: typer.Typer):
|
|
|
282
284
|
"--force",
|
|
283
285
|
"-f",
|
|
284
286
|
help="Force deployment / skip confirmation",
|
|
287
|
+
rich_help_panel="Additional Options",
|
|
285
288
|
),
|
|
286
289
|
# @deprecated
|
|
287
290
|
min_instances: int = typer.Option(
|
|
@@ -345,6 +348,25 @@ def create_deploy_command(app: typer.Typer):
|
|
|
345
348
|
console.error("Image / repository URL is required")
|
|
346
349
|
return typer.Exit()
|
|
347
350
|
|
|
351
|
+
# Show a warning if no credentials are provided
|
|
352
|
+
if not partial_config.image_credentials and not skip_confirm:
|
|
353
|
+
console.print(
|
|
354
|
+
Panel(
|
|
355
|
+
"[yellow]You are attempting to deploy an agent image without an image pull secret."
|
|
356
|
+
"\n\nUse [bold][--credentials][/bold] to provide a image pull secret."
|
|
357
|
+
"\n\nPlease be aware that future versions of the Pipecat Cloud CLI will require credentials for all deployments (unless forced manually).",
|
|
358
|
+
title="[bold yellow]Warning: Deploying without credentials[/bold yellow]",
|
|
359
|
+
title_align="left",
|
|
360
|
+
subtitle_align="left",
|
|
361
|
+
subtitle="[dim]Learn more: https://docs.pipecat.daily.co/agents/secrets#image-pull-secrets[/dim]",
|
|
362
|
+
border_style="yellow",
|
|
363
|
+
))
|
|
364
|
+
if not typer.confirm(
|
|
365
|
+
"Are you sure you want to deploy without an image pull secret?",
|
|
366
|
+
default=False,
|
|
367
|
+
):
|
|
368
|
+
return typer.Exit()
|
|
369
|
+
|
|
348
370
|
# Create and display table
|
|
349
371
|
table = Table(show_header=False, border_style="dim", show_edge=True, show_lines=True)
|
|
350
372
|
table.add_column("Property", style="cyan")
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|