pipecatcloud 0.1.3__tar.gz → 0.1.4__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.3 → pipecatcloud-0.1.4}/CHANGELOG.md +16 -0
  2. {pipecatcloud-0.1.3/src/pipecatcloud.egg-info → pipecatcloud-0.1.4}/PKG-INFO +3 -2
  3. {pipecatcloud-0.1.3 → pipecatcloud-0.1.4}/pyproject.toml +1 -1
  4. {pipecatcloud-0.1.3 → pipecatcloud-0.1.4}/src/pipecatcloud/cli/commands/auth.py +23 -7
  5. {pipecatcloud-0.1.3 → pipecatcloud-0.1.4}/src/pipecatcloud/cli/commands/deploy.py +5 -1
  6. {pipecatcloud-0.1.3 → pipecatcloud-0.1.4/src/pipecatcloud.egg-info}/PKG-INFO +3 -2
  7. {pipecatcloud-0.1.3 → pipecatcloud-0.1.4}/.github/workflows/publish-pypi.yml +0 -0
  8. {pipecatcloud-0.1.3 → pipecatcloud-0.1.4}/.github/workflows/publish-test.yml +0 -0
  9. {pipecatcloud-0.1.3 → pipecatcloud-0.1.4}/.github/workflows/python-publish.yml +0 -0
  10. {pipecatcloud-0.1.3 → pipecatcloud-0.1.4}/.gitignore +0 -0
  11. {pipecatcloud-0.1.3 → pipecatcloud-0.1.4}/LICENSE +0 -0
  12. {pipecatcloud-0.1.3 → pipecatcloud-0.1.4}/README.md +0 -0
  13. {pipecatcloud-0.1.3 → pipecatcloud-0.1.4}/dev-requirements.txt +0 -0
  14. {pipecatcloud-0.1.3 → pipecatcloud-0.1.4}/pipecat-cloud.png +0 -0
  15. {pipecatcloud-0.1.3 → pipecatcloud-0.1.4}/setup.cfg +0 -0
  16. {pipecatcloud-0.1.3 → pipecatcloud-0.1.4}/src/pipecatcloud/__init__.py +0 -0
  17. {pipecatcloud-0.1.3 → pipecatcloud-0.1.4}/src/pipecatcloud/__main__.py +0 -0
  18. {pipecatcloud-0.1.3 → pipecatcloud-0.1.4}/src/pipecatcloud/__version__.py +0 -0
  19. {pipecatcloud-0.1.3 → pipecatcloud-0.1.4}/src/pipecatcloud/_utils/__init__.py +0 -0
  20. {pipecatcloud-0.1.3 → pipecatcloud-0.1.4}/src/pipecatcloud/_utils/async_utils.py +0 -0
  21. {pipecatcloud-0.1.3 → pipecatcloud-0.1.4}/src/pipecatcloud/_utils/auth_utils.py +0 -0
  22. {pipecatcloud-0.1.3 → pipecatcloud-0.1.4}/src/pipecatcloud/_utils/console_utils.py +0 -0
  23. {pipecatcloud-0.1.3 → pipecatcloud-0.1.4}/src/pipecatcloud/_utils/deploy_utils.py +0 -0
  24. {pipecatcloud-0.1.3 → pipecatcloud-0.1.4}/src/pipecatcloud/_utils/local_runner.py +0 -0
  25. {pipecatcloud-0.1.3 → pipecatcloud-0.1.4}/src/pipecatcloud/agent.py +0 -0
  26. {pipecatcloud-0.1.3 → pipecatcloud-0.1.4}/src/pipecatcloud/api.py +0 -0
  27. {pipecatcloud-0.1.3 → pipecatcloud-0.1.4}/src/pipecatcloud/cli/__init__.py +0 -0
  28. {pipecatcloud-0.1.3 → pipecatcloud-0.1.4}/src/pipecatcloud/cli/api.py +0 -0
  29. {pipecatcloud-0.1.3 → pipecatcloud-0.1.4}/src/pipecatcloud/cli/commands/__init__.py +0 -0
  30. {pipecatcloud-0.1.3 → pipecatcloud-0.1.4}/src/pipecatcloud/cli/commands/agent.py +0 -0
  31. {pipecatcloud-0.1.3 → pipecatcloud-0.1.4}/src/pipecatcloud/cli/commands/init.py +0 -0
  32. {pipecatcloud-0.1.3 → pipecatcloud-0.1.4}/src/pipecatcloud/cli/commands/organizations.py +0 -0
  33. {pipecatcloud-0.1.3 → pipecatcloud-0.1.4}/src/pipecatcloud/cli/commands/run.py +0 -0
  34. {pipecatcloud-0.1.3 → pipecatcloud-0.1.4}/src/pipecatcloud/cli/commands/secrets.py +0 -0
  35. {pipecatcloud-0.1.3 → pipecatcloud-0.1.4}/src/pipecatcloud/cli/config.py +0 -0
  36. {pipecatcloud-0.1.3 → pipecatcloud-0.1.4}/src/pipecatcloud/cli/entry_point.py +0 -0
  37. {pipecatcloud-0.1.3 → pipecatcloud-0.1.4}/src/pipecatcloud/config.py +0 -0
  38. {pipecatcloud-0.1.3 → pipecatcloud-0.1.4}/src/pipecatcloud/exception.py +0 -0
  39. {pipecatcloud-0.1.3 → pipecatcloud-0.1.4}/src/pipecatcloud/session.py +0 -0
  40. {pipecatcloud-0.1.3 → pipecatcloud-0.1.4}/src/pipecatcloud.egg-info/SOURCES.txt +0 -0
  41. {pipecatcloud-0.1.3 → pipecatcloud-0.1.4}/src/pipecatcloud.egg-info/dependency_links.txt +0 -0
  42. {pipecatcloud-0.1.3 → pipecatcloud-0.1.4}/src/pipecatcloud.egg-info/entry_points.txt +0 -0
  43. {pipecatcloud-0.1.3 → pipecatcloud-0.1.4}/src/pipecatcloud.egg-info/requires.txt +0 -0
  44. {pipecatcloud-0.1.3 → pipecatcloud-0.1.4}/src/pipecatcloud.egg-info/top_level.txt +0 -0
