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.
- {pipecatcloud-0.2.0 → pipecatcloud-0.2.1}/CHANGELOG.md +26 -0
- {pipecatcloud-0.2.0/src/pipecatcloud.egg-info → pipecatcloud-0.2.1}/PKG-INFO +5 -3
- pipecatcloud-0.2.1/dev-requirements.txt +8 -0
- {pipecatcloud-0.2.0 → pipecatcloud-0.2.1}/pyproject.toml +6 -3
- pipecatcloud-0.2.1/src/pipecatcloud/agent.py +112 -0
- {pipecatcloud-0.2.0 → pipecatcloud-0.2.1}/src/pipecatcloud/cli/commands/secrets.py +7 -1
- {pipecatcloud-0.2.0 → pipecatcloud-0.2.1/src/pipecatcloud.egg-info}/PKG-INFO +5 -3
- {pipecatcloud-0.2.0 → pipecatcloud-0.2.1}/src/pipecatcloud.egg-info/requires.txt +5 -2
- pipecatcloud-0.2.0/dev-requirements.txt +0 -8
- pipecatcloud-0.2.0/src/pipecatcloud/agent.py +0 -52
- {pipecatcloud-0.2.0 → pipecatcloud-0.2.1}/.github/workflows/publish-pypi.yml +0 -0
- {pipecatcloud-0.2.0 → pipecatcloud-0.2.1}/.github/workflows/publish-test.yml +0 -0
- {pipecatcloud-0.2.0 → pipecatcloud-0.2.1}/.github/workflows/python-publish.yml +0 -0
- {pipecatcloud-0.2.0 → pipecatcloud-0.2.1}/.gitignore +0 -0
- {pipecatcloud-0.2.0 → pipecatcloud-0.2.1}/LICENSE +0 -0
- {pipecatcloud-0.2.0 → pipecatcloud-0.2.1}/README.md +0 -0
- {pipecatcloud-0.2.0 → pipecatcloud-0.2.1}/pipecat-cloud.png +0 -0
- {pipecatcloud-0.2.0 → pipecatcloud-0.2.1}/setup.cfg +0 -0
- {pipecatcloud-0.2.0 → pipecatcloud-0.2.1}/src/pipecatcloud/__init__.py +0 -0
- {pipecatcloud-0.2.0 → pipecatcloud-0.2.1}/src/pipecatcloud/__main__.py +0 -0
- {pipecatcloud-0.2.0 → pipecatcloud-0.2.1}/src/pipecatcloud/__version__.py +0 -0
- {pipecatcloud-0.2.0 → pipecatcloud-0.2.1}/src/pipecatcloud/_utils/__init__.py +0 -0
- {pipecatcloud-0.2.0 → pipecatcloud-0.2.1}/src/pipecatcloud/_utils/async_utils.py +0 -0
- {pipecatcloud-0.2.0 → pipecatcloud-0.2.1}/src/pipecatcloud/_utils/auth_utils.py +0 -0
- {pipecatcloud-0.2.0 → pipecatcloud-0.2.1}/src/pipecatcloud/_utils/console_utils.py +0 -0
- {pipecatcloud-0.2.0 → pipecatcloud-0.2.1}/src/pipecatcloud/_utils/deploy_utils.py +0 -0
- {pipecatcloud-0.2.0 → pipecatcloud-0.2.1}/src/pipecatcloud/_utils/local_runner.py +0 -0
- {pipecatcloud-0.2.0 → pipecatcloud-0.2.1}/src/pipecatcloud/api.py +0 -0
- {pipecatcloud-0.2.0 → pipecatcloud-0.2.1}/src/pipecatcloud/cli/__init__.py +0 -0
- {pipecatcloud-0.2.0 → pipecatcloud-0.2.1}/src/pipecatcloud/cli/api.py +0 -0
- {pipecatcloud-0.2.0 → pipecatcloud-0.2.1}/src/pipecatcloud/cli/commands/__init__.py +0 -0
- {pipecatcloud-0.2.0 → pipecatcloud-0.2.1}/src/pipecatcloud/cli/commands/agent.py +0 -0
- {pipecatcloud-0.2.0 → pipecatcloud-0.2.1}/src/pipecatcloud/cli/commands/auth.py +0 -0
- {pipecatcloud-0.2.0 → pipecatcloud-0.2.1}/src/pipecatcloud/cli/commands/deploy.py +0 -0
- {pipecatcloud-0.2.0 → pipecatcloud-0.2.1}/src/pipecatcloud/cli/commands/init.py +0 -0
- {pipecatcloud-0.2.0 → pipecatcloud-0.2.1}/src/pipecatcloud/cli/commands/organizations.py +0 -0
- {pipecatcloud-0.2.0 → pipecatcloud-0.2.1}/src/pipecatcloud/cli/commands/run.py +0 -0
- {pipecatcloud-0.2.0 → pipecatcloud-0.2.1}/src/pipecatcloud/cli/config.py +0 -0
- {pipecatcloud-0.2.0 → pipecatcloud-0.2.1}/src/pipecatcloud/cli/entry_point.py +0 -0
- {pipecatcloud-0.2.0 → pipecatcloud-0.2.1}/src/pipecatcloud/config.py +0 -0
- {pipecatcloud-0.2.0 → pipecatcloud-0.2.1}/src/pipecatcloud/exception.py +0 -0
- {pipecatcloud-0.2.0 → pipecatcloud-0.2.1}/src/pipecatcloud/py.typed +0 -0
- {pipecatcloud-0.2.0 → pipecatcloud-0.2.1}/src/pipecatcloud/session.py +0 -0
- {pipecatcloud-0.2.0 → pipecatcloud-0.2.1}/src/pipecatcloud.egg-info/SOURCES.txt +0 -0
- {pipecatcloud-0.2.0 → pipecatcloud-0.2.1}/src/pipecatcloud.egg-info/dependency_links.txt +0 -0
- {pipecatcloud-0.2.0 → pipecatcloud-0.2.1}/src/pipecatcloud.egg-info/entry_points.txt +0 -0
- {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.
|
|
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
|
|
12
|
-
Requires-Dist: fastapi
|
|
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">
|
|
@@ -4,15 +4,15 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "pipecatcloud"
|
|
7
|
-
version = "0.2.
|
|
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
|
|
15
|
-
"fastapi
|
|
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(
|
|
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.
|
|
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
|
|
12
|
-
Requires-Dist: fastapi
|
|
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
|
|
2
|
-
fastapi
|
|
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,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
|
|
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
|