pipecatcloud 0.2.0__tar.gz → 0.2.1__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 (47) hide show
  1. {pipecatcloud-0.2.0 → pipecatcloud-0.2.1}/CHANGELOG.md +26 -0
  2. {pipecatcloud-0.2.0/src/pipecatcloud.egg-info → pipecatcloud-0.2.1}/PKG-INFO +5 -3
  3. pipecatcloud-0.2.1/dev-requirements.txt +8 -0
  4. {pipecatcloud-0.2.0 → pipecatcloud-0.2.1}/pyproject.toml +6 -3
  5. pipecatcloud-0.2.1/src/pipecatcloud/agent.py +112 -0
  6. {pipecatcloud-0.2.0 → pipecatcloud-0.2.1}/src/pipecatcloud/cli/commands/secrets.py +7 -1
  7. {pipecatcloud-0.2.0 → pipecatcloud-0.2.1/src/pipecatcloud.egg-info}/PKG-INFO +5 -3
  8. {pipecatcloud-0.2.0 → pipecatcloud-0.2.1}/src/pipecatcloud.egg-info/requires.txt +5 -2
  9. pipecatcloud-0.2.0/dev-requirements.txt +0 -8
  10. pipecatcloud-0.2.0/src/pipecatcloud/agent.py +0 -52
  11. {pipecatcloud-0.2.0 → pipecatcloud-0.2.1}/.github/workflows/publish-pypi.yml +0 -0
  12. {pipecatcloud-0.2.0 → pipecatcloud-0.2.1}/.github/workflows/publish-test.yml +0 -0
  13. {pipecatcloud-0.2.0 → pipecatcloud-0.2.1}/.github/workflows/python-publish.yml +0 -0
  14. {pipecatcloud-0.2.0 → pipecatcloud-0.2.1}/.gitignore +0 -0
  15. {pipecatcloud-0.2.0 → pipecatcloud-0.2.1}/LICENSE +0 -0
  16. {pipecatcloud-0.2.0 → pipecatcloud-0.2.1}/README.md +0 -0
  17. {pipecatcloud-0.2.0 → pipecatcloud-0.2.1}/pipecat-cloud.png +0 -0
  18. {pipecatcloud-0.2.0 → pipecatcloud-0.2.1}/setup.cfg +0 -0
  19. {pipecatcloud-0.2.0 → pipecatcloud-0.2.1}/src/pipecatcloud/__init__.py +0 -0
  20. {pipecatcloud-0.2.0 → pipecatcloud-0.2.1}/src/pipecatcloud/__main__.py +0 -0
  21. {pipecatcloud-0.2.0 → pipecatcloud-0.2.1}/src/pipecatcloud/__version__.py +0 -0
  22. {pipecatcloud-0.2.0 → pipecatcloud-0.2.1}/src/pipecatcloud/_utils/__init__.py +0 -0
  23. {pipecatcloud-0.2.0 → pipecatcloud-0.2.1}/src/pipecatcloud/_utils/async_utils.py +0 -0
  24. {pipecatcloud-0.2.0 → pipecatcloud-0.2.1}/src/pipecatcloud/_utils/auth_utils.py +0 -0
  25. {pipecatcloud-0.2.0 → pipecatcloud-0.2.1}/src/pipecatcloud/_utils/console_utils.py +0 -0
  26. {pipecatcloud-0.2.0 → pipecatcloud-0.2.1}/src/pipecatcloud/_utils/deploy_utils.py +0 -0
  27. {pipecatcloud-0.2.0 → pipecatcloud-0.2.1}/src/pipecatcloud/_utils/local_runner.py +0 -0
  28. {pipecatcloud-0.2.0 → pipecatcloud-0.2.1}/src/pipecatcloud/api.py +0 -0
  29. {pipecatcloud-0.2.0 → pipecatcloud-0.2.1}/src/pipecatcloud/cli/__init__.py +0 -0
  30. {pipecatcloud-0.2.0 → pipecatcloud-0.2.1}/src/pipecatcloud/cli/api.py +0 -0
  31. {pipecatcloud-0.2.0 → pipecatcloud-0.2.1}/src/pipecatcloud/cli/commands/__init__.py +0 -0
  32. {pipecatcloud-0.2.0 → pipecatcloud-0.2.1}/src/pipecatcloud/cli/commands/agent.py +0 -0
  33. {pipecatcloud-0.2.0 → pipecatcloud-0.2.1}/src/pipecatcloud/cli/commands/auth.py +0 -0
  34. {pipecatcloud-0.2.0 → pipecatcloud-0.2.1}/src/pipecatcloud/cli/commands/deploy.py +0 -0
  35. {pipecatcloud-0.2.0 → pipecatcloud-0.2.1}/src/pipecatcloud/cli/commands/init.py +0 -0
  36. {pipecatcloud-0.2.0 → pipecatcloud-0.2.1}/src/pipecatcloud/cli/commands/organizations.py +0 -0
  37. {pipecatcloud-0.2.0 → pipecatcloud-0.2.1}/src/pipecatcloud/cli/commands/run.py +0 -0
  38. {pipecatcloud-0.2.0 → pipecatcloud-0.2.1}/src/pipecatcloud/cli/config.py +0 -0
  39. {pipecatcloud-0.2.0 → pipecatcloud-0.2.1}/src/pipecatcloud/cli/entry_point.py +0 -0
  40. {pipecatcloud-0.2.0 → pipecatcloud-0.2.1}/src/pipecatcloud/config.py +0 -0
  41. {pipecatcloud-0.2.0 → pipecatcloud-0.2.1}/src/pipecatcloud/exception.py +0 -0
  42. {pipecatcloud-0.2.0 → pipecatcloud-0.2.1}/src/pipecatcloud/py.typed +0 -0
  43. {pipecatcloud-0.2.0 → pipecatcloud-0.2.1}/src/pipecatcloud/session.py +0 -0
  44. {pipecatcloud-0.2.0 → pipecatcloud-0.2.1}/src/pipecatcloud.egg-info/SOURCES.txt +0 -0
  45. {pipecatcloud-0.2.0 → pipecatcloud-0.2.1}/src/pipecatcloud.egg-info/dependency_links.txt +0 -0
  46. {pipecatcloud-0.2.0 → pipecatcloud-0.2.1}/src/pipecatcloud.egg-info/entry_points.txt +0 -0
  47. {pipecatcloud-0.2.0 → pipecatcloud-0.2.1}/src/pipecatcloud.egg-info/top_level.txt +0 -0
