fal 1.28.2__tar.gz → 1.28.3__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.

Potentially problematic release.


This version of fal might be problematic. Click here for more details.

Files changed (186) hide show
  1. {fal-1.28.2/fal.egg-info → fal-1.28.3}/PKG-INFO +1 -1
  2. {fal-1.28.2 → fal-1.28.3/fal.egg-info}/PKG-INFO +1 -1
  3. {fal-1.28.2 → fal-1.28.3}/src/fal/_fal_version.py +3 -16
  4. {fal-1.28.2 → fal-1.28.3}/src/fal/cli/apps.py +16 -3
  5. {fal-1.28.2 → fal-1.28.3}/src/fal/cli/deploy.py +25 -10
  6. {fal-1.28.2 → fal-1.28.3}/.gitignore +0 -0
  7. {fal-1.28.2 → fal-1.28.3}/Makefile +0 -0
  8. {fal-1.28.2 → fal-1.28.3}/README.md +0 -0
  9. {fal-1.28.2 → fal-1.28.3}/docs/conf.py +0 -0
  10. {fal-1.28.2 → fal-1.28.3}/docs/index.rst +0 -0
  11. {fal-1.28.2 → fal-1.28.3}/fal.egg-info/SOURCES.txt +0 -0
  12. {fal-1.28.2 → fal-1.28.3}/fal.egg-info/dependency_links.txt +0 -0
  13. {fal-1.28.2 → fal-1.28.3}/fal.egg-info/entry_points.txt +0 -0
  14. {fal-1.28.2 → fal-1.28.3}/fal.egg-info/requires.txt +0 -0
  15. {fal-1.28.2 → fal-1.28.3}/fal.egg-info/top_level.txt +0 -0
  16. {fal-1.28.2 → fal-1.28.3}/openapi-fal-rest/README.md +0 -0
  17. {fal-1.28.2 → fal-1.28.3}/openapi-fal-rest/openapi_fal_rest/__init__.py +0 -0
  18. {fal-1.28.2 → fal-1.28.3}/openapi-fal-rest/openapi_fal_rest/api/__init__.py +0 -0
  19. {fal-1.28.2 → fal-1.28.3}/openapi-fal-rest/openapi_fal_rest/api/applications/__init__.py +0 -0
  20. {fal-1.28.2 → fal-1.28.3}/openapi-fal-rest/openapi_fal_rest/api/applications/app_metadata.py +0 -0
  21. {fal-1.28.2 → fal-1.28.3}/openapi-fal-rest/openapi_fal_rest/api/billing/__init__.py +0 -0
  22. {fal-1.28.2 → fal-1.28.3}/openapi-fal-rest/openapi_fal_rest/api/billing/get_user_details.py +0 -0
  23. {fal-1.28.2 → fal-1.28.3}/openapi-fal-rest/openapi_fal_rest/api/comfy/__init__.py +0 -0
  24. {fal-1.28.2 → fal-1.28.3}/openapi-fal-rest/openapi_fal_rest/api/comfy/create_workflow.py +0 -0
  25. {fal-1.28.2 → fal-1.28.3}/openapi-fal-rest/openapi_fal_rest/api/comfy/delete_workflow.py +0 -0
  26. {fal-1.28.2 → fal-1.28.3}/openapi-fal-rest/openapi_fal_rest/api/comfy/get_workflow.py +0 -0
  27. {fal-1.28.2 → fal-1.28.3}/openapi-fal-rest/openapi_fal_rest/api/comfy/list_user_workflows.py +0 -0
  28. {fal-1.28.2 → fal-1.28.3}/openapi-fal-rest/openapi_fal_rest/api/comfy/update_workflow.py +0 -0
  29. {fal-1.28.2 → fal-1.28.3}/openapi-fal-rest/openapi_fal_rest/api/files/__init__.py +0 -0
  30. {fal-1.28.2 → fal-1.28.3}/openapi-fal-rest/openapi_fal_rest/api/files/check_dir_hash.py +0 -0
  31. {fal-1.28.2 → fal-1.28.3}/openapi-fal-rest/openapi_fal_rest/api/files/upload_local_file.py +0 -0
  32. {fal-1.28.2 → fal-1.28.3}/openapi-fal-rest/openapi_fal_rest/api/users/__init__.py +0 -0
  33. {fal-1.28.2 → fal-1.28.3}/openapi-fal-rest/openapi_fal_rest/api/users/get_current_user.py +0 -0
  34. {fal-1.28.2 → fal-1.28.3}/openapi-fal-rest/openapi_fal_rest/api/workflows/__init__.py +0 -0
  35. {fal-1.28.2 → fal-1.28.3}/openapi-fal-rest/openapi_fal_rest/api/workflows/create_workflow.py +0 -0
  36. {fal-1.28.2 → fal-1.28.3}/openapi-fal-rest/openapi_fal_rest/api/workflows/delete_workflow.py +0 -0
  37. {fal-1.28.2 → fal-1.28.3}/openapi-fal-rest/openapi_fal_rest/api/workflows/get_workflow.py +0 -0
  38. {fal-1.28.2 → fal-1.28.3}/openapi-fal-rest/openapi_fal_rest/api/workflows/list_user_workflows.py +0 -0
  39. {fal-1.28.2 → fal-1.28.3}/openapi-fal-rest/openapi_fal_rest/api/workflows/update_workflow.py +0 -0
  40. {fal-1.28.2 → fal-1.28.3}/openapi-fal-rest/openapi_fal_rest/client.py +0 -0
  41. {fal-1.28.2 → fal-1.28.3}/openapi-fal-rest/openapi_fal_rest/errors.py +0 -0
  42. {fal-1.28.2 → fal-1.28.3}/openapi-fal-rest/openapi_fal_rest/models/__init__.py +0 -0
  43. {fal-1.28.2 → fal-1.28.3}/openapi-fal-rest/openapi_fal_rest/models/app_metadata_response_app_metadata.py +0 -0
  44. {fal-1.28.2 → fal-1.28.3}/openapi-fal-rest/openapi_fal_rest/models/body_upload_local_file.py +0 -0
  45. {fal-1.28.2 → fal-1.28.3}/openapi-fal-rest/openapi_fal_rest/models/comfy_workflow_detail.py +0 -0
  46. {fal-1.28.2 → fal-1.28.3}/openapi-fal-rest/openapi_fal_rest/models/comfy_workflow_item.py +0 -0
  47. {fal-1.28.2 → fal-1.28.3}/openapi-fal-rest/openapi_fal_rest/models/comfy_workflow_schema.py +0 -0
  48. {fal-1.28.2 → fal-1.28.3}/openapi-fal-rest/openapi_fal_rest/models/comfy_workflow_schema_extra_data.py +0 -0
  49. {fal-1.28.2 → fal-1.28.3}/openapi-fal-rest/openapi_fal_rest/models/comfy_workflow_schema_fal_inputs.py +0 -0
  50. {fal-1.28.2 → fal-1.28.3}/openapi-fal-rest/openapi_fal_rest/models/comfy_workflow_schema_fal_inputs_dev_info.py +0 -0
  51. {fal-1.28.2 → fal-1.28.3}/openapi-fal-rest/openapi_fal_rest/models/comfy_workflow_schema_prompt.py +0 -0
  52. {fal-1.28.2 → fal-1.28.3}/openapi-fal-rest/openapi_fal_rest/models/current_user.py +0 -0
  53. {fal-1.28.2 → fal-1.28.3}/openapi-fal-rest/openapi_fal_rest/models/customer_details.py +0 -0
  54. {fal-1.28.2 → fal-1.28.3}/openapi-fal-rest/openapi_fal_rest/models/hash_check.py +0 -0
  55. {fal-1.28.2 → fal-1.28.3}/openapi-fal-rest/openapi_fal_rest/models/http_validation_error.py +0 -0
  56. {fal-1.28.2 → fal-1.28.3}/openapi-fal-rest/openapi_fal_rest/models/lock_reason.py +0 -0
  57. {fal-1.28.2 → fal-1.28.3}/openapi-fal-rest/openapi_fal_rest/models/page_comfy_workflow_item.py +0 -0
  58. {fal-1.28.2 → fal-1.28.3}/openapi-fal-rest/openapi_fal_rest/models/page_workflow_item.py +0 -0
  59. {fal-1.28.2 → fal-1.28.3}/openapi-fal-rest/openapi_fal_rest/models/team_role.py +0 -0
  60. {fal-1.28.2 → fal-1.28.3}/openapi-fal-rest/openapi_fal_rest/models/typed_comfy_workflow.py +0 -0
  61. {fal-1.28.2 → fal-1.28.3}/openapi-fal-rest/openapi_fal_rest/models/typed_comfy_workflow_update.py +0 -0
  62. {fal-1.28.2 → fal-1.28.3}/openapi-fal-rest/openapi_fal_rest/models/typed_workflow.py +0 -0
  63. {fal-1.28.2 → fal-1.28.3}/openapi-fal-rest/openapi_fal_rest/models/typed_workflow_update.py +0 -0
  64. {fal-1.28.2 → fal-1.28.3}/openapi-fal-rest/openapi_fal_rest/models/user_member.py +0 -0
  65. {fal-1.28.2 → fal-1.28.3}/openapi-fal-rest/openapi_fal_rest/models/validation_error.py +0 -0
  66. {fal-1.28.2 → fal-1.28.3}/openapi-fal-rest/openapi_fal_rest/models/workflow_contents.py +0 -0
  67. {fal-1.28.2 → fal-1.28.3}/openapi-fal-rest/openapi_fal_rest/models/workflow_contents_metadata.py +0 -0
  68. {fal-1.28.2 → fal-1.28.3}/openapi-fal-rest/openapi_fal_rest/models/workflow_contents_nodes.py +0 -0
  69. {fal-1.28.2 → fal-1.28.3}/openapi-fal-rest/openapi_fal_rest/models/workflow_contents_output.py +0 -0
  70. {fal-1.28.2 → fal-1.28.3}/openapi-fal-rest/openapi_fal_rest/models/workflow_detail.py +0 -0
  71. {fal-1.28.2 → fal-1.28.3}/openapi-fal-rest/openapi_fal_rest/models/workflow_detail_contents.py +0 -0
  72. {fal-1.28.2 → fal-1.28.3}/openapi-fal-rest/openapi_fal_rest/models/workflow_item.py +0 -0
  73. {fal-1.28.2 → fal-1.28.3}/openapi-fal-rest/openapi_fal_rest/models/workflow_node.py +0 -0
  74. {fal-1.28.2 → fal-1.28.3}/openapi-fal-rest/openapi_fal_rest/models/workflow_node_type.py +0 -0
  75. {fal-1.28.2 → fal-1.28.3}/openapi-fal-rest/openapi_fal_rest/models/workflow_schema.py +0 -0
  76. {fal-1.28.2 → fal-1.28.3}/openapi-fal-rest/openapi_fal_rest/models/workflow_schema_input.py +0 -0
  77. {fal-1.28.2 → fal-1.28.3}/openapi-fal-rest/openapi_fal_rest/models/workflow_schema_output.py +0 -0
  78. {fal-1.28.2 → fal-1.28.3}/openapi-fal-rest/openapi_fal_rest/py.typed +0 -0
  79. {fal-1.28.2 → fal-1.28.3}/openapi-fal-rest/openapi_fal_rest/types.py +0 -0
  80. {fal-1.28.2 → fal-1.28.3}/openapi-fal-rest/pyproject.toml +0 -0
  81. {fal-1.28.2 → fal-1.28.3}/openapi_rest.config.yaml +0 -0
  82. {fal-1.28.2 → fal-1.28.3}/pyproject.toml +0 -0
  83. {fal-1.28.2 → fal-1.28.3}/setup.cfg +0 -0
  84. {fal-1.28.2 → fal-1.28.3}/src/fal/__init__.py +0 -0
  85. {fal-1.28.2 → fal-1.28.3}/src/fal/__main__.py +0 -0
  86. {fal-1.28.2 → fal-1.28.3}/src/fal/_serialization.py +0 -0
  87. {fal-1.28.2 → fal-1.28.3}/src/fal/_version.py +0 -0
  88. {fal-1.28.2 → fal-1.28.3}/src/fal/api.py +0 -0
  89. {fal-1.28.2 → fal-1.28.3}/src/fal/app.py +0 -0
  90. {fal-1.28.2 → fal-1.28.3}/src/fal/apps.py +0 -0
  91. {fal-1.28.2 → fal-1.28.3}/src/fal/auth/__init__.py +0 -0
  92. {fal-1.28.2 → fal-1.28.3}/src/fal/auth/auth0.py +0 -0
  93. {fal-1.28.2 → fal-1.28.3}/src/fal/auth/local.py +0 -0
  94. {fal-1.28.2 → fal-1.28.3}/src/fal/cli/__init__.py +0 -0
  95. {fal-1.28.2 → fal-1.28.3}/src/fal/cli/_utils.py +0 -0
  96. {fal-1.28.2 → fal-1.28.3}/src/fal/cli/api.py +0 -0
  97. {fal-1.28.2 → fal-1.28.3}/src/fal/cli/auth.py +0 -0
  98. {fal-1.28.2 → fal-1.28.3}/src/fal/cli/cli_nested_json.py +0 -0
  99. {fal-1.28.2 → fal-1.28.3}/src/fal/cli/create.py +0 -0
  100. {fal-1.28.2 → fal-1.28.3}/src/fal/cli/debug.py +0 -0
  101. {fal-1.28.2 → fal-1.28.3}/src/fal/cli/doctor.py +0 -0
  102. {fal-1.28.2 → fal-1.28.3}/src/fal/cli/files.py +0 -0
  103. {fal-1.28.2 → fal-1.28.3}/src/fal/cli/keys.py +0 -0
  104. {fal-1.28.2 → fal-1.28.3}/src/fal/cli/main.py +0 -0
  105. {fal-1.28.2 → fal-1.28.3}/src/fal/cli/parser.py +0 -0
  106. {fal-1.28.2 → fal-1.28.3}/src/fal/cli/profile.py +0 -0
  107. {fal-1.28.2 → fal-1.28.3}/src/fal/cli/run.py +0 -0
  108. {fal-1.28.2 → fal-1.28.3}/src/fal/cli/runners.py +0 -0
  109. {fal-1.28.2 → fal-1.28.3}/src/fal/cli/secrets.py +0 -0
  110. {fal-1.28.2 → fal-1.28.3}/src/fal/cli/teams.py +0 -0
  111. {fal-1.28.2 → fal-1.28.3}/src/fal/config.py +0 -0
  112. {fal-1.28.2 → fal-1.28.3}/src/fal/console/__init__.py +0 -0
  113. {fal-1.28.2 → fal-1.28.3}/src/fal/console/icons.py +0 -0
  114. {fal-1.28.2 → fal-1.28.3}/src/fal/console/ux.py +0 -0
  115. {fal-1.28.2 → fal-1.28.3}/src/fal/container.py +0 -0
  116. {fal-1.28.2 → fal-1.28.3}/src/fal/exceptions/__init__.py +0 -0
  117. {fal-1.28.2 → fal-1.28.3}/src/fal/exceptions/_base.py +0 -0
  118. {fal-1.28.2 → fal-1.28.3}/src/fal/exceptions/_cuda.py +0 -0
  119. {fal-1.28.2 → fal-1.28.3}/src/fal/exceptions/auth.py +0 -0
  120. {fal-1.28.2 → fal-1.28.3}/src/fal/files.py +0 -0
  121. {fal-1.28.2 → fal-1.28.3}/src/fal/flags.py +0 -0
  122. {fal-1.28.2 → fal-1.28.3}/src/fal/logging/__init__.py +0 -0
  123. {fal-1.28.2 → fal-1.28.3}/src/fal/logging/isolate.py +0 -0
  124. {fal-1.28.2 → fal-1.28.3}/src/fal/logging/style.py +0 -0
  125. {fal-1.28.2 → fal-1.28.3}/src/fal/logging/trace.py +0 -0
  126. {fal-1.28.2 → fal-1.28.3}/src/fal/logging/user.py +0 -0
  127. {fal-1.28.2 → fal-1.28.3}/src/fal/project.py +0 -0
  128. {fal-1.28.2 → fal-1.28.3}/src/fal/py.typed +0 -0
  129. {fal-1.28.2 → fal-1.28.3}/src/fal/rest_client.py +0 -0
  130. {fal-1.28.2 → fal-1.28.3}/src/fal/sdk.py +0 -0
  131. {fal-1.28.2 → fal-1.28.3}/src/fal/sync.py +0 -0
  132. {fal-1.28.2 → fal-1.28.3}/src/fal/toolkit/__init__.py +0 -0
  133. {fal-1.28.2 → fal-1.28.3}/src/fal/toolkit/audio/__init__.py +0 -0
  134. {fal-1.28.2 → fal-1.28.3}/src/fal/toolkit/audio/audio.py +0 -0
  135. {fal-1.28.2 → fal-1.28.3}/src/fal/toolkit/exceptions.py +0 -0
  136. {fal-1.28.2 → fal-1.28.3}/src/fal/toolkit/file/__init__.py +0 -0
  137. {fal-1.28.2 → fal-1.28.3}/src/fal/toolkit/file/file.py +0 -0
  138. {fal-1.28.2 → fal-1.28.3}/src/fal/toolkit/file/providers/fal.py +0 -0
  139. {fal-1.28.2 → fal-1.28.3}/src/fal/toolkit/file/providers/gcp.py +0 -0
  140. {fal-1.28.2 → fal-1.28.3}/src/fal/toolkit/file/providers/r2.py +0 -0
  141. {fal-1.28.2 → fal-1.28.3}/src/fal/toolkit/file/providers/s3.py +0 -0
  142. {fal-1.28.2 → fal-1.28.3}/src/fal/toolkit/file/types.py +0 -0
  143. {fal-1.28.2 → fal-1.28.3}/src/fal/toolkit/image/__init__.py +0 -0
  144. {fal-1.28.2 → fal-1.28.3}/src/fal/toolkit/image/image.py +0 -0
  145. {fal-1.28.2 → fal-1.28.3}/src/fal/toolkit/image/nsfw_filter/__init__.py +0 -0
  146. {fal-1.28.2 → fal-1.28.3}/src/fal/toolkit/image/nsfw_filter/env.py +0 -0
  147. {fal-1.28.2 → fal-1.28.3}/src/fal/toolkit/image/nsfw_filter/inference.py +0 -0
  148. {fal-1.28.2 → fal-1.28.3}/src/fal/toolkit/image/nsfw_filter/model.py +0 -0
  149. {fal-1.28.2 → fal-1.28.3}/src/fal/toolkit/image/nsfw_filter/requirements.txt +0 -0
  150. {fal-1.28.2 → fal-1.28.3}/src/fal/toolkit/image/safety_checker.py +0 -0
  151. {fal-1.28.2 → fal-1.28.3}/src/fal/toolkit/kv.py +0 -0
  152. {fal-1.28.2 → fal-1.28.3}/src/fal/toolkit/optimize.py +0 -0
  153. {fal-1.28.2 → fal-1.28.3}/src/fal/toolkit/types.py +0 -0
  154. {fal-1.28.2 → fal-1.28.3}/src/fal/toolkit/utils/__init__.py +0 -0
  155. {fal-1.28.2 → fal-1.28.3}/src/fal/toolkit/utils/download_utils.py +0 -0
  156. {fal-1.28.2 → fal-1.28.3}/src/fal/toolkit/utils/endpoint.py +0 -0
  157. {fal-1.28.2 → fal-1.28.3}/src/fal/toolkit/utils/retry.py +0 -0
  158. {fal-1.28.2 → fal-1.28.3}/src/fal/toolkit/video/__init__.py +0 -0
  159. {fal-1.28.2 → fal-1.28.3}/src/fal/toolkit/video/video.py +0 -0
  160. {fal-1.28.2 → fal-1.28.3}/src/fal/utils.py +0 -0
  161. {fal-1.28.2 → fal-1.28.3}/src/fal/workflows.py +0 -0
  162. {fal-1.28.2 → fal-1.28.3}/tests/__init__.py +0 -0
  163. {fal-1.28.2 → fal-1.28.3}/tests/assets/cat.png +0 -0
  164. {fal-1.28.2 → fal-1.28.3}/tests/cli/__init__.py +0 -0
  165. {fal-1.28.2 → fal-1.28.3}/tests/cli/test_apps.py +0 -0
  166. {fal-1.28.2 → fal-1.28.3}/tests/cli/test_auth.py +0 -0
  167. {fal-1.28.2 → fal-1.28.3}/tests/cli/test_deploy.py +0 -0
  168. {fal-1.28.2 → fal-1.28.3}/tests/cli/test_keys.py +0 -0
  169. {fal-1.28.2 → fal-1.28.3}/tests/cli/test_run.py +0 -0
  170. {fal-1.28.2 → fal-1.28.3}/tests/cli/test_secrets.py +0 -0
  171. {fal-1.28.2 → fal-1.28.3}/tests/conftest.py +0 -0
  172. {fal-1.28.2 → fal-1.28.3}/tests/integration_test.py +0 -0
  173. {fal-1.28.2 → fal-1.28.3}/tests/mainify_package/__init__.py +0 -0
  174. {fal-1.28.2 → fal-1.28.3}/tests/mainify_package/impl.py +0 -0
  175. {fal-1.28.2 → fal-1.28.3}/tests/mainify_package/utils.py +0 -0
  176. {fal-1.28.2 → fal-1.28.3}/tests/mainify_target.py +0 -0
  177. {fal-1.28.2 → fal-1.28.3}/tests/test_apps.py +0 -0
  178. {fal-1.28.2 → fal-1.28.3}/tests/test_files.py +0 -0
  179. {fal-1.28.2 → fal-1.28.3}/tests/test_kv.py +0 -0
  180. {fal-1.28.2 → fal-1.28.3}/tests/test_stability.py +0 -0
  181. {fal-1.28.2 → fal-1.28.3}/tests/toolkit/file/providers/test_fal_retry.py +0 -0
  182. {fal-1.28.2 → fal-1.28.3}/tests/toolkit/file_test.py +0 -0
  183. {fal-1.28.2 → fal-1.28.3}/tests/toolkit/image_test.py +0 -0
  184. {fal-1.28.2 → fal-1.28.3}/tests/toolkit/test_types.py +0 -0
  185. {fal-1.28.2 → fal-1.28.3}/tests/toolkit/utils/retry.py +0 -0
  186. {fal-1.28.2 → fal-1.28.3}/tools/demo_script.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: fal
