fastapi-cloud-cli 0.1.4__tar.gz → 0.1.5__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 (76) hide show
  1. {fastapi_cloud_cli-0.1.4 → fastapi_cloud_cli-0.1.5}/PKG-INFO +1 -1
  2. {fastapi_cloud_cli-0.1.4 → fastapi_cloud_cli-0.1.5}/pyproject.toml +1 -1
  3. fastapi_cloud_cli-0.1.5/src/fastapi_cloud_cli/__init__.py +1 -0
  4. {fastapi_cloud_cli-0.1.4 → fastapi_cloud_cli-0.1.5}/src/fastapi_cloud_cli/commands/deploy.py +27 -26
  5. {fastapi_cloud_cli-0.1.4 → fastapi_cloud_cli-0.1.5}/src/fastapi_cloud_cli/utils/api.py +1 -0
  6. fastapi_cloud_cli-0.1.4/src/fastapi_cloud_cli/__init__.py +0 -1
  7. {fastapi_cloud_cli-0.1.4 → fastapi_cloud_cli-0.1.5}/LICENSE +0 -0
  8. {fastapi_cloud_cli-0.1.4 → fastapi_cloud_cli-0.1.5}/README.md +0 -0
  9. {fastapi_cloud_cli-0.1.4 → fastapi_cloud_cli-0.1.5}/requirements-tests.txt +0 -0
  10. {fastapi_cloud_cli-0.1.4 → fastapi_cloud_cli-0.1.5}/requirements.txt +0 -0
  11. {fastapi_cloud_cli-0.1.4 → fastapi_cloud_cli-0.1.5}/scripts/format.sh +0 -0
  12. {fastapi_cloud_cli-0.1.4 → fastapi_cloud_cli-0.1.5}/scripts/lint.sh +0 -0
  13. {fastapi_cloud_cli-0.1.4 → fastapi_cloud_cli-0.1.5}/scripts/test-cov-html.sh +0 -0
  14. {fastapi_cloud_cli-0.1.4 → fastapi_cloud_cli-0.1.5}/scripts/test.sh +0 -0
  15. {fastapi_cloud_cli-0.1.4 → fastapi_cloud_cli-0.1.5}/src/fastapi_cloud_cli/__main__.py +0 -0
  16. {fastapi_cloud_cli-0.1.4 → fastapi_cloud_cli-0.1.5}/src/fastapi_cloud_cli/cli.py +0 -0
  17. {fastapi_cloud_cli-0.1.4 → fastapi_cloud_cli-0.1.5}/src/fastapi_cloud_cli/commands/__init__.py +0 -0
  18. {fastapi_cloud_cli-0.1.4 → fastapi_cloud_cli-0.1.5}/src/fastapi_cloud_cli/commands/env.py +0 -0
  19. {fastapi_cloud_cli-0.1.4 → fastapi_cloud_cli-0.1.5}/src/fastapi_cloud_cli/commands/login.py +0 -0
  20. {fastapi_cloud_cli-0.1.4 → fastapi_cloud_cli-0.1.5}/src/fastapi_cloud_cli/commands/logout.py +0 -0
  21. {fastapi_cloud_cli-0.1.4 → fastapi_cloud_cli-0.1.5}/src/fastapi_cloud_cli/commands/whoami.py +0 -0
  22. {fastapi_cloud_cli-0.1.4 → fastapi_cloud_cli-0.1.5}/src/fastapi_cloud_cli/config.py +0 -0
  23. {fastapi_cloud_cli-0.1.4 → fastapi_cloud_cli-0.1.5}/src/fastapi_cloud_cli/logging.py +0 -0
  24. {fastapi_cloud_cli-0.1.4 → fastapi_cloud_cli-0.1.5}/src/fastapi_cloud_cli/py.typed +0 -0
  25. {fastapi_cloud_cli-0.1.4 → fastapi_cloud_cli-0.1.5}/src/fastapi_cloud_cli/utils/__init__.py +0 -0
  26. {fastapi_cloud_cli-0.1.4 → fastapi_cloud_cli-0.1.5}/src/fastapi_cloud_cli/utils/apps.py +0 -0
  27. {fastapi_cloud_cli-0.1.4 → fastapi_cloud_cli-0.1.5}/src/fastapi_cloud_cli/utils/auth.py +0 -0
  28. {fastapi_cloud_cli-0.1.4 → fastapi_cloud_cli-0.1.5}/src/fastapi_cloud_cli/utils/cli.py +0 -0
  29. {fastapi_cloud_cli-0.1.4 → fastapi_cloud_cli-0.1.5}/src/fastapi_cloud_cli/utils/config.py +0 -0
  30. {fastapi_cloud_cli-0.1.4 → fastapi_cloud_cli-0.1.5}/src/fastapi_cloud_cli/utils/env.py +0 -0
  31. {fastapi_cloud_cli-0.1.4 → fastapi_cloud_cli-0.1.5}/src/fastapi_cloud_cli/utils/sentry.py +0 -0
  32. {fastapi_cloud_cli-0.1.4 → fastapi_cloud_cli-0.1.5}/tests/__init__.py +0 -0
  33. {fastapi_cloud_cli-0.1.4 → fastapi_cloud_cli-0.1.5}/tests/assets/broken_package/mod/__init__.py +0 -0
  34. {fastapi_cloud_cli-0.1.4 → fastapi_cloud_cli-0.1.5}/tests/assets/broken_package/mod/app.py +0 -0
  35. {fastapi_cloud_cli-0.1.4 → fastapi_cloud_cli-0.1.5}/tests/assets/broken_package/utils.py +0 -0
  36. {fastapi_cloud_cli-0.1.4 → fastapi_cloud_cli-0.1.5}/tests/assets/default_files/default_api/api.py +0 -0
  37. {fastapi_cloud_cli-0.1.4 → fastapi_cloud_cli-0.1.5}/tests/assets/default_files/default_app/api.py +0 -0
  38. {fastapi_cloud_cli-0.1.4 → fastapi_cloud_cli-0.1.5}/tests/assets/default_files/default_app/app.py +0 -0
  39. {fastapi_cloud_cli-0.1.4 → fastapi_cloud_cli-0.1.5}/tests/assets/default_files/default_app_dir_api/app/__init__.py +0 -0
  40. {fastapi_cloud_cli-0.1.4 → fastapi_cloud_cli-0.1.5}/tests/assets/default_files/default_app_dir_api/app/api.py +0 -0
  41. {fastapi_cloud_cli-0.1.4 → fastapi_cloud_cli-0.1.5}/tests/assets/default_files/default_app_dir_app/app/__init__.py +0 -0
  42. {fastapi_cloud_cli-0.1.4 → fastapi_cloud_cli-0.1.5}/tests/assets/default_files/default_app_dir_app/app/api.py +0 -0
  43. {fastapi_cloud_cli-0.1.4 → fastapi_cloud_cli-0.1.5}/tests/assets/default_files/default_app_dir_app/app/app.py +0 -0
  44. {fastapi_cloud_cli-0.1.4 → fastapi_cloud_cli-0.1.5}/tests/assets/default_files/default_app_dir_main/app/__init__.py +0 -0
  45. {fastapi_cloud_cli-0.1.4 → fastapi_cloud_cli-0.1.5}/tests/assets/default_files/default_app_dir_main/app/api.py +0 -0
  46. {fastapi_cloud_cli-0.1.4 → fastapi_cloud_cli-0.1.5}/tests/assets/default_files/default_app_dir_main/app/app.py +0 -0
  47. {fastapi_cloud_cli-0.1.4 → fastapi_cloud_cli-0.1.5}/tests/assets/default_files/default_app_dir_main/app/main.py +0 -0
  48. {fastapi_cloud_cli-0.1.4 → fastapi_cloud_cli-0.1.5}/tests/assets/default_files/default_app_dir_non_default/app/__init__.py +0 -0
  49. {fastapi_cloud_cli-0.1.4 → fastapi_cloud_cli-0.1.5}/tests/assets/default_files/default_app_dir_non_default/app/nondefault.py +0 -0
  50. {fastapi_cloud_cli-0.1.4 → fastapi_cloud_cli-0.1.5}/tests/assets/default_files/default_main/api.py +0 -0
  51. {fastapi_cloud_cli-0.1.4 → fastapi_cloud_cli-0.1.5}/tests/assets/default_files/default_main/app.py +0 -0
  52. {fastapi_cloud_cli-0.1.4 → fastapi_cloud_cli-0.1.5}/tests/assets/default_files/default_main/main.py +0 -0
  53. {fastapi_cloud_cli-0.1.4 → fastapi_cloud_cli-0.1.5}/tests/assets/default_files/non_default/nonstandard.py +0 -0
  54. {fastapi_cloud_cli-0.1.4 → fastapi_cloud_cli-0.1.5}/tests/assets/package/__init__.py +0 -0
  55. {fastapi_cloud_cli-0.1.4 → fastapi_cloud_cli-0.1.5}/tests/assets/package/core/__init__.py +0 -0
  56. {fastapi_cloud_cli-0.1.4 → fastapi_cloud_cli-0.1.5}/tests/assets/package/core/utils.py +0 -0
  57. {fastapi_cloud_cli-0.1.4 → fastapi_cloud_cli-0.1.5}/tests/assets/package/mod/__init__.py +0 -0
  58. {fastapi_cloud_cli-0.1.4 → fastapi_cloud_cli-0.1.5}/tests/assets/package/mod/api.py +0 -0
  59. {fastapi_cloud_cli-0.1.4 → fastapi_cloud_cli-0.1.5}/tests/assets/package/mod/app.py +0 -0
  60. {fastapi_cloud_cli-0.1.4 → fastapi_cloud_cli-0.1.5}/tests/assets/package/mod/other.py +0 -0
  61. {fastapi_cloud_cli-0.1.4 → fastapi_cloud_cli-0.1.5}/tests/assets/single_file_api.py +0 -0
  62. {fastapi_cloud_cli-0.1.4 → fastapi_cloud_cli-0.1.5}/tests/assets/single_file_app.py +0 -0
  63. {fastapi_cloud_cli-0.1.4 → fastapi_cloud_cli-0.1.5}/tests/assets/single_file_other.py +0 -0
  64. {fastapi_cloud_cli-0.1.4 → fastapi_cloud_cli-0.1.5}/tests/conftest.py +0 -0
  65. {fastapi_cloud_cli-0.1.4 → fastapi_cloud_cli-0.1.5}/tests/test_cli.py +0 -0
  66. {fastapi_cloud_cli-0.1.4 → fastapi_cloud_cli-0.1.5}/tests/test_cli_deploy.py +0 -0
  67. {fastapi_cloud_cli-0.1.4 → fastapi_cloud_cli-0.1.5}/tests/test_cli_login.py +0 -0
  68. {fastapi_cloud_cli-0.1.4 → fastapi_cloud_cli-0.1.5}/tests/test_cli_logout.py +0 -0
  69. {fastapi_cloud_cli-0.1.4 → fastapi_cloud_cli-0.1.5}/tests/test_cli_whoami.py +0 -0
  70. {fastapi_cloud_cli-0.1.4 → fastapi_cloud_cli-0.1.5}/tests/test_config.py +0 -0
  71. {fastapi_cloud_cli-0.1.4 → fastapi_cloud_cli-0.1.5}/tests/test_deploy_utils.py +0 -0
  72. {fastapi_cloud_cli-0.1.4 → fastapi_cloud_cli-0.1.5}/tests/test_env_delete.py +0 -0
  73. {fastapi_cloud_cli-0.1.4 → fastapi_cloud_cli-0.1.5}/tests/test_env_list.py +0 -0
  74. {fastapi_cloud_cli-0.1.4 → fastapi_cloud_cli-0.1.5}/tests/test_env_set.py +0 -0
  75. {fastapi_cloud_cli-0.1.4 → fastapi_cloud_cli-0.1.5}/tests/test_sentry.py +0 -0
  76. {fastapi_cloud_cli-0.1.4 → fastapi_cloud_cli-0.1.5}/tests/utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: fastapi-cloud-cli
