pipecatcloud 0.1.1__tar.gz → 0.1.2__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 (44) hide show
  1. {pipecatcloud-0.1.1 → pipecatcloud-0.1.2}/CHANGELOG.md +10 -0
  2. {pipecatcloud-0.1.1/src/pipecatcloud.egg-info → pipecatcloud-0.1.2}/PKG-INFO +1 -1
  3. {pipecatcloud-0.1.1 → pipecatcloud-0.1.2}/pyproject.toml +1 -1
  4. {pipecatcloud-0.1.1 → pipecatcloud-0.1.2}/src/pipecatcloud/__init__.py +7 -2
  5. pipecatcloud-0.1.2/src/pipecatcloud/agent.py +52 -0
  6. {pipecatcloud-0.1.1 → pipecatcloud-0.1.2}/src/pipecatcloud/cli/commands/agent.py +0 -1
  7. {pipecatcloud-0.1.1 → pipecatcloud-0.1.2}/src/pipecatcloud/cli/commands/deploy.py +26 -7
  8. {pipecatcloud-0.1.1 → pipecatcloud-0.1.2}/src/pipecatcloud/exception.py +3 -1
  9. {pipecatcloud-0.1.1 → pipecatcloud-0.1.2/src/pipecatcloud.egg-info}/PKG-INFO +1 -1
  10. {pipecatcloud-0.1.1 → pipecatcloud-0.1.2}/src/pipecatcloud.egg-info/SOURCES.txt +1 -0
  11. {pipecatcloud-0.1.1 → pipecatcloud-0.1.2}/.github/workflows/publish-pypi.yml +0 -0
  12. {pipecatcloud-0.1.1 → pipecatcloud-0.1.2}/.github/workflows/publish-test.yml +0 -0
  13. {pipecatcloud-0.1.1 → pipecatcloud-0.1.2}/.github/workflows/python-publish.yml +0 -0
  14. {pipecatcloud-0.1.1 → pipecatcloud-0.1.2}/.gitignore +0 -0
  15. {pipecatcloud-0.1.1 → pipecatcloud-0.1.2}/LICENSE +0 -0
  16. {pipecatcloud-0.1.1 → pipecatcloud-0.1.2}/README.md +0 -0
  17. {pipecatcloud-0.1.1 → pipecatcloud-0.1.2}/dev-requirements.txt +0 -0
  18. {pipecatcloud-0.1.1 → pipecatcloud-0.1.2}/pipecat-cloud.png +0 -0
  19. {pipecatcloud-0.1.1 → pipecatcloud-0.1.2}/setup.cfg +0 -0
  20. {pipecatcloud-0.1.1 → pipecatcloud-0.1.2}/src/pipecatcloud/__main__.py +0 -0
  21. {pipecatcloud-0.1.1 → pipecatcloud-0.1.2}/src/pipecatcloud/__version__.py +0 -0
  22. {pipecatcloud-0.1.1 → pipecatcloud-0.1.2}/src/pipecatcloud/_utils/__init__.py +0 -0
  23. {pipecatcloud-0.1.1 → pipecatcloud-0.1.2}/src/pipecatcloud/_utils/async_utils.py +0 -0
  24. {pipecatcloud-0.1.1 → pipecatcloud-0.1.2}/src/pipecatcloud/_utils/auth_utils.py +0 -0
  25. {pipecatcloud-0.1.1 → pipecatcloud-0.1.2}/src/pipecatcloud/_utils/console_utils.py +0 -0
  26. {pipecatcloud-0.1.1 → pipecatcloud-0.1.2}/src/pipecatcloud/_utils/deploy_utils.py +0 -0
  27. {pipecatcloud-0.1.1 → pipecatcloud-0.1.2}/src/pipecatcloud/_utils/local_runner.py +0 -0
  28. {pipecatcloud-0.1.1 → pipecatcloud-0.1.2}/src/pipecatcloud/api.py +0 -0
  29. {pipecatcloud-0.1.1 → pipecatcloud-0.1.2}/src/pipecatcloud/cli/__init__.py +0 -0
  30. {pipecatcloud-0.1.1 → pipecatcloud-0.1.2}/src/pipecatcloud/cli/api.py +0 -0
  31. {pipecatcloud-0.1.1 → pipecatcloud-0.1.2}/src/pipecatcloud/cli/commands/__init__.py +0 -0
  32. {pipecatcloud-0.1.1 → pipecatcloud-0.1.2}/src/pipecatcloud/cli/commands/auth.py +0 -0
  33. {pipecatcloud-0.1.1 → pipecatcloud-0.1.2}/src/pipecatcloud/cli/commands/init.py +0 -0
  34. {pipecatcloud-0.1.1 → pipecatcloud-0.1.2}/src/pipecatcloud/cli/commands/organizations.py +0 -0
  35. {pipecatcloud-0.1.1 → pipecatcloud-0.1.2}/src/pipecatcloud/cli/commands/run.py +0 -0
  36. {pipecatcloud-0.1.1 → pipecatcloud-0.1.2}/src/pipecatcloud/cli/commands/secrets.py +0 -0
  37. {pipecatcloud-0.1.1 → pipecatcloud-0.1.2}/src/pipecatcloud/cli/config.py +0 -0
  38. {pipecatcloud-0.1.1 → pipecatcloud-0.1.2}/src/pipecatcloud/cli/entry_point.py +0 -0
  39. {pipecatcloud-0.1.1 → pipecatcloud-0.1.2}/src/pipecatcloud/config.py +0 -0
  40. {pipecatcloud-0.1.1 → pipecatcloud-0.1.2}/src/pipecatcloud/session.py +0 -0
  41. {pipecatcloud-0.1.1 → pipecatcloud-0.1.2}/src/pipecatcloud.egg-info/dependency_links.txt +0 -0
  42. {pipecatcloud-0.1.1 → pipecatcloud-0.1.2}/src/pipecatcloud.egg-info/entry_points.txt +0 -0
  43. {pipecatcloud-0.1.1 → pipecatcloud-0.1.2}/src/pipecatcloud.egg-info/requires.txt +0 -0
  44. {pipecatcloud-0.1.1 → pipecatcloud-0.1.2}/src/pipecatcloud.egg-info/top_level.txt +0 -0
