pipecatcloud 0.2.17__tar.gz → 0.2.18__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 (60) hide show
  1. {pipecatcloud-0.2.17 → pipecatcloud-0.2.18}/CHANGELOG.md +15 -0
  2. {pipecatcloud-0.2.17 → pipecatcloud-0.2.18}/PKG-INFO +2 -2
  3. {pipecatcloud-0.2.17 → pipecatcloud-0.2.18}/pyproject.toml +1 -1
  4. {pipecatcloud-0.2.17 → pipecatcloud-0.2.18}/src/pipecatcloud/cli/commands/agent.py +6 -0
  5. {pipecatcloud-0.2.17 → pipecatcloud-0.2.18}/src/pipecatcloud/cli/commands/auth.py +25 -24
  6. {pipecatcloud-0.2.17 → pipecatcloud-0.2.18}/src/pipecatcloud.egg-info/PKG-INFO +2 -2
  7. {pipecatcloud-0.2.17 → pipecatcloud-0.2.18}/src/pipecatcloud.egg-info/requires.txt +1 -1
  8. {pipecatcloud-0.2.17 → pipecatcloud-0.2.18}/uv.lock +5 -17
  9. {pipecatcloud-0.2.17 → pipecatcloud-0.2.18}/.github/workflows/format.yml +0 -0
  10. {pipecatcloud-0.2.17 → pipecatcloud-0.2.18}/.github/workflows/publish-pypi.yml +0 -0
  11. {pipecatcloud-0.2.17 → pipecatcloud-0.2.18}/.github/workflows/publish-test.yml +0 -0
  12. {pipecatcloud-0.2.17 → pipecatcloud-0.2.18}/.github/workflows/tests.yml +0 -0
  13. {pipecatcloud-0.2.17 → pipecatcloud-0.2.18}/.gitignore +0 -0
  14. {pipecatcloud-0.2.17 → pipecatcloud-0.2.18}/.pre-commit-config.yaml +0 -0
  15. {pipecatcloud-0.2.17 → pipecatcloud-0.2.18}/LICENSE +0 -0
  16. {pipecatcloud-0.2.17 → pipecatcloud-0.2.18}/README.md +0 -0
  17. {pipecatcloud-0.2.17 → pipecatcloud-0.2.18}/pipecat-cloud.png +0 -0
  18. {pipecatcloud-0.2.17 → pipecatcloud-0.2.18}/pytest.ini +0 -0
  19. {pipecatcloud-0.2.17 → pipecatcloud-0.2.18}/scripts/fix-ruff.sh +0 -0
  20. {pipecatcloud-0.2.17 → pipecatcloud-0.2.18}/scripts/pre-commit.sh +0 -0
  21. {pipecatcloud-0.2.17 → pipecatcloud-0.2.18}/setup.cfg +0 -0
  22. {pipecatcloud-0.2.17 → pipecatcloud-0.2.18}/src/pipecatcloud/__init__.py +0 -0
  23. {pipecatcloud-0.2.17 → pipecatcloud-0.2.18}/src/pipecatcloud/__main__.py +0 -0
  24. {pipecatcloud-0.2.17 → pipecatcloud-0.2.18}/src/pipecatcloud/__version__.py +0 -0
  25. {pipecatcloud-0.2.17 → pipecatcloud-0.2.18}/src/pipecatcloud/_utils/__init__.py +0 -0
  26. {pipecatcloud-0.2.17 → pipecatcloud-0.2.18}/src/pipecatcloud/_utils/async_utils.py +0 -0
  27. {pipecatcloud-0.2.17 → pipecatcloud-0.2.18}/src/pipecatcloud/_utils/auth_utils.py +0 -0
  28. {pipecatcloud-0.2.17 → pipecatcloud-0.2.18}/src/pipecatcloud/_utils/console_utils.py +0 -0
  29. {pipecatcloud-0.2.17 → pipecatcloud-0.2.18}/src/pipecatcloud/_utils/deploy_utils.py +0 -0
  30. {pipecatcloud-0.2.17 → pipecatcloud-0.2.18}/src/pipecatcloud/_utils/regions.py +0 -0
  31. {pipecatcloud-0.2.17 → pipecatcloud-0.2.18}/src/pipecatcloud/agent.py +0 -0
  32. {pipecatcloud-0.2.17 → pipecatcloud-0.2.18}/src/pipecatcloud/api.py +0 -0
  33. {pipecatcloud-0.2.17 → pipecatcloud-0.2.18}/src/pipecatcloud/cli/__init__.py +0 -0
  34. {pipecatcloud-0.2.17 → pipecatcloud-0.2.18}/src/pipecatcloud/cli/api.py +0 -0
  35. {pipecatcloud-0.2.17 → pipecatcloud-0.2.18}/src/pipecatcloud/cli/commands/__init__.py +0 -0
  36. {pipecatcloud-0.2.17 → pipecatcloud-0.2.18}/src/pipecatcloud/cli/commands/deploy.py +0 -0
  37. {pipecatcloud-0.2.17 → pipecatcloud-0.2.18}/src/pipecatcloud/cli/commands/docker.py +0 -0
  38. {pipecatcloud-0.2.17 → pipecatcloud-0.2.18}/src/pipecatcloud/cli/commands/organizations.py +0 -0
  39. {pipecatcloud-0.2.17 → pipecatcloud-0.2.18}/src/pipecatcloud/cli/commands/regions.py +0 -0
  40. {pipecatcloud-0.2.17 → pipecatcloud-0.2.18}/src/pipecatcloud/cli/commands/secrets.py +0 -0
  41. {pipecatcloud-0.2.17 → pipecatcloud-0.2.18}/src/pipecatcloud/cli/config.py +0 -0
  42. {pipecatcloud-0.2.17 → pipecatcloud-0.2.18}/src/pipecatcloud/cli/entry_point.py +0 -0
  43. {pipecatcloud-0.2.17 → pipecatcloud-0.2.18}/src/pipecatcloud/config.py +0 -0
  44. {pipecatcloud-0.2.17 → pipecatcloud-0.2.18}/src/pipecatcloud/constants.py +0 -0
  45. {pipecatcloud-0.2.17 → pipecatcloud-0.2.18}/src/pipecatcloud/exception.py +0 -0
  46. {pipecatcloud-0.2.17 → pipecatcloud-0.2.18}/src/pipecatcloud/py.typed +0 -0
  47. {pipecatcloud-0.2.17 → pipecatcloud-0.2.18}/src/pipecatcloud/session.py +0 -0
  48. {pipecatcloud-0.2.17 → pipecatcloud-0.2.18}/src/pipecatcloud/smallwebrtc/session_manager.py +0 -0
  49. {pipecatcloud-0.2.17 → pipecatcloud-0.2.18}/src/pipecatcloud.egg-info/SOURCES.txt +0 -0
  50. {pipecatcloud-0.2.17 → pipecatcloud-0.2.18}/src/pipecatcloud.egg-info/dependency_links.txt +0 -0
  51. {pipecatcloud-0.2.17 → pipecatcloud-0.2.18}/src/pipecatcloud.egg-info/entry_points.txt +0 -0
  52. {pipecatcloud-0.2.17 → pipecatcloud-0.2.18}/src/pipecatcloud.egg-info/top_level.txt +0 -0
  53. {pipecatcloud-0.2.17 → pipecatcloud-0.2.18}/tests/__init__.py +0 -0
  54. {pipecatcloud-0.2.17 → pipecatcloud-0.2.18}/tests/test_agent_sessions.py +0 -0
  55. {pipecatcloud-0.2.17 → pipecatcloud-0.2.18}/tests/test_agent_stop.py +0 -0
  56. {pipecatcloud-0.2.17 → pipecatcloud-0.2.18}/tests/test_api_client.py +0 -0
  57. {pipecatcloud-0.2.17 → pipecatcloud-0.2.18}/tests/test_docker_commands.py +0 -0
  58. {pipecatcloud-0.2.17 → pipecatcloud-0.2.18}/tests/test_krisp_viva.py +0 -0
  59. {pipecatcloud-0.2.17 → pipecatcloud-0.2.18}/tests/test_managed_keys.py +0 -0
  60. {pipecatcloud-0.2.17 → pipecatcloud-0.2.18}/tests/test_regions.py +0 -0
