pipecatcloud 0.2.9__tar.gz → 0.2.10__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.9 → pipecatcloud-0.2.10}/CHANGELOG.md +7 -0
- {pipecatcloud-0.2.9/src/pipecatcloud.egg-info → pipecatcloud-0.2.10}/PKG-INFO +2 -2
- {pipecatcloud-0.2.9 → pipecatcloud-0.2.10}/pyproject.toml +1 -1
- {pipecatcloud-0.2.9 → pipecatcloud-0.2.10}/src/pipecatcloud/cli/entry_point.py +2 -6
- {pipecatcloud-0.2.9 → pipecatcloud-0.2.10/src/pipecatcloud.egg-info}/PKG-INFO +2 -2
- {pipecatcloud-0.2.9 → pipecatcloud-0.2.10}/src/pipecatcloud.egg-info/SOURCES.txt +0 -1
- {pipecatcloud-0.2.9 → pipecatcloud-0.2.10}/src/pipecatcloud.egg-info/requires.txt +1 -1
- pipecatcloud-0.2.9/src/pipecatcloud/cli/commands/init.py +0 -142
- {pipecatcloud-0.2.9 → pipecatcloud-0.2.10}/.github/workflows/publish-pypi.yml +0 -0
- {pipecatcloud-0.2.9 → pipecatcloud-0.2.10}/.github/workflows/publish-test.yml +0 -0
- {pipecatcloud-0.2.9 → pipecatcloud-0.2.10}/.github/workflows/tests.yml +0 -0
- {pipecatcloud-0.2.9 → pipecatcloud-0.2.10}/.gitignore +0 -0
- {pipecatcloud-0.2.9 → pipecatcloud-0.2.10}/LICENSE +0 -0
- {pipecatcloud-0.2.9 → pipecatcloud-0.2.10}/README.md +0 -0
- {pipecatcloud-0.2.9 → pipecatcloud-0.2.10}/pipecat-cloud.png +0 -0
- {pipecatcloud-0.2.9 → pipecatcloud-0.2.10}/pytest.ini +0 -0
- {pipecatcloud-0.2.9 → pipecatcloud-0.2.10}/setup.cfg +0 -0
- {pipecatcloud-0.2.9 → pipecatcloud-0.2.10}/src/pipecatcloud/__init__.py +0 -0
- {pipecatcloud-0.2.9 → pipecatcloud-0.2.10}/src/pipecatcloud/__main__.py +0 -0
- {pipecatcloud-0.2.9 → pipecatcloud-0.2.10}/src/pipecatcloud/__version__.py +0 -0
- {pipecatcloud-0.2.9 → pipecatcloud-0.2.10}/src/pipecatcloud/_utils/__init__.py +0 -0
- {pipecatcloud-0.2.9 → pipecatcloud-0.2.10}/src/pipecatcloud/_utils/async_utils.py +0 -0
- {pipecatcloud-0.2.9 → pipecatcloud-0.2.10}/src/pipecatcloud/_utils/auth_utils.py +0 -0
- {pipecatcloud-0.2.9 → pipecatcloud-0.2.10}/src/pipecatcloud/_utils/console_utils.py +0 -0
- {pipecatcloud-0.2.9 → pipecatcloud-0.2.10}/src/pipecatcloud/_utils/deploy_utils.py +0 -0
- {pipecatcloud-0.2.9 → pipecatcloud-0.2.10}/src/pipecatcloud/_utils/local_runner.py +0 -0
- {pipecatcloud-0.2.9 → pipecatcloud-0.2.10}/src/pipecatcloud/agent.py +0 -0
- {pipecatcloud-0.2.9 → pipecatcloud-0.2.10}/src/pipecatcloud/api.py +0 -0
- {pipecatcloud-0.2.9 → pipecatcloud-0.2.10}/src/pipecatcloud/cli/__init__.py +0 -0
- {pipecatcloud-0.2.9 → pipecatcloud-0.2.10}/src/pipecatcloud/cli/api.py +0 -0
- {pipecatcloud-0.2.9 → pipecatcloud-0.2.10}/src/pipecatcloud/cli/commands/__init__.py +0 -0
- {pipecatcloud-0.2.9 → pipecatcloud-0.2.10}/src/pipecatcloud/cli/commands/agent.py +0 -0
- {pipecatcloud-0.2.9 → pipecatcloud-0.2.10}/src/pipecatcloud/cli/commands/auth.py +0 -0
- {pipecatcloud-0.2.9 → pipecatcloud-0.2.10}/src/pipecatcloud/cli/commands/deploy.py +0 -0
- {pipecatcloud-0.2.9 → pipecatcloud-0.2.10}/src/pipecatcloud/cli/commands/docker.py +0 -0
- {pipecatcloud-0.2.9 → pipecatcloud-0.2.10}/src/pipecatcloud/cli/commands/organizations.py +0 -0
- {pipecatcloud-0.2.9 → pipecatcloud-0.2.10}/src/pipecatcloud/cli/commands/run.py +0 -0
- {pipecatcloud-0.2.9 → pipecatcloud-0.2.10}/src/pipecatcloud/cli/commands/secrets.py +0 -0
- {pipecatcloud-0.2.9 → pipecatcloud-0.2.10}/src/pipecatcloud/cli/config.py +0 -0
- {pipecatcloud-0.2.9 → pipecatcloud-0.2.10}/src/pipecatcloud/config.py +0 -0
- {pipecatcloud-0.2.9 → pipecatcloud-0.2.10}/src/pipecatcloud/constants.py +0 -0
- {pipecatcloud-0.2.9 → pipecatcloud-0.2.10}/src/pipecatcloud/exception.py +0 -0
- {pipecatcloud-0.2.9 → pipecatcloud-0.2.10}/src/pipecatcloud/py.typed +0 -0
- {pipecatcloud-0.2.9 → pipecatcloud-0.2.10}/src/pipecatcloud/session.py +0 -0
- {pipecatcloud-0.2.9 → pipecatcloud-0.2.10}/src/pipecatcloud/smallwebrtc/session_manager.py +0 -0
- {pipecatcloud-0.2.9 → pipecatcloud-0.2.10}/src/pipecatcloud.egg-info/dependency_links.txt +0 -0
- {pipecatcloud-0.2.9 → pipecatcloud-0.2.10}/src/pipecatcloud.egg-info/entry_points.txt +0 -0
- {pipecatcloud-0.2.9 → pipecatcloud-0.2.10}/src/pipecatcloud.egg-info/top_level.txt +0 -0
- {pipecatcloud-0.2.9 → pipecatcloud-0.2.10}/tests/__init__.py +0 -0
- {pipecatcloud-0.2.9 → pipecatcloud-0.2.10}/tests/test_agent_sessions.py +0 -0
- {pipecatcloud-0.2.9 → pipecatcloud-0.2.10}/tests/test_agent_stop.py +0 -0
- {pipecatcloud-0.2.9 → pipecatcloud-0.2.10}/tests/test_docker_commands.py +0 -0
- {pipecatcloud-0.2.9 → pipecatcloud-0.2.10}/tests/test_krisp_viva.py +0 -0
- {pipecatcloud-0.2.9 → pipecatcloud-0.2.10}/tests/test_managed_keys.py +0 -0
|
@@ -5,6 +5,13 @@ All notable changes to **Pipecat Cloud** will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [0.2.10] - 2025-10-25
|
|
9
|
+
|
|
10
|
+
### Removed
|
|
11
|
+
|
|
12
|
+
- The `init` command was removed. Use the `pipecat-ai-cli`'s `init` command to
|
|
13
|
+
scaffold your project.
|
|
14
|
+
|
|
8
15
|
## [0.2.9] - 2025-10-24
|
|
9
16
|
|
|
10
17
|
### Added
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: pipecatcloud
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.10
|
|
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/
|
|
@@ -13,7 +13,7 @@ Requires-Dist: fastapi<0.117.0,>=0.115.6
|
|
|
13
13
|
Requires-Dist: loguru~=0.7.3
|
|
14
14
|
Requires-Dist: python-dotenv<2.0.0,>=1.0.1
|
|
15
15
|
Requires-Dist: uvicorn<1.0.0,>=0.32.0
|
|
16
|
-
Requires-Dist: typer<0.
|
|
16
|
+
Requires-Dist: typer<1,>=0.20.0
|
|
17
17
|
Requires-Dist: synchronicity~=0.7.6
|
|
18
18
|
Requires-Dist: toml~=0.10.2
|
|
19
19
|
Requires-Dist: questionary~=2.1.0
|
|
@@ -14,7 +14,6 @@ from pipecatcloud.cli.commands.agent import agent_cli
|
|
|
14
14
|
from pipecatcloud.cli.commands.auth import auth_cli
|
|
15
15
|
from pipecatcloud.cli.commands.deploy import create_deploy_command
|
|
16
16
|
from pipecatcloud.cli.commands.docker import create_docker_command
|
|
17
|
-
from pipecatcloud.cli.commands.init import create_init_command
|
|
18
17
|
from pipecatcloud.cli.commands.organizations import organization_cli
|
|
19
18
|
from pipecatcloud.cli.commands.run import create_run_command
|
|
20
19
|
from pipecatcloud.cli.commands.secrets import secrets_cli
|
|
@@ -62,10 +61,8 @@ entrypoint_cli_typer = typer.Typer(
|
|
|
62
61
|
no_args_is_help=True,
|
|
63
62
|
add_completion=False,
|
|
64
63
|
rich_markup_mode="markdown",
|
|
65
|
-
|
|
66
|
-
ᓚᘏᗢ Pipecat Cloud CLI
|
|
67
|
-
See website at https://pipecat.daily.co
|
|
68
|
-
""",
|
|
64
|
+
short_help="Deploy and manage bots on Pipecat Cloud",
|
|
65
|
+
help="ᓚᘏᗢ Pipecat Cloud CLI. See website at https://pipecat.daily.co",
|
|
69
66
|
)
|
|
70
67
|
|
|
71
68
|
|
|
@@ -79,7 +76,6 @@ def cli(
|
|
|
79
76
|
|
|
80
77
|
|
|
81
78
|
create_run_command(entrypoint_cli_typer)
|
|
82
|
-
create_init_command(entrypoint_cli_typer)
|
|
83
79
|
create_deploy_command(entrypoint_cli_typer)
|
|
84
80
|
create_docker_command(entrypoint_cli_typer)
|
|
85
81
|
entrypoint_cli_typer.add_typer(auth_cli, rich_help_panel="Commands")
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: pipecatcloud
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.10
|
|
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/
|
|
@@ -13,7 +13,7 @@ Requires-Dist: fastapi<0.117.0,>=0.115.6
|
|
|
13
13
|
Requires-Dist: loguru~=0.7.3
|
|
14
14
|
Requires-Dist: python-dotenv<2.0.0,>=1.0.1
|
|
15
15
|
Requires-Dist: uvicorn<1.0.0,>=0.32.0
|
|
16
|
-
Requires-Dist: typer<0.
|
|
16
|
+
Requires-Dist: typer<1,>=0.20.0
|
|
17
17
|
Requires-Dist: synchronicity~=0.7.6
|
|
18
18
|
Requires-Dist: toml~=0.10.2
|
|
19
19
|
Requires-Dist: questionary~=2.1.0
|
|
@@ -39,7 +39,6 @@ src/pipecatcloud/cli/commands/agent.py
|
|
|
39
39
|
src/pipecatcloud/cli/commands/auth.py
|
|
40
40
|
src/pipecatcloud/cli/commands/deploy.py
|
|
41
41
|
src/pipecatcloud/cli/commands/docker.py
|
|
42
|
-
src/pipecatcloud/cli/commands/init.py
|
|
43
42
|
src/pipecatcloud/cli/commands/organizations.py
|
|
44
43
|
src/pipecatcloud/cli/commands/run.py
|
|
45
44
|
src/pipecatcloud/cli/commands/secrets.py
|
|
@@ -1,142 +0,0 @@
|
|
|
1
|
-
#
|
|
2
|
-
# Copyright (c) 2025, Daily
|
|
3
|
-
#
|
|
4
|
-
# SPDX-License-Identifier: BSD 2-Clause License
|
|
5
|
-
#
|
|
6
|
-
|
|
7
|
-
import os
|
|
8
|
-
import warnings
|
|
9
|
-
import zipfile
|
|
10
|
-
from typing import Set
|
|
11
|
-
|
|
12
|
-
import aiohttp
|
|
13
|
-
import questionary
|
|
14
|
-
import typer
|
|
15
|
-
|
|
16
|
-
from pipecatcloud._utils.async_utils import synchronizer
|
|
17
|
-
from pipecatcloud._utils.console_utils import console
|
|
18
|
-
from pipecatcloud.config import config
|
|
19
|
-
|
|
20
|
-
# ----- Init
|
|
21
|
-
|
|
22
|
-
FILES_TO_EXTRACT = {
|
|
23
|
-
"pipecat-quickstart-main/bot.py",
|
|
24
|
-
"pipecat-quickstart-main/Dockerfile",
|
|
25
|
-
"pipecat-quickstart-main/pcc-deploy.toml",
|
|
26
|
-
"pipecat-quickstart-main/README.md",
|
|
27
|
-
"pipecat-quickstart-main/.gitignore",
|
|
28
|
-
"pipecat-quickstart-main/env.example",
|
|
29
|
-
"pipecat-quickstart-main/pyproject.toml",
|
|
30
|
-
"pipecat-quickstart-main/uv.lock",
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
def check_existing_files() -> Set[str]:
|
|
35
|
-
"""Check which target files already exist in the current directory."""
|
|
36
|
-
return {
|
|
37
|
-
os.path.basename(file)
|
|
38
|
-
for file in FILES_TO_EXTRACT
|
|
39
|
-
if os.path.exists(os.path.basename(file))
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
def create_init_command(app: typer.Typer):
|
|
44
|
-
@app.command(
|
|
45
|
-
name="init",
|
|
46
|
-
help="[DEPRECATED] Initialize project directory with template files",
|
|
47
|
-
deprecated=True,
|
|
48
|
-
)
|
|
49
|
-
@synchronizer.create_blocking
|
|
50
|
-
async def init():
|
|
51
|
-
warnings.warn(
|
|
52
|
-
"The 'pcc init' command is deprecated and will be removed in a future version. "
|
|
53
|
-
"Please use the Pipecat CLI instead: https://github.com/pipecat-ai/pipecat-cli",
|
|
54
|
-
DeprecationWarning,
|
|
55
|
-
stacklevel=2,
|
|
56
|
-
)
|
|
57
|
-
console.print(
|
|
58
|
-
"[yellow]Warning:[/yellow] The 'pcc init' command is deprecated and will be removed in a future version.\n"
|
|
59
|
-
"Please use the Pipecat CLI instead: "
|
|
60
|
-
"[link=https://github.com/pipecat-ai/pipecat-cli]https://github.com/pipecat-ai/pipecat-cli[/link]"
|
|
61
|
-
)
|
|
62
|
-
|
|
63
|
-
if not await questionary.confirm(
|
|
64
|
-
"This will download the latest starter project to the current directory. Continue?"
|
|
65
|
-
).ask_async():
|
|
66
|
-
console.print("[bold]Aborting init request[/bold]")
|
|
67
|
-
return typer.Exit(1)
|
|
68
|
-
|
|
69
|
-
# Check existing files more efficiently
|
|
70
|
-
existing_files = check_existing_files()
|
|
71
|
-
if existing_files:
|
|
72
|
-
files_list = "\n".join(f"- {f}" for f in existing_files)
|
|
73
|
-
if not await questionary.confirm(
|
|
74
|
-
f"The following files already exist and will be overwritten:\n{files_list}\nDo you want to continue?"
|
|
75
|
-
).ask_async():
|
|
76
|
-
console.print("[bold]Aborting init request[/bold]")
|
|
77
|
-
return typer.Exit(1)
|
|
78
|
-
|
|
79
|
-
zip_path = "init.zip"
|
|
80
|
-
try:
|
|
81
|
-
with console.status("[dim]Downloading starter project...[/dim]", spinner="dots"):
|
|
82
|
-
zip_url = config.get("init_zip_url")
|
|
83
|
-
if not zip_url:
|
|
84
|
-
raise ValueError("No starter project URL found in configuration")
|
|
85
|
-
|
|
86
|
-
async with aiohttp.ClientSession() as session:
|
|
87
|
-
async with session.get(zip_url) as response:
|
|
88
|
-
if response.status != 200:
|
|
89
|
-
raise aiohttp.ClientResponseError(
|
|
90
|
-
response.request_info,
|
|
91
|
-
response.history,
|
|
92
|
-
status=response.status,
|
|
93
|
-
message=f"Failed to download starter project: {response.reason}",
|
|
94
|
-
)
|
|
95
|
-
|
|
96
|
-
# Stream the download to a file
|
|
97
|
-
with open(zip_path, "wb") as f:
|
|
98
|
-
async for chunk in response.content.iter_chunked(8192):
|
|
99
|
-
f.write(chunk)
|
|
100
|
-
|
|
101
|
-
# Extract files
|
|
102
|
-
with zipfile.ZipFile(zip_path, "r") as zip_ref:
|
|
103
|
-
for file in FILES_TO_EXTRACT:
|
|
104
|
-
try:
|
|
105
|
-
source = zip_ref.read(file)
|
|
106
|
-
target = os.path.basename(file)
|
|
107
|
-
with open(target, "wb") as f:
|
|
108
|
-
f.write(source)
|
|
109
|
-
except KeyError:
|
|
110
|
-
console.print(
|
|
111
|
-
f"[yellow]Warning:[/yellow] File {file} not found in starter project"
|
|
112
|
-
)
|
|
113
|
-
except Exception as e:
|
|
114
|
-
raise Exception(f"Failed to extract {file}: {str(e)}")
|
|
115
|
-
|
|
116
|
-
console.success(
|
|
117
|
-
"You can now start building your agent in [bold]bot.py[/bold]"
|
|
118
|
-
"\n\n"
|
|
119
|
-
"Follow the steps in the [bold]README.md[/bold] file to get started.",
|
|
120
|
-
title="Project files downloaded successfully",
|
|
121
|
-
)
|
|
122
|
-
|
|
123
|
-
except aiohttp.ClientError as e:
|
|
124
|
-
console.error(f"Network error while downloading starter project: {str(e)}")
|
|
125
|
-
return typer.Exit(1)
|
|
126
|
-
except zipfile.BadZipFile:
|
|
127
|
-
console.error("Downloaded file is not a valid zip archive")
|
|
128
|
-
return typer.Exit(1)
|
|
129
|
-
except Exception as e:
|
|
130
|
-
console.error(f"Error during initialization: {str(e)}")
|
|
131
|
-
return typer.Exit(1)
|
|
132
|
-
finally:
|
|
133
|
-
# Cleanup the temporary zip file
|
|
134
|
-
if os.path.exists(zip_path):
|
|
135
|
-
try:
|
|
136
|
-
os.remove(zip_path)
|
|
137
|
-
except Exception as e:
|
|
138
|
-
console.print(
|
|
139
|
-
f"[yellow]Warning:[/yellow] Failed to cleanup temporary file {zip_path}: {str(e)}"
|
|
140
|
-
)
|
|
141
|
-
|
|
142
|
-
return init
|
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|