3
- Version: 1.28.2
3
+ Version: 1.28.3
4
4
  Summary: fal is an easy-to-use Serverless Python Framework
5
5
  Author: Features & Labels <support@fal.ai>
6
6
  Requires-Python: >=3.8
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: fal
3
- Version: 1.28.2
3
+ Version: 1.28.3
4
4
  Summary: fal is an easy-to-use Serverless Python Framework
5
5
  Author: Features & Labels <support@fal.ai>
6
6
  Requires-Python: >=3.8
@@ -1,14 +1,7 @@
1
1
  # file generated by setuptools-scm
2
2
  # don't change, don't track in version control
3
3
 
4
- __all__ = [
5
- "__version__",
6
- "__version_tuple__",
7
- "version",
8
- "version_tuple",
9
- "__commit_id__",
10
- "commit_id",
11
- ]
4
+ __all__ = ["__version__", "__version_tuple__", "version", "version_tuple"]
12
5
 
13
6
  TYPE_CHECKING = False
14
7
  if TYPE_CHECKING:
@@ -16,19 +9,13 @@ if TYPE_CHECKING:
16
9
  from typing import Union
17
10
 
18
11
  VERSION_TUPLE = Tuple[Union[int, str], ...]
19
- COMMIT_ID = Union[str, None]
20
12
  else:
21
13
  VERSION_TUPLE = object
22
- COMMIT_ID = object
23
14
 
24
15
  version: str
25
16
  __version__: str
26
17
  __version_tuple__: VERSION_TUPLE
27
18
  version_tuple: VERSION_TUPLE
28
- commit_id: COMMIT_ID
29
- __commit_id__: COMMIT_ID
30
19
 
31
- __version__ = version = '1.28.2'
32
- __version_tuple__ = version_tuple = (1, 28, 2)
33
-
34
- __commit_id__ = commit_id = None
20
+ __version__ = version = '1.28.3'
21
+ __version_tuple__ = version_tuple = (1, 28, 3)
@@ -1,5 +1,7 @@
1
1
  from __future__ import annotations
2
2
 
3
+ import json
4
+ from dataclasses import asdict
3
5
  from typing import TYPE_CHECKING
4
6
 
5
7
  import fal.cli.runners as runners
@@ -62,9 +64,13 @@ def _list(args):
62
64
  else:
63
65
  apps.sort(key=lambda x: x.alias)
64
66
 
65
- table = _apps_table(apps)
66
-
67
- args.console.print(table)
67
+ if args.output == "pretty":
68
+ table = _apps_table(apps)
69
+ args.console.print(table)
70
+ elif args.output == "json":
71
+ apps_as_dicts = [asdict(a) for a in apps]
72
+ res = json.dumps(apps_as_dicts)
73
+ args.console.print({"apps": res})
68
74
 