@@ -5,6 +5,21 @@ 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.18] - 2026-01-06
9
+
10
+ ### Added
11
+
12
+ - Return the session ID when starting an agent session.
13
+
14
+ ### Changed
15
+
16
+ - Improved `auth login` UX to display authentication code and URL before opening
17
+ browser. Users now press Enter to open browser or 'q' to quit, ensuring the
18
+ authentication code is visible before browser takes focus.
19
+
20
+ - Relaxed `synchronicity` version to ">=0.11,<1.0.0" for better compatibilty
21
+ with other libraries.
22
+
8
23
  ## [0.2.17] - 2025-12-26
9
24
 
10
25
  ### Changed
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pipecatcloud
3
- Version: 0.2.17
3
+ Version: 0.2.18
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/
@@ -14,7 +14,7 @@ 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
16
  Requires-Dist: typer<1,>=0.20.0
17
- Requires-Dist: synchronicity~=0.7.6
17
+ Requires-Dist: synchronicity<1.0.0,>=0.11
18
18
  Requires-Dist: toml~=0.10.2
19
19
  Requires-Dist: questionary~=2.1.0
20
20
  Provides-Extra: pipecat
@@ -17,7 +17,7 @@ dependencies = [
17
17
  "python-dotenv>=1.0.1,<2.0.0",
18
18
  "uvicorn>=0.32.0,<1.0.0",
19
19
  "typer>=0.20.0,<1",
20
- "synchronicity~=0.7.6",
20
+ "synchronicity>=0.11,<1.0.0",
21
21
  "toml~=0.10.2",
22
22
  "questionary~=2.1.0"
23
23
  ]
