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

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