69
75
 
70
76
  def _add_list_parser(subparsers, parents):
@@ -85,6 +91,13 @@ def _add_list_parser(subparsers, parents):
85
91
  type=str,
86
92
  help="Filter applications by alias contents",
87
93
  )
94
+ parser.add_argument(
95
+ "--output",
96
+ type=str,
97
+ default="pretty",
98
+ choices=["pretty", "json"],
99
+ help="Modify the command output",
100
+ )
88
101
  parser.set_defaults(func=_list)
89
102
 
90
103
 
@@ -122,20 +122,28 @@ def _deploy_from_reference(
122
122
  # just replace .ai for .run
123
123
  endpoint_host = env_host.replace(".ai", ".run")
124
124
 
125
- args.console.print(
126
- "Registered a new revision for function "
127
- f"'{app_name}' (revision='{app_id}')."
128
- )
129
- args.console.print("Playground:")
130
- for endpoint in loaded.endpoints:
125
+ if args.output == "json":
131
126
  args.console.print(
132
- f"\thttps://{playground_host}/models/{user.username}/{app_name}{endpoint}"
127
+ {
128
+ "revision": app_id,
129
+ "app_name": app_name,
130
+ }
133
131
  )
134
- args.console.print("Endpoints:")
135
- for endpoint in loaded.endpoints:
132
+ elif args.output == "pretty":
136
133
  args.console.print(
137
- f"\thttps://{endpoint_host}/{user.username}/{app_name}{endpoint}"
134
+ "Registered a new revision for function "
135
+ f"'{app_name}' (revision='{app_id}')."
138
136
  )
137
+ args.console.print("Playground:")
138
+ for endpoint in loaded.endpoints:
139
+ args.console.print(
140
+ f"\thttps://{playground_host}/models/{user.username}/{app_name}{endpoint}"
141
+ )
142
+ args.console.print("Endpoints:")
143
+ for endpoint in loaded.endpoints:
144
+ args.console.print(
145
+ f"\thttps://{endpoint_host}/{user.username}/{app_name}{endpoint}"
146
+ )
139
147
 
140
148
 
141
149
  def _deploy(args):
@@ -245,5 +253,12 @@ def add_parser(main_subparsers, parents):
245
253
  dest="app_scale_settings",
246
254
  help="Use the application code for scale settings.",
247
255
  )
256
+ parser.add_argument(
257
+ "--output",
258
+ type=str,
259
+ default="pretty",
260
+ choices=["pretty", "json"],
261
+ help="Modify the command output",
262
+ )
248
263
 
249
264
  parser.set_defaults(func=_deploy)
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
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