@@ -765,6 +765,7 @@ async def start(
765
765
  live.stop()
766
766
 
767
767
  console.success(f"Agent '{agent_name}' started successfully")
768
+
768
769
  if use_daily and isinstance(data, dict):
769
770
  daily_room = data.get("dailyRoom")
770
771
  daily_token = data.get("dailyToken")
@@ -773,6 +774,11 @@ async def start(
773
774
  console.print("\nJoin your session by visiting the link below:")
774
775
  console.print(f"[link={url}]{url}[/link]")
775
776
 
777
+ if isinstance(data, dict):
778
+ session_id = data.get("sessionId")
779
+ if session_id:
780
+ console.print(f"\nSession ID: {session_id}")
781
+
776
782
 
777
783
  @agent_cli.command(name="stop", help="Stop an active agent session")
778
784
  @synchronizer.create_blocking
@@ -6,8 +6,8 @@
6
6
 
7
7
  import asyncio
8
8
  import itertools
9
- import webbrowser
10
9
  import os
10
+ import webbrowser
11
11
  from contextlib import asynccontextmanager
12
12
  from typing import AsyncGenerator, Optional, Tuple
13
13
 
@@ -160,9 +160,30 @@ async def login(
160
160
  )
161
161
  return
162
162
 
163
- # Display the code if it was provided
164
- if code:
165
- console.print(f"[bold]Authentication code:[/bold] [cyan]{code}[/cyan]\n")
163
+ # Display the authentication URL and code
164
+ console.print(
165
+ Panel(
166
+ "[bold]To authenticate with Pipecat Cloud:[/bold]\n\n"
167
+ "Visit this URL:\n"
168
+ f"[blue][link={web_url}]{web_url}[/link][/blue]\n\n"
169
+ "Then enter this code:\n"
170
+ f"[cyan bold]{code}[/cyan bold]",
171
+ title="[bold]Authentication Required[/bold]",
172
+ border_style="blue",
173
+ )
174
+ )
175
+
176
+ # Prompt user to open the browser (unless in headless mode)
177
+ if not headless:
178
+ response = typer.prompt(
179
+ "\nPress Enter to open the browser (or 'q' to quit)",
180
+ default="",
181
+ show_default=False,
182
+ )
183
+ if response.lower() == "q":
184
+ console.print("[yellow]Authentication cancelled[/yellow]")
185
+ return typer.Exit()
186
+ _open_url(web_url)
166
187
 
167
188
  with Live(
168
189
  console.status(
@@ -170,26 +191,6 @@ async def login(
170
191
  ),
171
192
  transient=True,
172
193
  ) as live:
173
- # Open the web url in the browser
174
- if not headless and _open_url(web_url):
175
- live.update(
176
- console.status(
177
- Panel(
178
- "The web browser should have opened for you to authenticate with Pipecat Cloud.\n"
179
- "If it didn't, please copy this URL into your web browser manually:\n\n"
180
- f"[blue][link={web_url}]{web_url}[/link][/blue]\n",
181
- )
182
- )
183
- )
184
- else:
185
- # For headless use-cases, just print the URL
186
- live.stop()
187
- console.print("[dim]Unable to launch web browser[/dim]")
188
- console.print("[bold]Please visit the following URL to confirm login[/bold]\n")
189
- console.print(web_url)
190
-
191
- live.start()
192
-
193
194
  for attempt in itertools.count():
194
195
  result = await auth_flow.finish()
195
196
  if result is not None:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pipecatcloud
3
- Version: 0.2.17
3
+ Version: 0.2.18
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/
@@ -14,7 +14,7 @@ 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
16
  Requires-Dist: typer<1,>=0.20.0
17
- Requires-Dist: synchronicity~=0.7.6
17
+ Requires-Dist: synchronicity<1.0.0,>=0.11
18
18
  Requires-Dist: toml~=0.10.2
19
19
  Requires-Dist: questionary~=2.1.0
20
20
  Provides-Extra: pipecat
@@ -4,7 +4,7 @@ loguru~=0.7.3
4
4
  python-dotenv<2.0.0,>=1.0.1
5
5
  uvicorn<1.0.0,>=0.32.0
6
6
  typer<1,>=0.20.0
7
- synchronicity~=0.7.6
7
+ synchronicity<1.0.0,>=0.11
8
8
  toml~=0.10.2
9
9
  questionary~=2.1.0
10
10
 
@@ -1,5 +1,5 @@
1
1
  version = 1
2
- revision = 3
2
+ revision = 2
3
3
  requires-python = ">=3.10"
4
4
  resolution-markers = [
5
5
  "python_full_version >= '3.13'",
@@ -1185,7 +1185,7 @@ requires-dist = [
1185
1185
  { name = "pipecat-ai", marker = "extra == 'pipecat'", specifier = ">=0.0.79" },
1186
1186
  { name = "python-dotenv", specifier = ">=1.0.1,<2.0.0" },
1187
1187
  { name = "questionary", specifier = "~=2.1.0" },
1188
- { name = "synchronicity", specifier = "~=0.7.6" },
1188
+ { name = "synchronicity", specifier = ">=0.11,<1.0.0" },
1189
1189
  { name = "toml", specifier = "~=0.10.2" },
1190
1190
  { name = "typer", specifier = ">=0.20.0,<1" },
1191
1191
  { name = "uvicorn", specifier = ">=0.32.0,<1.0.0" },
@@ -1888,18 +1888,6 @@ wheels = [
1888
1888
  { url = "https://files.pythonhosted.org/packages/e0/f9/0595336914c5619e5f28a1fb793285925a8cd4b432c9da0a987836c7f822/shellingham-1.5.4-py2.py3-none-any.whl", hash = "sha256:7ecfff8f2fd72616f7481040475a65b2bf8af90a56c89140852d1120324e8686", size = 9755, upload-time = "2023-10-24T04:13:38.866Z" },
1889
1889
  ]
1890
1890
 
1891
- [[package]]
1892
- name = "sigtools"
1893
- version = "4.0.1"
1894
- source = { registry = "https://pypi.org/simple" }
1895
- dependencies = [
1896
- { name = "attrs" },
1897
- ]
1898
- sdist = { url = "https://files.pythonhosted.org/packages/5f/db/669ca14166814da187b3087b908ca924cf83f5b504fe23b3859a3ef67d4f/sigtools-4.0.1.tar.gz", hash = "sha256:4b8e135a9cd4d2ea00da670c093372d74e672ba3abb87f4c98d8e73dea54445c", size = 71910, upload-time = "2022-10-13T07:03:54.149Z" }
1899
- wheels = [
1900
- { url = "https://files.pythonhosted.org/packages/1f/91/853dbf6ec096197dba9cd5fd0c836c5fc19142038b7db60ebe6332b1bab1/sigtools-4.0.1-py2.py3-none-any.whl", hash = "sha256:d216b4cf920bbab0fce636ddc429ed8463a5b533d9e1492acb45a2a1bc36ac6c", size = 76419, upload-time = "2022-10-13T07:03:52.658Z" },
1901
- ]
1902
-
1903
1891
  [[package]]
1904
1892
  name = "sniffio"
1905
1893
  version = "1.3.1"
@@ -1950,14 +1938,14 @@ wheels = [
1950
1938
 
1951
1939
  [[package]]
1952
1940
  name = "synchronicity"
1953
- version = "0.7.7"
1941
+ version = "0.11.1"
1954
1942
  source = { registry = "https://pypi.org/simple" }
1955
1943
  dependencies = [
1956
- { name = "sigtools" },
1957
1944
  { name = "typing-extensions" },
1958
1945
  ]
1946
+ sdist = { url = "https://files.pythonhosted.org/packages/a3/26/8874d34755691994266d4a844ba8d53d10c2690ec67f246ca4d6b6f34cbb/synchronicity-0.11.1.tar.gz", hash = "sha256:3628df9ab34bd7be89b729104114841c62612c5d5ec43b76f4b7b243185ec1a8", size = 58131, upload-time = "2025-12-19T18:28:42.291Z" }
1959
1947
  wheels = [
1960
- { url = "https://files.pythonhosted.org/packages/21/b9/29cffab717558ba9bb9a2f2a32279b279f94ce038db060922cd82fcde4a9/synchronicity-0.7.7-py3-none-any.whl", hash = "sha256:916294c8e417395b181dd190a6c7725de2d387d9089db6d8d850349daf3ab9a2", size = 31561, upload-time = "2024-09-26T14:50:45.831Z" },
1948
+ { url = "https://files.pythonhosted.org/packages/3f/b9/71153db12f4ad029cfe9b7fbf9792ef3fc9ade4485d31a13470b52954e62/synchronicity-0.11.1-py3-none-any.whl", hash = "sha256:53959c7f8b9b852fb5ea4d3d290a47a04310ede483a4cf0f8452cb4b5fa09db2", size = 40399, upload-time = "2025-12-19T18:28:40.972Z" },
1961
1949
  ]
1962
1950
 
1963
1951
  [[package]]
File without changes
File without changes
File without changes
File without changes
File without changes