@@ -7,6 +7,22 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [0.1.4] - 2025-03-28
11
+
12
+ ### Changed
13
+
14
+ - `deploy` now shows a confirmation when `min-instances` is greater than 0 to assert usage will be billed.
15
+
16
+ ### Fixed
17
+
18
+ - `auth login` now accepts a `--headless` / `-h` flag to skip automatic browser opening during authentication. This is particularly useful for:
19
+ - Systems running in headless environments
20
+ - WSL installations where browser context may not match the terminal
21
+ - CI/CD pipelines
22
+ - Users who prefer to manually copy and paste the authentication URL
23
+
24
+ ## [0.1.3] - 2025-03-13
25
+
10
26
  ### Fixed
11
27
 
12
28
  - `deploy` now correctly handles error states returned by the API
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.2
1
+ Metadata-Version: 2.4
2
2
  Name: pipecatcloud
3
- Version: 0.1.3
3
+ Version: 0.1.4
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/
@@ -17,6 +17,7 @@ Requires-Dist: typer~=0.13.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
20
+ Dynamic: license-file
20
21
 
21
22
  <h1><div align="center">
22
23
  <img alt="pipecat cloud" width="500px" height="auto" src="https://raw.githubusercontent.com/daily-co/pipecat-cloud/main/pipecat-cloud.png">
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "pipecatcloud"
7
- version = "0.1.3"
7
+ version = "0.1.4"
8
8
  requires-python = ">=3.10"
9
9
  description = "Cloud hosting for Pipecat AI applications"