@@ -7,6 +7,32 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+
11
+ ## [0.2.1] - 2025-08-02
12
+
13
+ ### Added
14
+
15
+ - Added a `pipecatcloud[pipecat]` extra for installing `pipecat-ai` dependency.
16
+
17
+ ### Changed
18
+
19
+ - Session argument types now inherit from pipecat-ai runner types when available.
20
+ `DailySessionArguments` and `WebSocketSessionArguments` now inherit from
21
+ `pipecat.runner.types` when `pipecat-ai>=0.0.77` is installed to provide
22
+ compatibility with the pipecat-ai development runner.
23
+
24
+ - Add clarifying information to the `pcc secrets image-pull-secret` setup.
25
+
26
+ - Modified the `aiohttp` minimum version to `3.11.12` and expanded `fastapi` to
27
+ `>=0.115.6,<0.117.0` in order to align with `pipecat-ai`.
28
+
29
+ ### Deprecated
30
+
31
+ - When `pipecat-ai` is not installed, session arguments fall back to standalone
32
+ implementations. This fallback behavior is deprecated and will be removed in
33
+ a future version. Install with `pip install pipecatcloud[pipecat]` for the
34
+ preferred implementation.
35
+
10
36
  ## [0.2.0] - 2025-07-09
11
37
 
12
38
  ### Changed
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pipecatcloud
3
- Version: 0.2.0
3
+ Version: 0.2.1
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/
@@ -8,8 +8,8 @@ Keywords: pipecat,pipecat-ai,voice,ai,llm
8
8
  Requires-Python: >=3.10
9
9
  Description-Content-Type: text/markdown
10
10
  License-File: LICENSE
11
- Requires-Dist: aiohttp<4.0.0,~=3.11.13
12
- Requires-Dist: fastapi~=0.115.6
11
+ Requires-Dist: aiohttp<4.0.0,>=3.11.12
12
+ Requires-Dist: fastapi<0.117.0,>=0.115.6
13
13
  Requires-Dist: loguru~=0.7.3
14
14
  Requires-Dist: python-dotenv~=1.0.1
15
15
  Requires-Dist: uvicorn~=0.32.0
@@ -17,6 +17,8 @@ Requires-Dist: typer~=0.15.3
17
17
  Requires-Dist: synchronicity~=0.7.6
18
18
  Requires-Dist: toml~=0.10.2
19
19
  Requires-Dist: questionary~=2.1.0
