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.
Files changed (45) hide show
  1. {pipecatcloud-0.1.7 → pipecatcloud-0.1.8}/CHANGELOG.md +20 -11
  2. {pipecatcloud-0.1.7/src/pipecatcloud.egg-info → pipecatcloud-0.1.8}/PKG-INFO +1 -1
  3. {pipecatcloud-0.1.7 → pipecatcloud-0.1.8}/pyproject.toml +4 -1
  4. {pipecatcloud-0.1.7 → pipecatcloud-0.1.8}/src/pipecatcloud/_utils/console_utils.py +33 -2
  5. {pipecatcloud-0.1.7 → pipecatcloud-0.1.8}/src/pipecatcloud/cli/commands/deploy.py +29 -7
  6. pipecatcloud-0.1.8/src/pipecatcloud/py.typed +0 -0
  7. {pipecatcloud-0.1.7 → pipecatcloud-0.1.8/src/pipecatcloud.egg-info}/PKG-INFO +1 -1
  8. {pipecatcloud-0.1.7 → pipecatcloud-0.1.8}/src/pipecatcloud.egg-info/SOURCES.txt +1 -0
  9. {pipecatcloud-0.1.7 → pipecatcloud-0.1.8}/.github/workflows/publish-pypi.yml +0 -0
  10. {pipecatcloud-0.1.7 → pipecatcloud-0.1.8}/.github/workflows/publish-test.yml +0 -0
  11. {pipecatcloud-0.1.7 → pipecatcloud-0.1.8}/.github/workflows/python-publish.yml +0 -0
  12. {pipecatcloud-0.1.7 → pipecatcloud-0.1.8}/.gitignore +0 -0
  13. {pipecatcloud-0.1.7 → pipecatcloud-0.1.8}/LICENSE +0 -0
  14. {pipecatcloud-0.1.7 → pipecatcloud-0.1.8}/README.md +0 -0
  15. {pipecatcloud-0.1.7 → pipecatcloud-0.1.8}/dev-requirements.txt +0 -0
  16. {pipecatcloud-0.1.7 → pipecatcloud-0.1.8}/pipecat-cloud.png +0 -0
  17. {pipecatcloud-0.1.7 → pipecatcloud-0.1.8}/setup.cfg +0 -0
  18. {pipecatcloud-0.1.7 → pipecatcloud-0.1.8}/src/pipecatcloud/__init__.py +0 -0
  19. {pipecatcloud-0.1.7 → pipecatcloud-0.1.8}/src/pipecatcloud/__main__.py +0 -0
  20. {pipecatcloud-0.1.7 → pipecatcloud-0.1.8}/src/pipecatcloud/__version__.py +0 -0
  21. {pipecatcloud-0.1.7 → pipecatcloud-0.1.8}/src/pipecatcloud/_utils/__init__.py +0 -0
  22. {pipecatcloud-0.1.7 → pipecatcloud-0.1.8}/src/pipecatcloud/_utils/async_utils.py +0 -0
  23. {pipecatcloud-0.1.7 → pipecatcloud-0.1.8}/src/pipecatcloud/_utils/auth_utils.py +0 -0
  24. {pipecatcloud-0.1.7 → pipecatcloud-0.1.8}/src/pipecatcloud/_utils/deploy_utils.py +0 -0
  25. {pipecatcloud-0.1.7 → pipecatcloud-0.1.8}/src/pipecatcloud/_utils/local_runner.py +0 -0
  26. {pipecatcloud-0.1.7 → pipecatcloud-0.1.8}/src/pipecatcloud/agent.py +0 -0
  27. {pipecatcloud-0.1.7 → pipecatcloud-0.1.8}/src/pipecatcloud/api.py +0 -0
  28. {pipecatcloud-0.1.7 → pipecatcloud-0.1.8}/src/pipecatcloud/cli/__init__.py +0 -0
  29. {pipecatcloud-0.1.7 → pipecatcloud-0.1.8}/src/pipecatcloud/cli/api.py +0 -0
  30. {pipecatcloud-0.1.7 → pipecatcloud-0.1.8}/src/pipecatcloud/cli/commands/__init__.py +0 -0
  31. {pipecatcloud-0.1.7 → pipecatcloud-0.1.8}/src/pipecatcloud/cli/commands/agent.py +0 -0
  32. {pipecatcloud-0.1.7 → pipecatcloud-0.1.8}/src/pipecatcloud/cli/commands/auth.py +0 -0
  33. {pipecatcloud-0.1.7 → pipecatcloud-0.1.8}/src/pipecatcloud/cli/commands/init.py +0 -0
  34. {pipecatcloud-0.1.7 → pipecatcloud-0.1.8}/src/pipecatcloud/cli/commands/organizations.py +0 -0
  35. {pipecatcloud-0.1.7 → pipecatcloud-0.1.8}/src/pipecatcloud/cli/commands/run.py +0 -0
  36. {pipecatcloud-0.1.7 → pipecatcloud-0.1.8}/src/pipecatcloud/cli/commands/secrets.py +0 -0
  37. {pipecatcloud-0.1.7 → pipecatcloud-0.1.8}/src/pipecatcloud/cli/config.py +0 -0
  38. {pipecatcloud-0.1.7 → pipecatcloud-0.1.8}/src/pipecatcloud/cli/entry_point.py +0 -0
  39. {pipecatcloud-0.1.7 → pipecatcloud-0.1.8}/src/pipecatcloud/config.py +0 -0
  40. {pipecatcloud-0.1.7 → pipecatcloud-0.1.8}/src/pipecatcloud/exception.py +0 -0
  41. {pipecatcloud-0.1.7 → pipecatcloud-0.1.8}/src/pipecatcloud/session.py +0 -0
  42. {pipecatcloud-0.1.7 → pipecatcloud-0.1.8}/src/pipecatcloud.egg-info/dependency_links.txt +0 -0
  43. {pipecatcloud-0.1.7 → pipecatcloud-0.1.8}/src/pipecatcloud.egg-info/entry_points.txt +0 -0
  44. {pipecatcloud-0.1.7 → pipecatcloud-0.1.8}/src/pipecatcloud.egg-info/requires.txt +0 -0
  45. {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
- # Added
22
+ ### Added
13
23
 
14
24
  - `agent sessions` command lists session history and various statistics (avg. start times, cold starts etc.)
15
25
 
16
- # Fixed
26
+ ### Fixed
17
27
 
18
- - `typer` bumped to `0.15` which was causing errors on some setups
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
- # Changed
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
- # Added
38
+ ### Added
29
39
 
30
40
  - `deploy` command now accepts a `--enable-krisp / -krisp` which enables Krisp integration for your pipeline.
31
41
 
32
- # Changed
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
- # Fixed
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`.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pipecatcloud
3
- Version: 0.1.7
3
+ Version: 0.1.8
4
4
  Summary: Cloud hosting for Pipecat AI applications
5
5
  License: BSD 2-Clause License
6
6
  Project-URL: Website, https://docs.pipecat.daily.co/
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "pipecatcloud"
7
- version = "0.1.7"
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
- credentials: str = typer.Option(
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
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pipecatcloud
3
- Version: 0.1.7
3
+ Version: 0.1.8
4
4
  Summary: Cloud hosting for Pipecat AI applications
5
5
  License: BSD 2-Clause License
6
6
  Project-URL: Website, https://docs.pipecat.daily.co/
@@ -15,6 +15,7 @@ src/pipecatcloud/agent.py
15
15
  src/pipecatcloud/api.py
16
16
  src/pipecatcloud/config.py
17
17
  src/pipecatcloud/exception.py
18
+ src/pipecatcloud/py.typed
18
19
  src/pipecatcloud/session.py
19
20
  src/pipecatcloud.egg-info/PKG-INFO
20
21
  src/pipecatcloud.egg-info/SOURCES.txt
File without changes
File without changes
File without changes
File without changes