10
10
  license = { text = "BSD 2-Clause License" }
@@ -7,6 +7,7 @@
7
7
  import asyncio
8
8
  import itertools
9
9
  import webbrowser
10
+ import os
10
11
  from contextlib import asynccontextmanager
11
12
  from typing import AsyncGenerator, Optional, Tuple
12
13
 
@@ -83,12 +84,19 @@ AuthFlow = synchronize_api(_AuthFlow)
83
84
 
84
85
  def _open_url(url: str) -> bool:
85
86
  try:
87
+ is_wsl = 'WSL_DISTRO_NAME' in os.environ or 'WSL_INTEROP' in os.environ
88
+ has_display = bool(os.environ.get('DISPLAY') or os.environ.get('WAYLAND_DISPLAY'))
89
+
90
+ if is_wsl and not has_display:
91
+ return False
92
+
86
93
  browser = webbrowser.get()
87
- if isinstance(browser, webbrowser.GenericBrowser) and browser.name != "open":
94
+ if (isinstance(browser, webbrowser.GenericBrowser) and
95
+ browser.name not in ['open', 'x-www-browser', 'xdg-open']):
88
96
  return False
89
- else:
90
- return browser.open_new_tab(url)
91
- except webbrowser.Error:
97
+
98
+ return browser.open_new_tab(url)
99
+ except (webbrowser.Error, ImportError, AttributeError):
92
100
  return False
93
101
 
94
102
 
@@ -124,7 +132,14 @@ async def _get_account_org(
124
132
 
125
133
  @auth_cli.command(name="login", help="Login to Pipecat Cloud and get a new token")
126
134
  @synchronizer.create_blocking
127
- async def login():
135
+ async def login(
136
+ headless: bool = typer.Option(
137
+ False,
138
+ "--headless",
139
+ "-h",
140
+ help="Skip opening a browser window for authentication and print the URL instead",
141
+ ),
142
+ ):
128
143
  active_org = config.get("org")
129
144
  auth_flow = _AuthFlow()
130
145
 
@@ -146,7 +161,7 @@ async def login():
146
161
  transient=True,
147
162
  ) as live:
148
163
  # Open the web url in the browser
149
- if _open_url(web_url):
164
+ if not headless and _open_url(web_url):
150
165
  live.update(
151
166
  console.status(
152
167
  Panel(
@@ -220,7 +235,8 @@ async def logout():
220
235
  )
221
236
 
222
237
 
223
- @auth_cli.command(name="whoami", help="Display data about the current user. Also show Daily API key.")
238
+ @auth_cli.command(name="whoami",
239
+ help="Display data about the current user. Also show Daily API key.")
224
240
  @synchronizer.create_blocking
225
241
  @requires_login
226
242
  async def whomai():
@@ -333,7 +333,11 @@ def create_deploy_command(app: typer.Typer):
333
333
  table,
334
334
  *
335
335
  (
336
- [] if partial_config.scaling.min_instances else [
336
+ [
337
+ Text(
338
+ f"Note: Usage costs will apply for {partial_config.scaling.min_instances} reserved instance(s). Please see: https://www.daily.co/pricing/pipecat-cloud/",
339
+ style="red",
340
+ )] if partial_config.scaling.min_instances else [
337
341
  Text(
338
342
  "Note: Deploying with 0 minimum instances may result in cold starts",
339
343
  style="red",
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.2
1
+ Metadata-Version: 2.4
2
2
  Name: pipecatcloud
3
- Version: 0.1.3
3
+ Version: 0.1.4
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/
@@ -17,6 +17,7 @@ Requires-Dist: typer~=0.13.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
20
+ Dynamic: license-file
20
21
 
21
22
  <h1><div align="center">
22
23
  <img alt="pipecat cloud" width="500px" height="auto" src="https://raw.githubusercontent.com/daily-co/pipecat-cloud/main/pipecat-cloud.png">
File without changes
File without changes
File without changes
File without changes