@@ -7,6 +7,16 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [0.1.2] - 2025-03-12
11
+
12
+ ### Added
13
+
14
+ - `agent.py` data classes for use in base images, providing guidance on params
15
+
16
+ ### Fixed
17
+
18
+ - Lookup issue when passing an image pull secret to the `deploy` command
19
+
10
20
  ### Changed
11
21
 
12
22
  - Change the of deploy checks from 30 to 18, reducing the overall time for a
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: pipecatcloud
3
- Version: 0.1.1
3
+ Version: 0.1.2
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.1"
7
+ version = "0.1.2"
8
8
  requires-python = ">=3.10"
9
9
  description = "Cloud hosting for Pipecat AI applications"
10
10
  license = { text = "BSD 2-Clause License" }
@@ -9,7 +9,8 @@ import sys
9
9
 
10
10
  from loguru import logger
11
11
 
12
- from .exception import (
12
+ from pipecatcloud.agent import DailySessionArguments, SessionArguments, WebSocketSessionArguments
13
+ from pipecatcloud.exception import (
13
14
  AgentNotHealthyError,
14
15
  AgentStartError,
15
16
  AuthError,
@@ -18,13 +19,17 @@ from .exception import (
18
19
  Error,
19
20
  InvalidError,
20
21
  )
21
- from .session import Session, SessionParams
22
+ from pipecatcloud.session import Session, SessionParams
22
23
 
23
24
  logger.remove()
24
25
  logger.add(sys.stderr, level=str(os.getenv("PCC_LOG_LEVEL", "INFO")))
25
26
 
26
27
 
27
28
  __all__ = [
29
+ # Agent classes
30
+ "SessionArguments",
31
+ "DailySessionArguments",
32
+ "WebSocketSessionArguments",
28
33
  # Session classes
29
34
  "Session",
30
35
  "SessionParams",
@@ -0,0 +1,52 @@
1
+ #
2
+ # Copyright (c) 2025, Daily
3
+ #
4
+ # SPDX-License-Identifier: BSD 2-Clause License
5
+ #
6
+
7
+ from dataclasses import dataclass
8
+ from typing import Any, Optional
9
+
10
+ from fastapi import WebSocket
11
+
12
+
13
+ @dataclass
14
+ class SessionArguments:
15
+ """Base class for common agent session arguments. The arguments are received
16
+ by the bot() entry point.
17
+
18
+ """
19
+
20
+ session_id: Optional[str]
21
+
22
+
23
+ @dataclass
24
+ class PipecatSessionArguments(SessionArguments):
25
+ """Standard Pipecat Cloud agent session arguments. The arguments are
26
+ received by the bot() entry point.
27
+
28
+ """
29
+
30
+ body: Any
31
+
32
+
33
+ @dataclass
34
+ class DailySessionArguments(SessionArguments):
35
+ """Daily based agent session arguments. The arguments are received by the
36
+ bot() entry point.
37
+
38
+ """
39
+
40
+ room_url: str
41
+ token: str
42
+ body: Any
43
+
44
+
45
+ @dataclass
46
+ class WebSocketSessionArguments(SessionArguments):
47
+ """Websocket based agent session arguments. The arguments are received by
48
+ the bot() entry point.
49
+
50
+ """
51
+
52
+ websocket: WebSocket
@@ -360,7 +360,6 @@ async def deployments(
360
360
  response.raise_for_status()
361
361
 
362
362
  data = await response.json()
363
- print(data)
364
363
 
365
364
  table = Table(
366
365
  show_header=True,
@@ -94,7 +94,7 @@ async def _deploy(params: DeployConfigParams, org, force: bool = False):
94
94
  )
95
95
 
96
96
  if error:
97
- if error == 400:
97
+ if error.get("code") == "400":
98
98
  creds_exist = True
99
99
  else:
100
100
  API.print_error()
@@ -182,13 +182,32 @@ async def _deploy(params: DeployConfigParams, org, force: bool = False):
182
182
  console.error("Deployment failed with the above error")
183
183
  return typer.Exit()
184
184
 
185
+ # check for org secret
186
+ default_public_api_key = config.get("default_public_key")
187
+
185
188
  if is_ready:
186
- console.success(
187
- f"Agent deployment [bold]'{params.agent_name}'[/bold] is ready\n\n"
188
- f"[dim]Start a session with your new agent by running:\n[/dim]"
189
- f"[bold]`{PIPECAT_CLI_NAME} agent start {params.agent_name}`[/bold]",
190
- title_extra=f"{'Update' if existing_agent else 'Deployment'} complete",
191
- )
189
+ if not default_public_api_key:
190
+ console.print(
191
+ Panel(
192
+ f"No public API key provided. Please provide a public API key using the --api-key flag or set a default using [bold cyan]{PIPECAT_CLI_NAME} organizations keys use[/bold cyan].\n\n"
193
+ f"If you have not yet created a public API key, you can do so by running [bold cyan]{PIPECAT_CLI_NAME} organizations keys create[/bold cyan].\n\n"
194
+ f"Then...\n\n"
195
+ f"[dim]Start a session with your new agent by running:\n[/dim]"
196
+ f"[bold]`{PIPECAT_CLI_NAME} agent start {params.agent_name}`[/bold]",
197
+ title="Public API Key Required",
198
+ title_align="left",
199
+ border_style="yellow",
200
+ )
201
+ )
202
+
203
+ return typer.Exit(1)
204
+ else:
205
+ console.success(
206
+ f"Agent deployment [bold]'{params.agent_name}'[/bold] is ready\n\n"
207
+ f"[dim]Start a session with your new agent by running:\n[/dim]"
208
+ f"[bold]`{PIPECAT_CLI_NAME} agent start {params.agent_name}`[/bold]",
209
+ title_extra=f"{'Update' if existing_agent else 'Deployment'} complete",
210
+ )
192
211
  else:
193
212
  console.error(
194
213
  f"Deployment did not enter ready state within {MAX_ALIVE_CHECKS * ALIVE_CHECK_SLEEP} seconds. "
@@ -6,6 +6,8 @@
6
6
 
7
7
  from typing import Optional, Union
8
8
 
9
+ from pipecatcloud.cli import PIPECAT_CLI_NAME
10
+
9
11
 
10
12
  class Error(Exception):
11
13
  """Base class for exceptions in this module."""
@@ -24,7 +26,7 @@ class AuthError(Error):
24
26
 
25
27
  def __init__(
26
28
  self,
27
- message: str = "Unauthorized / token expired. Please run `pcc auth login` to login again.",
29
+ message: str = f"Unauthorized / token expired. Please run `{PIPECAT_CLI_NAME} auth login` to login again.",
28
30
  ):
29
31
  self.message = message
30
32
  super().__init__(self.message)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: pipecatcloud
3
- Version: 0.1.1
3
+ Version: 0.1.2
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/
@@ -11,6 +11,7 @@ pyproject.toml
11
11
  src/pipecatcloud/__init__.py
12
12
  src/pipecatcloud/__main__.py
13
13
  src/pipecatcloud/__version__.py
14
+ src/pipecatcloud/agent.py
14
15
  src/pipecatcloud/api.py
15
16
  src/pipecatcloud/config.py
16
17
  src/pipecatcloud/exception.py
File without changes
File without changes
File without changes
File without changes