20
+ Provides-Extra: pipecat
21
+ Requires-Dist: pipecat-ai>=0.0.77; extra == "pipecat"
20
22
  Dynamic: license-file
21
23
 
22
24
  <h1><div align="center">
@@ -0,0 +1,8 @@
1
+ build~=1.2.2
2
+ grpcio-tools~=1.67.1
3
+ pip-tools~=7.4.1
4
+ pyright~=1.1.402
5
+ pytest~=8.4.1
6
+ ruff~=0.12.1
7
+ setuptools~=78.1.1
8
+ setuptools_scm~=8.3.1
@@ -4,15 +4,15 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "pipecatcloud"
7
- version = "0.2.0"
7
+ version = "0.2.1"
8
8
  requires-python = ">=3.10"
9
9
  description = "Cloud hosting for Pipecat AI applications"
10
10
  license = { text = "BSD 2-Clause License" }
11
11
  readme = "README.md"
12
12
  keywords = ["pipecat", "pipecat-ai", "voice", "ai", "llm"]
13
13
  dependencies = [
14
- "aiohttp~=3.11.13,<4.0.0",
15
- "fastapi~=0.115.6",
14
+ "aiohttp>=3.11.12,<4.0.0",
15
+ "fastapi>=0.115.6,<0.117.0",
16
16
  "loguru~=0.7.3",
17
17
  "python-dotenv~=1.0.1",
18
18
  "uvicorn~=0.32.0",
@@ -22,6 +22,9 @@ dependencies = [
22
22
  "questionary~=2.1.0"
23
23
  ]
24
24
 
25
+ [project.optional-dependencies]
26
+ pipecat = ["pipecat-ai>=0.0.77"]
27
+
25
28
  [project.scripts]
26
29
  pcc = "pipecatcloud.__main__:main"
27
30
  pipecatcloud = "pipecatcloud.__main__:main"
@@ -0,0 +1,112 @@
1
+ #
2
+ # Copyright (c) 2025, Daily
3
+ #
4
+ # SPDX-License-Identifier: BSD 2-Clause License
5
+ #
6
+
7
+ import warnings
8
+ from dataclasses import dataclass
9
+ from typing import Any, Optional
10
+
11
+ from fastapi import WebSocket
12
+
13
+ # Try to import new types from pipecat-ai
14
+ try:
15
+ from pipecat.runner.types import (
16
+ DailyRunnerArguments,
17
+ WebSocketRunnerArguments,
18
+ )
19
+
20
+ _PIPECAT_RUNNER_TYPES_AVAILABLE = True
21
+ except ImportError:
22
+ _PIPECAT_RUNNER_TYPES_AVAILABLE = False
23
+
24
+ # Fallback definitions
25
+ @dataclass
26
+ class DailyRunnerArguments:
27
+ """Fallback Daily runner arguments when pipecat-ai not available.
28
+
29
+ .. deprecated:: 0.2.1
30
+ Install pipecatcloud[pipecat] for better compatibility.
31
+ """
32
+
33
+ room_url: str
34
+ token: str
35
+ body: Any
36
+
37
+ @dataclass
38
+ class WebSocketRunnerArguments:
39
+ """Fallback WebSocket runner arguments when pipecat-ai not available.
40
+
41
+ .. deprecated:: 0.2.1
42
+ Install pipecatcloud[pipecat] for better compatibility.
43
+ """
44
+
45
+ websocket: WebSocket
46
+
47
+
48
+ def _warn_standalone_usage():
49
+ """Warn users about standalone session arguments usage."""
50
+ if not _PIPECAT_RUNNER_TYPES_AVAILABLE:
51
+ warnings.warn(
52
+ "Using standalone pipecatcloud session arguments without pipecat-ai. "
53
+ "For better compatibility, install: pip install pipecatcloud[pipecat]. "
54
+ "Standalone mode will be removed in a future release.",
55
+ DeprecationWarning,
56
+ stacklevel=3,
57
+ )
58
+
59
+
60
+ @dataclass
61
+ class SessionArguments:
62
+ """Base class for common agent session arguments.
63
+
64
+ The arguments are received by the bot() entry point.
65
+
66
+ Parameters:
67
+ session_id (Optional[str]): The unique identifier for the session.
68
+ This is used to track the session across requests.
69
+ """
70
+
71
+ session_id: Optional[str]
72
+
73
+
74
+ @dataclass
75
+ class PipecatSessionArguments(SessionArguments):
76
+ """Standard Pipecat Cloud agent session arguments.
77
+
78
+ The arguments are received by the bot() entry point.
79
+
80
+ Parameters:
81
+ body (Any): The body of the request.
82
+ """
83
+
84
+ body: Any
85
+
86
+
87
+ @dataclass
88
+ class DailySessionArguments(DailyRunnerArguments, SessionArguments):
89
+ """Daily based agent session arguments.
90
+
91
+ Inherits from DailyRunnerArguments for compatibility with pipecat-ai runner.
92
+ When pipecat-ai is not installed, uses a fallback implementation (deprecated).
93
+
94
+ For best compatibility, install: pip install pipecatcloud[pipecat]
95
+ """
96
+
97
+ def __post_init__(self):
98
+ _warn_standalone_usage()
99
+
100
+
101
+ @dataclass
102
+ class WebSocketSessionArguments(WebSocketRunnerArguments, SessionArguments):
103
+ """WebSocket based agent session arguments.
104
+
105
+ Inherits from WebSocketRunnerArguments for compatibility with pipecat-ai runner.
106
+ When pipecat-ai is not installed, uses a fallback implementation (deprecated).
107
+
108
+ For best compatibility, install: pip install pipecatcloud[pipecat]
109
+ """
110
+
111
+ def __post_init__(self):
112
+ _warn_standalone_usage()
@@ -471,8 +471,14 @@ async def image_pull_secret(
471
471
  return typer.Exit(1)
472
472
 
473
473
  if not credentials:
474
+ console.print(
475
+ "[cyan]For more information about image pull secrets, see: "
476
+ "https://docs.pipecat.daily.co/agents/secrets#image-pull-secrets[/cyan]\n"
477
+ )
474
478
  username = await questionary.text(f"Username for image repository '{host}'").ask_async()
475
- password = await questionary.password(f"Password for image repository '{host}'").ask_async()
479
+ password = await questionary.password(
480
+ f"Access token for image repository '{host}'"
481
+ ).ask_async()
476
482
  if not username or not password:
477
483
  console.print("[bold red]Image pull secret creation cancelled[/bold red]")
478
484
  return typer.Exit(1)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pipecatcloud
3
- Version: 0.2.0
3
+ Version: 0.2.1
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/
@@ -8,8 +8,8 @@ Keywords: pipecat,pipecat-ai,voice,ai,llm
8
8
  Requires-Python: >=3.10
9
9
  Description-Content-Type: text/markdown
10
10
  License-File: LICENSE
11
- Requires-Dist: aiohttp<4.0.0,~=3.11.13
12
- Requires-Dist: fastapi~=0.115.6
11
+ Requires-Dist: aiohttp<4.0.0,>=3.11.12
12
+ Requires-Dist: fastapi<0.117.0,>=0.115.6
13
13
  Requires-Dist: loguru~=0.7.3
14
14
  Requires-Dist: python-dotenv~=1.0.1
15
15
  Requires-Dist: uvicorn~=0.32.0
@@ -17,6 +17,8 @@ Requires-Dist: typer~=0.15.3
17
17
  Requires-Dist: synchronicity~=0.7.6
18
18
  Requires-Dist: toml~=0.10.2
19
19
  Requires-Dist: questionary~=2.1.0
20
+ Provides-Extra: pipecat
21
+ Requires-Dist: pipecat-ai>=0.0.77; extra == "pipecat"
20
22
  Dynamic: license-file
21
23
 
22
24
  <h1><div align="center">
@@ -1,5 +1,5 @@
1
- aiohttp<4.0.0,~=3.11.13
2
- fastapi~=0.115.6
1
+ aiohttp<4.0.0,>=3.11.12
2
+ fastapi<0.117.0,>=0.115.6
3
3
  loguru~=0.7.3
4
4
  python-dotenv~=1.0.1
5
5
  uvicorn~=0.32.0
@@ -7,3 +7,6 @@ typer~=0.15.3
7
7
  synchronicity~=0.7.6
8
8
  toml~=0.10.2
9
9
  questionary~=2.1.0
10
+
11
+ [pipecat]
12
+ pipecat-ai>=0.0.77
@@ -1,8 +0,0 @@
1
- build~=1.2.1
2
- grpcio-tools~=1.62.2
3
- pip-tools~=7.4.1
4
- pyright~=1.1.376
5
- pytest~=8.3.2
6
- ruff~=0.6.7
7
- setuptools~=72.2.0
8
- setuptools_scm~=8.1.0
@@ -1,52 +0,0 @@
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
File without changes
File without changes
File without changes
File without changes