3
- Version: 0.1.4
3
+ Version: 0.1.5
4
4
  Summary: Deploy and manage FastAPI Cloud apps from the command line 🚀
5
5
  Author-Email: Patrick Arminio <patrick@fastapilabs.com>
6
6
  License: MIT
@@ -40,7 +40,7 @@ dependencies = [
40
40
  "pydantic[email] >= 1.6.1",
41
41
  "sentry-sdk >= 2.20.0",
42
42
  ]
43
- version = "0.1.4"
43
+ version = "0.1.5"
44
44
 
45
45
  [project.license]
46
46
  text = "MIT"
@@ -0,0 +1 @@
1
+ __version__ = "0.1.5"
@@ -345,42 +345,43 @@ def _wait_for_deployment(
345
345
  with toolkit.progress(
346
346
  next(messages), inline_logs=True, lines_to_show=20
347
347
  ) as progress:
348
- for line in _stream_build_logs(deployment.id):
349
- time_elapsed = time.monotonic() - started_at
348
+ with handle_http_errors(progress=progress):
349
+ for line in _stream_build_logs(deployment.id):
350
+ time_elapsed = time.monotonic() - started_at
350
351
 
351
- data = json.loads(line)
352
+ data = json.loads(line)
352
353
 
353
- if "message" in data:
354
- progress.log(Text.from_ansi(data["message"].rstrip()))
354
+ if "message" in data:
355
+ progress.log(Text.from_ansi(data["message"].rstrip()))
355
356
 
356
- if data.get("type") == "complete":
357
- progress.log("")
358
- progress.log(
359
- f"🐔 Ready the chicken! Your app is ready at [link={deployment.url}]{deployment.url}[/link]"
360
- )
357
+ if data.get("type") == "complete":
358
+ progress.log("")
359
+ progress.log(
360
+ f"🐔 Ready the chicken! Your app is ready at [link={deployment.url}]{deployment.url}[/link]"
361
+ )
361
362
 
362
- progress.log("")
363
+ progress.log("")
363
364
 
364
- progress.log(
365
- f"You can also check the app logs at [link={deployment.dashboard_url}]{deployment.dashboard_url}[/link]"
366
- )
365
+ progress.log(
366
+ f"You can also check the app logs at [link={deployment.dashboard_url}]{deployment.dashboard_url}[/link]"
367
+ )
367
368
 
368
- break
369
+ break
369
370
 
370
- if data.get("type") == "failed":
371
- progress.log("")
372
- progress.log(
373
- f"😔 Oh no! Something went wrong. Check out the logs at [link={deployment.dashboard_url}]{deployment.dashboard_url}[/link]"
374
- )
375
- raise typer.Exit(1)
371
+ if data.get("type") == "failed":
372
+ progress.log("")
373
+ progress.log(
374
+ f"😔 Oh no! Something went wrong. Check out the logs at [link={deployment.dashboard_url}]{deployment.dashboard_url}[/link]"
375
+ )
376
+ raise typer.Exit(1)
376
377
 
377
- if time_elapsed > 30:
378
- messages = cycle(LONG_WAIT_MESSAGES) # pragma: no cover
378
+ if time_elapsed > 30:
379
+ messages = cycle(LONG_WAIT_MESSAGES) # pragma: no cover
379
380
 
380
- if (time.monotonic() - last_message_changed_at) > 2:
381
- progress.title = next(messages) # pragma: no cover
381
+ if (time.monotonic() - last_message_changed_at) > 2:
382
+ progress.title = next(messages) # pragma: no cover
382
383
 
383
- last_message_changed_at = time.monotonic() # pragma: no cover
384
+ last_message_changed_at = time.monotonic() # pragma: no cover
384
385
 
385
386
 
386
387
  def _setup_environment_variables(toolkit: RichToolkit, app_id: str) -> None:
@@ -13,6 +13,7 @@ class APIClient(httpx.Client):
13
13
 
14
14
  super().__init__(
15
15
  base_url=settings.base_api_url,
16
+ timeout=httpx.Timeout(20),
16
17
  headers={
17
18
  "Authorization": f"Bearer {token}",
18
19
  "User-Agent": f"fastapi-cloud-cli/{__version__}",
@@ -1 +0,0 @@
1
- __version__ = "0.1.4"