spatialflow 0.1.0__py3-none-any.whl

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 (404) hide show
  1. spatialflow/__init__.py +91 -0
  2. spatialflow/_generated/.github/workflows/python.yml +31 -0
  3. spatialflow/_generated/.gitignore +66 -0
  4. spatialflow/_generated/.gitlab-ci.yml +31 -0
  5. spatialflow/_generated/.openapi-generator/FILES +390 -0
  6. spatialflow/_generated/.openapi-generator/VERSION +1 -0
  7. spatialflow/_generated/.openapi-generator-ignore +23 -0
  8. spatialflow/_generated/.spec-hash +1 -0
  9. spatialflow/_generated/.travis.yml +17 -0
  10. spatialflow/_generated/README.md +537 -0
  11. spatialflow/_generated/__init__.py +1 -0
  12. spatialflow/_generated/docs/APIUsageStats.md +32 -0
  13. spatialflow/_generated/docs/AccountApi.md +1751 -0
  14. spatialflow/_generated/docs/ActionDeliverySuccessMetrics.md +32 -0
  15. spatialflow/_generated/docs/ActionResponse.md +32 -0
  16. spatialflow/_generated/docs/ActionRetryConfigSchema.md +32 -0
  17. spatialflow/_generated/docs/ActivitySummary.md +30 -0
  18. spatialflow/_generated/docs/AdminApi.md +1787 -0
  19. spatialflow/_generated/docs/ApiKeyCreateRequest.md +31 -0
  20. spatialflow/_generated/docs/ApiKeyCreateResponse.md +31 -0
  21. spatialflow/_generated/docs/ApiKeyResponse.md +38 -0
  22. spatialflow/_generated/docs/ApiKeyUpdateRequest.md +33 -0
  23. spatialflow/_generated/docs/AsyncUploadGeofencesResponse.md +33 -0
  24. spatialflow/_generated/docs/AuthTypeEnum.md +17 -0
  25. spatialflow/_generated/docs/AuthenticationApi.md +1289 -0
  26. spatialflow/_generated/docs/BatchLocationUpdateIn.md +30 -0
  27. spatialflow/_generated/docs/BillingApi.md +925 -0
  28. spatialflow/_generated/docs/BulkGeofenceRequest.md +29 -0
  29. spatialflow/_generated/docs/ChangePasswordSchema.md +30 -0
  30. spatialflow/_generated/docs/CheckoutSessionRequest.md +32 -0
  31. spatialflow/_generated/docs/CheckoutSessionResponse.md +31 -0
  32. spatialflow/_generated/docs/CircuitBreakerSchema.md +33 -0
  33. spatialflow/_generated/docs/ConfigFieldDefinitionRequest.md +41 -0
  34. spatialflow/_generated/docs/ConfigFieldDefinitionResponse.md +43 -0
  35. spatialflow/_generated/docs/ConfirmPasswordResetSchema.md +31 -0
  36. spatialflow/_generated/docs/CreateFromTemplateIn.md +30 -0
  37. spatialflow/_generated/docs/CreateGeofenceRequest.md +36 -0
  38. spatialflow/_generated/docs/CreateIntegrationSchema.md +33 -0
  39. spatialflow/_generated/docs/CreateUserSchema.md +35 -0
  40. spatialflow/_generated/docs/CreateWebhookRequest.md +43 -0
  41. spatialflow/_generated/docs/DashboardComparisonMetrics.md +32 -0
  42. spatialflow/_generated/docs/DashboardMetricsResponse.md +36 -0
  43. spatialflow/_generated/docs/DefaultApi.md +585 -0
  44. spatialflow/_generated/docs/DeleteFileResponse.md +30 -0
  45. spatialflow/_generated/docs/DeliveryStatusEnum.md +15 -0
  46. spatialflow/_generated/docs/DeviceIn.md +32 -0
  47. spatialflow/_generated/docs/DeviceOut.md +37 -0
  48. spatialflow/_generated/docs/DevicesApi.md +1213 -0
  49. spatialflow/_generated/docs/E2ETestApi.md +271 -0
  50. spatialflow/_generated/docs/EmailApi.md +541 -0
  51. spatialflow/_generated/docs/EmailHealthResponse.md +31 -0
  52. spatialflow/_generated/docs/EmailQueueStats.md +34 -0
  53. spatialflow/_generated/docs/EmailStats.md +31 -0
  54. spatialflow/_generated/docs/EmailStatusResponse.md +36 -0
  55. spatialflow/_generated/docs/ErrorResponse.md +32 -0
  56. spatialflow/_generated/docs/ExecutionOut.md +38 -0
  57. spatialflow/_generated/docs/ExportIntegrationSchema.md +35 -0
  58. spatialflow/_generated/docs/FileListResponse.md +31 -0
  59. spatialflow/_generated/docs/ForgotPasswordSchema.md +29 -0
  60. spatialflow/_generated/docs/GPXPlaybackOut.md +42 -0
  61. spatialflow/_generated/docs/GPXRouteOut.md +40 -0
  62. spatialflow/_generated/docs/GPXSimulatorApi.md +883 -0
  63. spatialflow/_generated/docs/GeoJSONPoint.md +31 -0
  64. spatialflow/_generated/docs/GeofenceListResponse.md +31 -0
  65. spatialflow/_generated/docs/GeofenceResponse.md +43 -0
  66. spatialflow/_generated/docs/GeofenceStats.md +30 -0
  67. spatialflow/_generated/docs/GeofenceTestResult.md +33 -0
  68. spatialflow/_generated/docs/GeofencesApi.md +1524 -0
  69. spatialflow/_generated/docs/HealthCheckResponse.md +31 -0
  70. spatialflow/_generated/docs/HealthResponse.md +32 -0
  71. spatialflow/_generated/docs/ImportIntegrationSchema.md +32 -0
  72. spatialflow/_generated/docs/ImportResultSchema.md +33 -0
  73. spatialflow/_generated/docs/IntegrationDetailSchema.md +44 -0
  74. spatialflow/_generated/docs/IntegrationResponseSchema.md +42 -0
  75. spatialflow/_generated/docs/IntegrationStatsSchema.md +36 -0
  76. spatialflow/_generated/docs/IntegrationTypeListResponse.md +34 -0
  77. spatialflow/_generated/docs/IntegrationTypeRequest.md +40 -0
  78. spatialflow/_generated/docs/IntegrationTypeResponse.md +45 -0
  79. spatialflow/_generated/docs/IntegrationsApi.md +2008 -0
  80. spatialflow/_generated/docs/InvoiceLineItem.md +33 -0
  81. spatialflow/_generated/docs/InvoiceListResponse.md +31 -0
  82. spatialflow/_generated/docs/InvoiceResponse.md +40 -0
  83. spatialflow/_generated/docs/LocationBatchIn.md +31 -0
  84. spatialflow/_generated/docs/LocationImportResponse.md +41 -0
  85. spatialflow/_generated/docs/LocationIngestResponse.md +35 -0
  86. spatialflow/_generated/docs/LocationPointIn.md +38 -0
  87. spatialflow/_generated/docs/LocationUpdateIn.md +36 -0
  88. spatialflow/_generated/docs/LocationUpdateOut.md +32 -0
  89. spatialflow/_generated/docs/LoginResponse.md +33 -0
  90. spatialflow/_generated/docs/LoginSchema.md +30 -0
  91. spatialflow/_generated/docs/MemberActionResponse.md +33 -0
  92. spatialflow/_generated/docs/MemberSummary.md +36 -0
  93. spatialflow/_generated/docs/MethodEnum.md +17 -0
  94. spatialflow/_generated/docs/OAuthAuthorizeResponse.md +29 -0
  95. spatialflow/_generated/docs/OAuthCallbackQuery.md +32 -0
  96. spatialflow/_generated/docs/OAuthLinkResponse.md +31 -0
  97. spatialflow/_generated/docs/OAuthProvidersResponse.md +29 -0
  98. spatialflow/_generated/docs/OnboardingProgressResponse.md +37 -0
  99. spatialflow/_generated/docs/PaymentMethodResponse.md +37 -0
  100. spatialflow/_generated/docs/PingResponse.md +31 -0
  101. spatialflow/_generated/docs/PlanChangePreviewResponse.md +35 -0
  102. spatialflow/_generated/docs/PlanFeatures.md +36 -0
  103. spatialflow/_generated/docs/PlanLimits.md +34 -0
  104. spatialflow/_generated/docs/PlanResponse.md +37 -0
  105. spatialflow/_generated/docs/PortalSessionRequest.md +30 -0
  106. spatialflow/_generated/docs/PortalSessionResponse.md +30 -0
  107. spatialflow/_generated/docs/PresignedUrlRequest.md +31 -0
  108. spatialflow/_generated/docs/PresignedUrlResponse.md +35 -0
  109. spatialflow/_generated/docs/PrivacyErasureRequest.md +35 -0
  110. spatialflow/_generated/docs/PrivacyErasureResponse.md +36 -0
  111. spatialflow/_generated/docs/PublicApi.md +389 -0
  112. spatialflow/_generated/docs/PublicLocationIngestApi.md +249 -0
  113. spatialflow/_generated/docs/RateLimitResponse.md +32 -0
  114. spatialflow/_generated/docs/RecentActivity.md +31 -0
  115. spatialflow/_generated/docs/RefreshTokenSchema.md +29 -0
  116. spatialflow/_generated/docs/RegisterSchema.md +37 -0
  117. spatialflow/_generated/docs/ResendVerificationSchema.md +29 -0
  118. spatialflow/_generated/docs/ResetPasswordSchema.md +31 -0
  119. spatialflow/_generated/docs/RetryPolicyResponseSchema.md +32 -0
  120. spatialflow/_generated/docs/RetryPolicySchema.md +35 -0
  121. spatialflow/_generated/docs/RetryStrategyEnum.md +14 -0
  122. spatialflow/_generated/docs/SeedDataResponseSchema.md +31 -0
  123. spatialflow/_generated/docs/SendEmailRequest.md +33 -0
  124. spatialflow/_generated/docs/SetupIntentResponse.md +30 -0
  125. spatialflow/_generated/docs/SignupRequest.md +40 -0
  126. spatialflow/_generated/docs/StartPlaybackRequest.md +30 -0
  127. spatialflow/_generated/docs/StorageApi.md +494 -0
  128. spatialflow/_generated/docs/SubscriptionActionResponse.md +32 -0
  129. spatialflow/_generated/docs/SubscriptionResponse.md +36 -0
  130. spatialflow/_generated/docs/SubscriptionsApi.md +677 -0
  131. spatialflow/_generated/docs/SuccessResponse.md +31 -0
  132. spatialflow/_generated/docs/SystemApi.md +137 -0
  133. spatialflow/_generated/docs/TemplateOut.md +35 -0
  134. spatialflow/_generated/docs/TestEventRequest.md +29 -0
  135. spatialflow/_generated/docs/TestIntegrationResponseSchema.md +31 -0
  136. spatialflow/_generated/docs/TestPointRequest.md +34 -0
  137. spatialflow/_generated/docs/TestPointResponse.md +33 -0
  138. spatialflow/_generated/docs/TestWebhookRequest.md +32 -0
  139. spatialflow/_generated/docs/TestWorkflowIn.md +29 -0
  140. spatialflow/_generated/docs/TileMetadata.md +36 -0
  141. spatialflow/_generated/docs/TilesApi.md +462 -0
  142. spatialflow/_generated/docs/UnsubscribeRequest.md +29 -0
  143. spatialflow/_generated/docs/UnsubscribeResponse.md +31 -0
  144. spatialflow/_generated/docs/UpdateGeofenceRequest.md +37 -0
  145. spatialflow/_generated/docs/UpdateIntegrationSchema.md +33 -0
  146. spatialflow/_generated/docs/UpdateMemberRoleRequest.md +30 -0
  147. spatialflow/_generated/docs/UpdateOnboardingProgressRequest.md +30 -0
  148. spatialflow/_generated/docs/UpdateProfileRequest.md +45 -0
  149. spatialflow/_generated/docs/UpdateUserWorkspaceRequest.md +31 -0
  150. spatialflow/_generated/docs/UpdateWebhookRequest.md +43 -0
  151. spatialflow/_generated/docs/UploadGeofencesRequest.md +31 -0
  152. spatialflow/_generated/docs/UploadJobStatus.md +42 -0
  153. spatialflow/_generated/docs/UsageMetrics.md +33 -0
  154. spatialflow/_generated/docs/UsageResponse.md +36 -0
  155. spatialflow/_generated/docs/UsageStats.md +32 -0
  156. spatialflow/_generated/docs/UserActionResponse.md +35 -0
  157. spatialflow/_generated/docs/UserApprovalRequest.md +30 -0
  158. spatialflow/_generated/docs/UserInviteRequest.md +33 -0
  159. spatialflow/_generated/docs/UserInviteResponse.md +36 -0
  160. spatialflow/_generated/docs/UserListResponse.md +34 -0
  161. spatialflow/_generated/docs/UserProfileResponse.md +55 -0
  162. spatialflow/_generated/docs/UserRejectionRequest.md +30 -0
  163. spatialflow/_generated/docs/UserResponse.md +44 -0
  164. spatialflow/_generated/docs/UserSummary.md +41 -0
  165. spatialflow/_generated/docs/UserUsageResponse.md +38 -0
  166. spatialflow/_generated/docs/UserWorkspaceResponse.md +34 -0
  167. spatialflow/_generated/docs/WebhookDeliveryDetailResponse.md +49 -0
  168. spatialflow/_generated/docs/WebhookDeliveryListResponse.md +31 -0
  169. spatialflow/_generated/docs/WebhookDeliveryResponse.md +46 -0
  170. spatialflow/_generated/docs/WebhookListResponse.md +31 -0
  171. spatialflow/_generated/docs/WebhookMetricsResponse.md +31 -0
  172. spatialflow/_generated/docs/WebhookResponse.md +50 -0
  173. spatialflow/_generated/docs/WebhookTestResponse.md +36 -0
  174. spatialflow/_generated/docs/WebhooksApi.md +1384 -0
  175. spatialflow/_generated/docs/WorkflowImportSchema.md +30 -0
  176. spatialflow/_generated/docs/WorkflowIn.md +32 -0
  177. spatialflow/_generated/docs/WorkflowListOut.md +39 -0
  178. spatialflow/_generated/docs/WorkflowListResponse.md +32 -0
  179. spatialflow/_generated/docs/WorkflowOut.md +42 -0
  180. spatialflow/_generated/docs/WorkflowRetryPolicyUpdateSchema.md +32 -0
  181. spatialflow/_generated/docs/WorkflowStepRetrySchema.md +33 -0
  182. spatialflow/_generated/docs/WorkflowUpdate.md +33 -0
  183. spatialflow/_generated/docs/WorkflowsApi.md +2599 -0
  184. spatialflow/_generated/docs/WorkspaceDeleteResponse.md +33 -0
  185. spatialflow/_generated/docs/WorkspaceDetail.md +37 -0
  186. spatialflow/_generated/docs/WorkspaceDetailResponse.md +41 -0
  187. spatialflow/_generated/docs/WorkspaceIn.md +34 -0
  188. spatialflow/_generated/docs/WorkspaceListItem.md +39 -0
  189. spatialflow/_generated/docs/WorkspaceListResponse.md +34 -0
  190. spatialflow/_generated/docs/WorkspaceMembersResponse.md +35 -0
  191. spatialflow/_generated/docs/WorkspaceOut.md +38 -0
  192. spatialflow/_generated/docs/WorkspaceSummary.md +32 -0
  193. spatialflow/_generated/docs/WorkspaceUpdateRequest.md +34 -0
  194. spatialflow/_generated/docs/WorkspaceUpdateResponse.md +33 -0
  195. spatialflow/_generated/docs/WorkspacesApi.md +241 -0
  196. spatialflow/_generated/git_push.sh +57 -0
  197. spatialflow/_generated/pyproject.toml +91 -0
  198. spatialflow/_generated/requirements.txt +6 -0
  199. spatialflow/_generated/setup.cfg +2 -0
  200. spatialflow/_generated/setup.py +51 -0
  201. spatialflow/_generated/spatialflow_generated/__init__.py +216 -0
  202. spatialflow/_generated/spatialflow_generated/api/__init__.py +24 -0
  203. spatialflow/_generated/spatialflow_generated/api/account_api.py +5675 -0
  204. spatialflow/_generated/spatialflow_generated/api/admin_api.py +6173 -0
  205. spatialflow/_generated/spatialflow_generated/api/authentication_api.py +4753 -0
  206. spatialflow/_generated/spatialflow_generated/api/billing_api.py +3151 -0
  207. spatialflow/_generated/spatialflow_generated/api/default_api.py +2157 -0
  208. spatialflow/_generated/spatialflow_generated/api/devices_api.py +3965 -0
  209. spatialflow/_generated/spatialflow_generated/api/e2_e_test_api.py +1049 -0
  210. spatialflow/_generated/spatialflow_generated/api/email_api.py +1879 -0
  211. spatialflow/_generated/spatialflow_generated/api/geofences_api.py +4899 -0
  212. spatialflow/_generated/spatialflow_generated/api/gpx_simulator_api.py +2824 -0
  213. spatialflow/_generated/spatialflow_generated/api/integrations_api.py +6952 -0
  214. spatialflow/_generated/spatialflow_generated/api/public_api.py +1506 -0
  215. spatialflow/_generated/spatialflow_generated/api/public_location_ingest_api.py +845 -0
  216. spatialflow/_generated/spatialflow_generated/api/storage_api.py +1642 -0
  217. spatialflow/_generated/spatialflow_generated/api/subscriptions_api.py +2356 -0
  218. spatialflow/_generated/spatialflow_generated/api/system_api.py +529 -0
  219. spatialflow/_generated/spatialflow_generated/api/tiles_api.py +1626 -0
  220. spatialflow/_generated/spatialflow_generated/api/webhooks_api.py +4579 -0
  221. spatialflow/_generated/spatialflow_generated/api/workflows_api.py +8334 -0
  222. spatialflow/_generated/spatialflow_generated/api/workspaces_api.py +813 -0
  223. spatialflow/_generated/spatialflow_generated/api_client.py +800 -0
  224. spatialflow/_generated/spatialflow_generated/api_response.py +21 -0
  225. spatialflow/_generated/spatialflow_generated/configuration.py +599 -0
  226. spatialflow/_generated/spatialflow_generated/exceptions.py +199 -0
  227. spatialflow/_generated/spatialflow_generated/models/__init__.py +180 -0
  228. spatialflow/_generated/spatialflow_generated/models/action_delivery_success_metrics.py +96 -0
  229. spatialflow/_generated/spatialflow_generated/models/action_response.py +96 -0
  230. spatialflow/_generated/spatialflow_generated/models/action_retry_config_schema.py +114 -0
  231. spatialflow/_generated/spatialflow_generated/models/activity_summary.py +89 -0
  232. spatialflow/_generated/spatialflow_generated/models/api_key_create_request.py +95 -0
  233. spatialflow/_generated/spatialflow_generated/models/api_key_create_response.py +89 -0
  234. spatialflow/_generated/spatialflow_generated/models/api_key_response.py +109 -0
  235. spatialflow/_generated/spatialflow_generated/models/api_key_update_request.py +114 -0
  236. spatialflow/_generated/spatialflow_generated/models/api_usage_stats.py +98 -0
  237. spatialflow/_generated/spatialflow_generated/models/async_upload_geofences_response.py +93 -0
  238. spatialflow/_generated/spatialflow_generated/models/auth_type_enum.py +39 -0
  239. spatialflow/_generated/spatialflow_generated/models/batch_location_update_in.py +97 -0
  240. spatialflow/_generated/spatialflow_generated/models/bulk_geofence_request.py +95 -0
  241. spatialflow/_generated/spatialflow_generated/models/change_password_schema.py +89 -0
  242. spatialflow/_generated/spatialflow_generated/models/checkout_session_request.py +91 -0
  243. spatialflow/_generated/spatialflow_generated/models/checkout_session_response.py +89 -0
  244. spatialflow/_generated/spatialflow_generated/models/circuit_breaker_schema.py +94 -0
  245. spatialflow/_generated/spatialflow_generated/models/config_field_definition_request.py +134 -0
  246. spatialflow/_generated/spatialflow_generated/models/config_field_definition_response.py +138 -0
  247. spatialflow/_generated/spatialflow_generated/models/confirm_password_reset_schema.py +89 -0
  248. spatialflow/_generated/spatialflow_generated/models/create_from_template_in.py +94 -0
  249. spatialflow/_generated/spatialflow_generated/models/create_geofence_request.py +125 -0
  250. spatialflow/_generated/spatialflow_generated/models/create_integration_schema.py +106 -0
  251. spatialflow/_generated/spatialflow_generated/models/create_user_schema.py +99 -0
  252. spatialflow/_generated/spatialflow_generated/models/create_webhook_request.py +136 -0
  253. spatialflow/_generated/spatialflow_generated/models/dashboard_comparison_metrics.py +96 -0
  254. spatialflow/_generated/spatialflow_generated/models/dashboard_metrics_response.py +108 -0
  255. spatialflow/_generated/spatialflow_generated/models/delete_file_response.py +89 -0
  256. spatialflow/_generated/spatialflow_generated/models/delivery_status_enum.py +38 -0
  257. spatialflow/_generated/spatialflow_generated/models/device_in.py +98 -0
  258. spatialflow/_generated/spatialflow_generated/models/device_out.py +114 -0
  259. spatialflow/_generated/spatialflow_generated/models/email_health_response.py +92 -0
  260. spatialflow/_generated/spatialflow_generated/models/email_queue_stats.py +97 -0
  261. spatialflow/_generated/spatialflow_generated/models/email_stats.py +91 -0
  262. spatialflow/_generated/spatialflow_generated/models/email_status_response.py +112 -0
  263. spatialflow/_generated/spatialflow_generated/models/error_response.py +101 -0
  264. spatialflow/_generated/spatialflow_generated/models/execution_out.py +126 -0
  265. spatialflow/_generated/spatialflow_generated/models/export_integration_schema.py +97 -0
  266. spatialflow/_generated/spatialflow_generated/models/file_list_response.py +91 -0
  267. spatialflow/_generated/spatialflow_generated/models/forgot_password_schema.py +87 -0
  268. spatialflow/_generated/spatialflow_generated/models/geo_json_point.py +97 -0
  269. spatialflow/_generated/spatialflow_generated/models/geofence_list_response.py +97 -0
  270. spatialflow/_generated/spatialflow_generated/models/geofence_response.py +139 -0
  271. spatialflow/_generated/spatialflow_generated/models/geofence_stats.py +89 -0
  272. spatialflow/_generated/spatialflow_generated/models/geofence_test_result.py +98 -0
  273. spatialflow/_generated/spatialflow_generated/models/gpx_playback_out.py +128 -0
  274. spatialflow/_generated/spatialflow_generated/models/gpx_route_out.py +119 -0
  275. spatialflow/_generated/spatialflow_generated/models/health_check_response.py +91 -0
  276. spatialflow/_generated/spatialflow_generated/models/health_response.py +91 -0
  277. spatialflow/_generated/spatialflow_generated/models/import_integration_schema.py +100 -0
  278. spatialflow/_generated/spatialflow_generated/models/import_result_schema.py +103 -0
  279. spatialflow/_generated/spatialflow_generated/models/integration_detail_schema.py +125 -0
  280. spatialflow/_generated/spatialflow_generated/models/integration_response_schema.py +123 -0
  281. spatialflow/_generated/spatialflow_generated/models/integration_stats_schema.py +116 -0
  282. spatialflow/_generated/spatialflow_generated/models/integration_type_list_response.py +103 -0
  283. spatialflow/_generated/spatialflow_generated/models/integration_type_request.py +117 -0
  284. spatialflow/_generated/spatialflow_generated/models/integration_type_response.py +128 -0
  285. spatialflow/_generated/spatialflow_generated/models/invoice_line_item.py +93 -0
  286. spatialflow/_generated/spatialflow_generated/models/invoice_list_response.py +97 -0
  287. spatialflow/_generated/spatialflow_generated/models/invoice_response.py +120 -0
  288. spatialflow/_generated/spatialflow_generated/models/location_batch_in.py +102 -0
  289. spatialflow/_generated/spatialflow_generated/models/location_import_response.py +120 -0
  290. spatialflow/_generated/spatialflow_generated/models/location_ingest_response.py +117 -0
  291. spatialflow/_generated/spatialflow_generated/models/location_point_in.py +129 -0
  292. spatialflow/_generated/spatialflow_generated/models/location_update_in.py +132 -0
  293. spatialflow/_generated/spatialflow_generated/models/location_update_out.py +93 -0
  294. spatialflow/_generated/spatialflow_generated/models/login_response.py +95 -0
  295. spatialflow/_generated/spatialflow_generated/models/login_schema.py +89 -0
  296. spatialflow/_generated/spatialflow_generated/models/member_action_response.py +98 -0
  297. spatialflow/_generated/spatialflow_generated/models/member_summary.py +114 -0
  298. spatialflow/_generated/spatialflow_generated/models/method_enum.py +39 -0
  299. spatialflow/_generated/spatialflow_generated/models/o_auth_authorize_response.py +87 -0
  300. spatialflow/_generated/spatialflow_generated/models/o_auth_callback_query.py +103 -0
  301. spatialflow/_generated/spatialflow_generated/models/o_auth_link_response.py +91 -0
  302. spatialflow/_generated/spatialflow_generated/models/o_auth_providers_response.py +87 -0
  303. spatialflow/_generated/spatialflow_generated/models/onboarding_progress_response.py +112 -0
  304. spatialflow/_generated/spatialflow_generated/models/payment_method_response.py +116 -0
  305. spatialflow/_generated/spatialflow_generated/models/ping_response.py +91 -0
  306. spatialflow/_generated/spatialflow_generated/models/plan_change_preview_response.py +104 -0
  307. spatialflow/_generated/spatialflow_generated/models/plan_features.py +109 -0
  308. spatialflow/_generated/spatialflow_generated/models/plan_limits.py +95 -0
  309. spatialflow/_generated/spatialflow_generated/models/plan_response.py +114 -0
  310. spatialflow/_generated/spatialflow_generated/models/portal_session_request.py +87 -0
  311. spatialflow/_generated/spatialflow_generated/models/portal_session_response.py +87 -0
  312. spatialflow/_generated/spatialflow_generated/models/presigned_url_request.py +91 -0
  313. spatialflow/_generated/spatialflow_generated/models/presigned_url_response.py +99 -0
  314. spatialflow/_generated/spatialflow_generated/models/privacy_erasure_request.py +118 -0
  315. spatialflow/_generated/spatialflow_generated/models/privacy_erasure_response.py +110 -0
  316. spatialflow/_generated/spatialflow_generated/models/rate_limit_response.py +91 -0
  317. spatialflow/_generated/spatialflow_generated/models/recent_activity.py +91 -0
  318. spatialflow/_generated/spatialflow_generated/models/refresh_token_schema.py +87 -0
  319. spatialflow/_generated/spatialflow_generated/models/register_schema.py +133 -0
  320. spatialflow/_generated/spatialflow_generated/models/resend_verification_schema.py +87 -0
  321. spatialflow/_generated/spatialflow_generated/models/reset_password_schema.py +91 -0
  322. spatialflow/_generated/spatialflow_generated/models/retry_policy_response_schema.py +95 -0
  323. spatialflow/_generated/spatialflow_generated/models/retry_policy_schema.py +99 -0
  324. spatialflow/_generated/spatialflow_generated/models/retry_strategy_enum.py +38 -0
  325. spatialflow/_generated/spatialflow_generated/models/seed_data_response_schema.py +91 -0
  326. spatialflow/_generated/spatialflow_generated/models/send_email_request.py +100 -0
  327. spatialflow/_generated/spatialflow_generated/models/setup_intent_response.py +87 -0
  328. spatialflow/_generated/spatialflow_generated/models/signup_request.py +164 -0
  329. spatialflow/_generated/spatialflow_generated/models/start_playback_request.py +89 -0
  330. spatialflow/_generated/spatialflow_generated/models/subscription_action_response.py +100 -0
  331. spatialflow/_generated/spatialflow_generated/models/subscription_response.py +113 -0
  332. spatialflow/_generated/spatialflow_generated/models/success_response.py +94 -0
  333. spatialflow/_generated/spatialflow_generated/models/template_out.py +104 -0
  334. spatialflow/_generated/spatialflow_generated/models/test_event_request.py +92 -0
  335. spatialflow/_generated/spatialflow_generated/models/test_integration_response_schema.py +91 -0
  336. spatialflow/_generated/spatialflow_generated/models/test_point_request.py +125 -0
  337. spatialflow/_generated/spatialflow_generated/models/test_point_response.py +101 -0
  338. spatialflow/_generated/spatialflow_generated/models/test_webhook_request.py +106 -0
  339. spatialflow/_generated/spatialflow_generated/models/test_workflow_in.py +87 -0
  340. spatialflow/_generated/spatialflow_generated/models/tile_metadata.py +99 -0
  341. spatialflow/_generated/spatialflow_generated/models/unsubscribe_request.py +87 -0
  342. spatialflow/_generated/spatialflow_generated/models/unsubscribe_response.py +91 -0
  343. spatialflow/_generated/spatialflow_generated/models/update_geofence_request.py +142 -0
  344. spatialflow/_generated/spatialflow_generated/models/update_integration_schema.py +121 -0
  345. spatialflow/_generated/spatialflow_generated/models/update_member_role_request.py +87 -0
  346. spatialflow/_generated/spatialflow_generated/models/update_onboarding_progress_request.py +87 -0
  347. spatialflow/_generated/spatialflow_generated/models/update_profile_request.py +208 -0
  348. spatialflow/_generated/spatialflow_generated/models/update_user_workspace_request.py +89 -0
  349. spatialflow/_generated/spatialflow_generated/models/update_webhook_request.py +186 -0
  350. spatialflow/_generated/spatialflow_generated/models/upload_geofences_request.py +95 -0
  351. spatialflow/_generated/spatialflow_generated/models/upload_job_status.py +137 -0
  352. spatialflow/_generated/spatialflow_generated/models/usage_metrics.py +93 -0
  353. spatialflow/_generated/spatialflow_generated/models/usage_response.py +105 -0
  354. spatialflow/_generated/spatialflow_generated/models/usage_stats.py +91 -0
  355. spatialflow/_generated/spatialflow_generated/models/user_action_response.py +119 -0
  356. spatialflow/_generated/spatialflow_generated/models/user_approval_request.py +92 -0
  357. spatialflow/_generated/spatialflow_generated/models/user_invite_request.py +110 -0
  358. spatialflow/_generated/spatialflow_generated/models/user_invite_response.py +99 -0
  359. spatialflow/_generated/spatialflow_generated/models/user_list_response.py +110 -0
  360. spatialflow/_generated/spatialflow_generated/models/user_profile_response.py +158 -0
  361. spatialflow/_generated/spatialflow_generated/models/user_rejection_request.py +87 -0
  362. spatialflow/_generated/spatialflow_generated/models/user_response.py +142 -0
  363. spatialflow/_generated/spatialflow_generated/models/user_summary.py +140 -0
  364. spatialflow/_generated/spatialflow_generated/models/user_usage_response.py +152 -0
  365. spatialflow/_generated/spatialflow_generated/models/user_workspace_response.py +110 -0
  366. spatialflow/_generated/spatialflow_generated/models/webhook_delivery_detail_response.py +182 -0
  367. spatialflow/_generated/spatialflow_generated/models/webhook_delivery_list_response.py +97 -0
  368. spatialflow/_generated/spatialflow_generated/models/webhook_delivery_response.py +161 -0
  369. spatialflow/_generated/spatialflow_generated/models/webhook_list_response.py +97 -0
  370. spatialflow/_generated/spatialflow_generated/models/webhook_metrics_response.py +89 -0
  371. spatialflow/_generated/spatialflow_generated/models/webhook_response.py +148 -0
  372. spatialflow/_generated/spatialflow_generated/models/webhook_test_response.py +114 -0
  373. spatialflow/_generated/spatialflow_generated/models/workflow_import_schema.py +89 -0
  374. spatialflow/_generated/spatialflow_generated/models/workflow_in.py +98 -0
  375. spatialflow/_generated/spatialflow_generated/models/workflow_list_out.py +118 -0
  376. spatialflow/_generated/spatialflow_generated/models/workflow_list_response.py +101 -0
  377. spatialflow/_generated/spatialflow_generated/models/workflow_out.py +129 -0
  378. spatialflow/_generated/spatialflow_generated/models/workflow_retry_policy_update_schema.py +109 -0
  379. spatialflow/_generated/spatialflow_generated/models/workflow_step_retry_schema.py +103 -0
  380. spatialflow/_generated/spatialflow_generated/models/workflow_update.py +120 -0
  381. spatialflow/_generated/spatialflow_generated/models/workspace_delete_response.py +93 -0
  382. spatialflow/_generated/spatialflow_generated/models/workspace_detail.py +116 -0
  383. spatialflow/_generated/spatialflow_generated/models/workspace_detail_response.py +143 -0
  384. spatialflow/_generated/spatialflow_generated/models/workspace_in.py +122 -0
  385. spatialflow/_generated/spatialflow_generated/models/workspace_list_item.py +130 -0
  386. spatialflow/_generated/spatialflow_generated/models/workspace_list_response.py +103 -0
  387. spatialflow/_generated/spatialflow_generated/models/workspace_members_response.py +109 -0
  388. spatialflow/_generated/spatialflow_generated/models/workspace_out.py +132 -0
  389. spatialflow/_generated/spatialflow_generated/models/workspace_summary.py +91 -0
  390. spatialflow/_generated/spatialflow_generated/models/workspace_update_request.py +120 -0
  391. spatialflow/_generated/spatialflow_generated/models/workspace_update_response.py +93 -0
  392. spatialflow/_generated/spatialflow_generated/py.typed +0 -0
  393. spatialflow/_generated/spatialflow_generated/rest.py +215 -0
  394. spatialflow/_generated/test-requirements.txt +6 -0
  395. spatialflow/_generated/tox.ini +9 -0
  396. spatialflow/client.py +137 -0
  397. spatialflow/exceptions.py +234 -0
  398. spatialflow/jobs.py +204 -0
  399. spatialflow/pagination.py +142 -0
  400. spatialflow/uploads.py +166 -0
  401. spatialflow/webhooks.py +126 -0
  402. spatialflow-0.1.0.dist-info/METADATA +249 -0
  403. spatialflow-0.1.0.dist-info/RECORD +404 -0
  404. spatialflow-0.1.0.dist-info/WHEEL +4 -0
@@ -0,0 +1,91 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ SpatialFlow API
5
+
6
+ Real-time geospatial automation platform API. ## Authentication **API Key:** Include `X-API-Key` header **JWT Token:** Include `Authorization: Bearer <token>` header ## Rate Limits - Per API Key: 200 rps sustained, 1,000 rps burst - Per Organization: 1,000 rps aggregate ## Webhook Verification Outbound webhooks include HMAC-SHA256 signatures in `X-SF-Signature` header. ## Support - Documentation: https://docs.spatialflow.io - GitHub: https://github.com/spatialflow/spatialflow - Email: support@spatialflow.io
7
+
8
+ The version of the OpenAPI document: 1.0.0
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
+
11
+ Do not edit the class manually.
12
+ """ # noqa: E501
13
+
14
+
15
+ from __future__ import annotations
16
+ import pprint
17
+ import re # noqa: F401
18
+ import json
19
+
20
+ from pydantic import BaseModel, ConfigDict, StrictStr
21
+ from typing import Any, ClassVar, Dict, List, Optional
22
+ from typing import Optional, Set
23
+ from typing_extensions import Self
24
+
25
+ class HealthResponse(BaseModel):
26
+ """
27
+ Health check response.
28
+ """ # noqa: E501
29
+ status: Optional[StrictStr] = 'healthy'
30
+ service: Optional[StrictStr] = 'subscription'
31
+ timestamp: Optional[StrictStr] = None
32
+ __properties: ClassVar[List[str]] = ["status", "service", "timestamp"]
33
+
34
+ model_config = ConfigDict(
35
+ populate_by_name=True,
36
+ validate_assignment=True,
37
+ protected_namespaces=(),
38
+ )
39
+
40
+
41
+ def to_str(self) -> str:
42
+ """Returns the string representation of the model using alias"""
43
+ return pprint.pformat(self.model_dump(by_alias=True))
44
+
45
+ def to_json(self) -> str:
46
+ """Returns the JSON representation of the model using alias"""
47
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
48
+ return json.dumps(self.to_dict())
49
+
50
+ @classmethod
51
+ def from_json(cls, json_str: str) -> Optional[Self]:
52
+ """Create an instance of HealthResponse from a JSON string"""
53
+ return cls.from_dict(json.loads(json_str))
54
+
55
+ def to_dict(self) -> Dict[str, Any]:
56
+ """Return the dictionary representation of the model using alias.
57
+
58
+ This has the following differences from calling pydantic's
59
+ `self.model_dump(by_alias=True)`:
60
+
61
+ * `None` is only added to the output dict for nullable fields that
62
+ were set at model initialization. Other fields with value `None`
63
+ are ignored.
64
+ """
65
+ excluded_fields: Set[str] = set([
66
+ ])
67
+
68
+ _dict = self.model_dump(
69
+ by_alias=True,
70
+ exclude=excluded_fields,
71
+ exclude_none=True,
72
+ )
73
+ return _dict
74
+
75
+ @classmethod
76
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
77
+ """Create an instance of HealthResponse from a dict"""
78
+ if obj is None:
79
+ return None
80
+
81
+ if not isinstance(obj, dict):
82
+ return cls.model_validate(obj)
83
+
84
+ _obj = cls.model_validate({
85
+ "status": obj.get("status") if obj.get("status") is not None else 'healthy',
86
+ "service": obj.get("service") if obj.get("service") is not None else 'subscription',
87
+ "timestamp": obj.get("timestamp")
88
+ })
89
+ return _obj
90
+
91
+
@@ -0,0 +1,100 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ SpatialFlow API
5
+
6
+ Real-time geospatial automation platform API. ## Authentication **API Key:** Include `X-API-Key` header **JWT Token:** Include `Authorization: Bearer <token>` header ## Rate Limits - Per API Key: 200 rps sustained, 1,000 rps burst - Per Organization: 1,000 rps aggregate ## Webhook Verification Outbound webhooks include HMAC-SHA256 signatures in `X-SF-Signature` header. ## Support - Documentation: https://docs.spatialflow.io - GitHub: https://github.com/spatialflow/spatialflow - Email: support@spatialflow.io
7
+
8
+ The version of the OpenAPI document: 1.0.0
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
+
11
+ Do not edit the class manually.
12
+ """ # noqa: E501
13
+
14
+
15
+ from __future__ import annotations
16
+ import pprint
17
+ import re # noqa: F401
18
+ import json
19
+
20
+ from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr
21
+ from typing import Any, ClassVar, Dict, List, Optional
22
+ from .export_integration_schema import ExportIntegrationSchema
23
+ from typing import Optional, Set
24
+ from typing_extensions import Self
25
+
26
+ class ImportIntegrationSchema(BaseModel):
27
+ """
28
+ Schema for importing integration data
29
+ """ # noqa: E501
30
+ data: ExportIntegrationSchema
31
+ overwrite: Optional[StrictBool] = Field(default=False, description="Overwrite existing integration with same name")
32
+ decrypt_key: Optional[StrictStr] = None
33
+ __properties: ClassVar[List[str]] = ["data", "overwrite", "decrypt_key"]
34
+
35
+ model_config = ConfigDict(
36
+ populate_by_name=True,
37
+ validate_assignment=True,
38
+ protected_namespaces=(),
39
+ )
40
+
41
+
42
+ def to_str(self) -> str:
43
+ """Returns the string representation of the model using alias"""
44
+ return pprint.pformat(self.model_dump(by_alias=True))
45
+
46
+ def to_json(self) -> str:
47
+ """Returns the JSON representation of the model using alias"""
48
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
49
+ return json.dumps(self.to_dict())
50
+
51
+ @classmethod
52
+ def from_json(cls, json_str: str) -> Optional[Self]:
53
+ """Create an instance of ImportIntegrationSchema from a JSON string"""
54
+ return cls.from_dict(json.loads(json_str))
55
+
56
+ def to_dict(self) -> Dict[str, Any]:
57
+ """Return the dictionary representation of the model using alias.
58
+
59
+ This has the following differences from calling pydantic's
60
+ `self.model_dump(by_alias=True)`:
61
+
62
+ * `None` is only added to the output dict for nullable fields that
63
+ were set at model initialization. Other fields with value `None`
64
+ are ignored.
65
+ """
66
+ excluded_fields: Set[str] = set([
67
+ ])
68
+
69
+ _dict = self.model_dump(
70
+ by_alias=True,
71
+ exclude=excluded_fields,
72
+ exclude_none=True,
73
+ )
74
+ # override the default output from pydantic by calling `to_dict()` of data
75
+ if self.data:
76
+ _dict['data'] = self.data.to_dict()
77
+ # set to None if decrypt_key (nullable) is None
78
+ # and model_fields_set contains the field
79
+ if self.decrypt_key is None and "decrypt_key" in self.model_fields_set:
80
+ _dict['decrypt_key'] = None
81
+
82
+ return _dict
83
+
84
+ @classmethod
85
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
86
+ """Create an instance of ImportIntegrationSchema from a dict"""
87
+ if obj is None:
88
+ return None
89
+
90
+ if not isinstance(obj, dict):
91
+ return cls.model_validate(obj)
92
+
93
+ _obj = cls.model_validate({
94
+ "data": ExportIntegrationSchema.from_dict(obj["data"]) if obj.get("data") is not None else None,
95
+ "overwrite": obj.get("overwrite") if obj.get("overwrite") is not None else False,
96
+ "decrypt_key": obj.get("decrypt_key")
97
+ })
98
+ return _obj
99
+
100
+
@@ -0,0 +1,103 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ SpatialFlow API
5
+
6
+ Real-time geospatial automation platform API. ## Authentication **API Key:** Include `X-API-Key` header **JWT Token:** Include `Authorization: Bearer <token>` header ## Rate Limits - Per API Key: 200 rps sustained, 1,000 rps burst - Per Organization: 1,000 rps aggregate ## Webhook Verification Outbound webhooks include HMAC-SHA256 signatures in `X-SF-Signature` header. ## Support - Documentation: https://docs.spatialflow.io - GitHub: https://github.com/spatialflow/spatialflow - Email: support@spatialflow.io
7
+
8
+ The version of the OpenAPI document: 1.0.0
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
+
11
+ Do not edit the class manually.
12
+ """ # noqa: E501
13
+
14
+
15
+ from __future__ import annotations
16
+ import pprint
17
+ import re # noqa: F401
18
+ import json
19
+
20
+ from pydantic import BaseModel, ConfigDict, StrictBool, StrictStr
21
+ from typing import Any, ClassVar, Dict, List, Optional
22
+ from typing import Optional, Set
23
+ from typing_extensions import Self
24
+
25
+ class ImportResultSchema(BaseModel):
26
+ """
27
+ Result of import operation
28
+ """ # noqa: E501
29
+ success: StrictBool
30
+ integration_id: Optional[StrictStr] = None
31
+ message: StrictStr
32
+ conflicts: Optional[List[StrictStr]] = None
33
+ __properties: ClassVar[List[str]] = ["success", "integration_id", "message", "conflicts"]
34
+
35
+ model_config = ConfigDict(
36
+ populate_by_name=True,
37
+ validate_assignment=True,
38
+ protected_namespaces=(),
39
+ )
40
+
41
+
42
+ def to_str(self) -> str:
43
+ """Returns the string representation of the model using alias"""
44
+ return pprint.pformat(self.model_dump(by_alias=True))
45
+
46
+ def to_json(self) -> str:
47
+ """Returns the JSON representation of the model using alias"""
48
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
49
+ return json.dumps(self.to_dict())
50
+
51
+ @classmethod
52
+ def from_json(cls, json_str: str) -> Optional[Self]:
53
+ """Create an instance of ImportResultSchema from a JSON string"""
54
+ return cls.from_dict(json.loads(json_str))
55
+
56
+ def to_dict(self) -> Dict[str, Any]:
57
+ """Return the dictionary representation of the model using alias.
58
+
59
+ This has the following differences from calling pydantic's
60
+ `self.model_dump(by_alias=True)`:
61
+
62
+ * `None` is only added to the output dict for nullable fields that
63
+ were set at model initialization. Other fields with value `None`
64
+ are ignored.
65
+ """
66
+ excluded_fields: Set[str] = set([
67
+ ])
68
+
69
+ _dict = self.model_dump(
70
+ by_alias=True,
71
+ exclude=excluded_fields,
72
+ exclude_none=True,
73
+ )
74
+ # set to None if integration_id (nullable) is None
75
+ # and model_fields_set contains the field
76
+ if self.integration_id is None and "integration_id" in self.model_fields_set:
77
+ _dict['integration_id'] = None
78
+
79
+ # set to None if conflicts (nullable) is None
80
+ # and model_fields_set contains the field
81
+ if self.conflicts is None and "conflicts" in self.model_fields_set:
82
+ _dict['conflicts'] = None
83
+
84
+ return _dict
85
+
86
+ @classmethod
87
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
88
+ """Create an instance of ImportResultSchema from a dict"""
89
+ if obj is None:
90
+ return None
91
+
92
+ if not isinstance(obj, dict):
93
+ return cls.model_validate(obj)
94
+
95
+ _obj = cls.model_validate({
96
+ "success": obj.get("success"),
97
+ "integration_id": obj.get("integration_id"),
98
+ "message": obj.get("message"),
99
+ "conflicts": obj.get("conflicts")
100
+ })
101
+ return _obj
102
+
103
+
@@ -0,0 +1,125 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ SpatialFlow API
5
+
6
+ Real-time geospatial automation platform API. ## Authentication **API Key:** Include `X-API-Key` header **JWT Token:** Include `Authorization: Bearer <token>` header ## Rate Limits - Per API Key: 200 rps sustained, 1,000 rps burst - Per Organization: 1,000 rps aggregate ## Webhook Verification Outbound webhooks include HMAC-SHA256 signatures in `X-SF-Signature` header. ## Support - Documentation: https://docs.spatialflow.io - GitHub: https://github.com/spatialflow/spatialflow - Email: support@spatialflow.io
7
+
8
+ The version of the OpenAPI document: 1.0.0
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
+
11
+ Do not edit the class manually.
12
+ """ # noqa: E501
13
+
14
+
15
+ from __future__ import annotations
16
+ import pprint
17
+ import re # noqa: F401
18
+ import json
19
+
20
+ from pydantic import BaseModel, ConfigDict, StrictBool, StrictInt, StrictStr
21
+ from typing import Any, ClassVar, Dict, List, Optional
22
+ from typing import Optional, Set
23
+ from typing_extensions import Self
24
+
25
+ class IntegrationDetailSchema(BaseModel):
26
+ """
27
+ Detailed integration response with masked config
28
+ """ # noqa: E501
29
+ id: StrictStr
30
+ name: StrictStr
31
+ type: StrictStr
32
+ description: StrictStr
33
+ is_active: StrictBool
34
+ is_verified: StrictBool
35
+ health_status: StrictStr
36
+ health_message: StrictStr
37
+ usage_count: StrictInt
38
+ last_used_at: Optional[StrictStr] = None
39
+ last_verified_at: Optional[StrictStr] = None
40
+ tags: List[StrictStr]
41
+ created_at: StrictStr
42
+ updated_at: StrictStr
43
+ config: Dict[str, Any]
44
+ __properties: ClassVar[List[str]] = ["id", "name", "type", "description", "is_active", "is_verified", "health_status", "health_message", "usage_count", "last_used_at", "last_verified_at", "tags", "created_at", "updated_at", "config"]
45
+
46
+ model_config = ConfigDict(
47
+ populate_by_name=True,
48
+ validate_assignment=True,
49
+ protected_namespaces=(),
50
+ )
51
+
52
+
53
+ def to_str(self) -> str:
54
+ """Returns the string representation of the model using alias"""
55
+ return pprint.pformat(self.model_dump(by_alias=True))
56
+
57
+ def to_json(self) -> str:
58
+ """Returns the JSON representation of the model using alias"""
59
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
60
+ return json.dumps(self.to_dict())
61
+
62
+ @classmethod
63
+ def from_json(cls, json_str: str) -> Optional[Self]:
64
+ """Create an instance of IntegrationDetailSchema from a JSON string"""
65
+ return cls.from_dict(json.loads(json_str))
66
+
67
+ def to_dict(self) -> Dict[str, Any]:
68
+ """Return the dictionary representation of the model using alias.
69
+
70
+ This has the following differences from calling pydantic's
71
+ `self.model_dump(by_alias=True)`:
72
+
73
+ * `None` is only added to the output dict for nullable fields that
74
+ were set at model initialization. Other fields with value `None`
75
+ are ignored.
76
+ """
77
+ excluded_fields: Set[str] = set([
78
+ ])
79
+
80
+ _dict = self.model_dump(
81
+ by_alias=True,
82
+ exclude=excluded_fields,
83
+ exclude_none=True,
84
+ )
85
+ # set to None if last_used_at (nullable) is None
86
+ # and model_fields_set contains the field
87
+ if self.last_used_at is None and "last_used_at" in self.model_fields_set:
88
+ _dict['last_used_at'] = None
89
+
90
+ # set to None if last_verified_at (nullable) is None
91
+ # and model_fields_set contains the field
92
+ if self.last_verified_at is None and "last_verified_at" in self.model_fields_set:
93
+ _dict['last_verified_at'] = None
94
+
95
+ return _dict
96
+
97
+ @classmethod
98
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
99
+ """Create an instance of IntegrationDetailSchema from a dict"""
100
+ if obj is None:
101
+ return None
102
+
103
+ if not isinstance(obj, dict):
104
+ return cls.model_validate(obj)
105
+
106
+ _obj = cls.model_validate({
107
+ "id": obj.get("id"),
108
+ "name": obj.get("name"),
109
+ "type": obj.get("type"),
110
+ "description": obj.get("description"),
111
+ "is_active": obj.get("is_active"),
112
+ "is_verified": obj.get("is_verified"),
113
+ "health_status": obj.get("health_status"),
114
+ "health_message": obj.get("health_message"),
115
+ "usage_count": obj.get("usage_count"),
116
+ "last_used_at": obj.get("last_used_at"),
117
+ "last_verified_at": obj.get("last_verified_at"),
118
+ "tags": obj.get("tags"),
119
+ "created_at": obj.get("created_at"),
120
+ "updated_at": obj.get("updated_at"),
121
+ "config": obj.get("config")
122
+ })
123
+ return _obj
124
+
125
+
@@ -0,0 +1,123 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ SpatialFlow API
5
+
6
+ Real-time geospatial automation platform API. ## Authentication **API Key:** Include `X-API-Key` header **JWT Token:** Include `Authorization: Bearer <token>` header ## Rate Limits - Per API Key: 200 rps sustained, 1,000 rps burst - Per Organization: 1,000 rps aggregate ## Webhook Verification Outbound webhooks include HMAC-SHA256 signatures in `X-SF-Signature` header. ## Support - Documentation: https://docs.spatialflow.io - GitHub: https://github.com/spatialflow/spatialflow - Email: support@spatialflow.io
7
+
8
+ The version of the OpenAPI document: 1.0.0
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
+
11
+ Do not edit the class manually.
12
+ """ # noqa: E501
13
+
14
+
15
+ from __future__ import annotations
16
+ import pprint
17
+ import re # noqa: F401
18
+ import json
19
+
20
+ from pydantic import BaseModel, ConfigDict, StrictBool, StrictInt, StrictStr
21
+ from typing import Any, ClassVar, Dict, List, Optional
22
+ from typing import Optional, Set
23
+ from typing_extensions import Self
24
+
25
+ class IntegrationResponseSchema(BaseModel):
26
+ """
27
+ IntegrationResponseSchema
28
+ """ # noqa: E501
29
+ id: StrictStr
30
+ name: StrictStr
31
+ type: StrictStr
32
+ description: StrictStr
33
+ is_active: StrictBool
34
+ is_verified: StrictBool
35
+ health_status: StrictStr
36
+ health_message: StrictStr
37
+ usage_count: StrictInt
38
+ last_used_at: Optional[StrictStr] = None
39
+ last_verified_at: Optional[StrictStr] = None
40
+ tags: List[StrictStr]
41
+ created_at: StrictStr
42
+ updated_at: StrictStr
43
+ __properties: ClassVar[List[str]] = ["id", "name", "type", "description", "is_active", "is_verified", "health_status", "health_message", "usage_count", "last_used_at", "last_verified_at", "tags", "created_at", "updated_at"]
44
+
45
+ model_config = ConfigDict(
46
+ populate_by_name=True,
47
+ validate_assignment=True,
48
+ protected_namespaces=(),
49
+ )
50
+
51
+
52
+ def to_str(self) -> str:
53
+ """Returns the string representation of the model using alias"""
54
+ return pprint.pformat(self.model_dump(by_alias=True))
55
+
56
+ def to_json(self) -> str:
57
+ """Returns the JSON representation of the model using alias"""
58
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
59
+ return json.dumps(self.to_dict())
60
+
61
+ @classmethod
62
+ def from_json(cls, json_str: str) -> Optional[Self]:
63
+ """Create an instance of IntegrationResponseSchema from a JSON string"""
64
+ return cls.from_dict(json.loads(json_str))
65
+
66
+ def to_dict(self) -> Dict[str, Any]:
67
+ """Return the dictionary representation of the model using alias.
68
+
69
+ This has the following differences from calling pydantic's
70
+ `self.model_dump(by_alias=True)`:
71
+
72
+ * `None` is only added to the output dict for nullable fields that
73
+ were set at model initialization. Other fields with value `None`
74
+ are ignored.
75
+ """
76
+ excluded_fields: Set[str] = set([
77
+ ])
78
+
79
+ _dict = self.model_dump(
80
+ by_alias=True,
81
+ exclude=excluded_fields,
82
+ exclude_none=True,
83
+ )
84
+ # set to None if last_used_at (nullable) is None
85
+ # and model_fields_set contains the field
86
+ if self.last_used_at is None and "last_used_at" in self.model_fields_set:
87
+ _dict['last_used_at'] = None
88
+
89
+ # set to None if last_verified_at (nullable) is None
90
+ # and model_fields_set contains the field
91
+ if self.last_verified_at is None and "last_verified_at" in self.model_fields_set:
92
+ _dict['last_verified_at'] = None
93
+
94
+ return _dict
95
+
96
+ @classmethod
97
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
98
+ """Create an instance of IntegrationResponseSchema from a dict"""
99
+ if obj is None:
100
+ return None
101
+
102
+ if not isinstance(obj, dict):
103
+ return cls.model_validate(obj)
104
+
105
+ _obj = cls.model_validate({
106
+ "id": obj.get("id"),
107
+ "name": obj.get("name"),
108
+ "type": obj.get("type"),
109
+ "description": obj.get("description"),
110
+ "is_active": obj.get("is_active"),
111
+ "is_verified": obj.get("is_verified"),
112
+ "health_status": obj.get("health_status"),
113
+ "health_message": obj.get("health_message"),
114
+ "usage_count": obj.get("usage_count"),
115
+ "last_used_at": obj.get("last_used_at"),
116
+ "last_verified_at": obj.get("last_verified_at"),
117
+ "tags": obj.get("tags"),
118
+ "created_at": obj.get("created_at"),
119
+ "updated_at": obj.get("updated_at")
120
+ })
121
+ return _obj
122
+
123
+
@@ -0,0 +1,116 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ SpatialFlow API
5
+
6
+ Real-time geospatial automation platform API. ## Authentication **API Key:** Include `X-API-Key` header **JWT Token:** Include `Authorization: Bearer <token>` header ## Rate Limits - Per API Key: 200 rps sustained, 1,000 rps burst - Per Organization: 1,000 rps aggregate ## Webhook Verification Outbound webhooks include HMAC-SHA256 signatures in `X-SF-Signature` header. ## Support - Documentation: https://docs.spatialflow.io - GitHub: https://github.com/spatialflow/spatialflow - Email: support@spatialflow.io
7
+
8
+ The version of the OpenAPI document: 1.0.0
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
+
11
+ Do not edit the class manually.
12
+ """ # noqa: E501
13
+
14
+
15
+ from __future__ import annotations
16
+ import pprint
17
+ import re # noqa: F401
18
+ import json
19
+
20
+ from pydantic import BaseModel, ConfigDict, StrictFloat, StrictInt, StrictStr
21
+ from typing import Any, ClassVar, Dict, List, Optional, Union
22
+ from typing import Optional, Set
23
+ from typing_extensions import Self
24
+
25
+ class IntegrationStatsSchema(BaseModel):
26
+ """
27
+ IntegrationStatsSchema
28
+ """ # noqa: E501
29
+ total_uses: StrictInt
30
+ successful_uses: StrictInt
31
+ success_rate: Union[StrictFloat, StrictInt]
32
+ average_duration_ms: Optional[Union[StrictFloat, StrictInt]]
33
+ health_status: StrictStr
34
+ last_used_at: Optional[StrictStr]
35
+ last_health_check_at: Optional[StrictStr]
36
+ recent_errors: List[Optional[Dict[str, Any]]]
37
+ __properties: ClassVar[List[str]] = ["total_uses", "successful_uses", "success_rate", "average_duration_ms", "health_status", "last_used_at", "last_health_check_at", "recent_errors"]
38
+
39
+ model_config = ConfigDict(
40
+ populate_by_name=True,
41
+ validate_assignment=True,
42
+ protected_namespaces=(),
43
+ )
44
+
45
+
46
+ def to_str(self) -> str:
47
+ """Returns the string representation of the model using alias"""
48
+ return pprint.pformat(self.model_dump(by_alias=True))
49
+
50
+ def to_json(self) -> str:
51
+ """Returns the JSON representation of the model using alias"""
52
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
53
+ return json.dumps(self.to_dict())
54
+
55
+ @classmethod
56
+ def from_json(cls, json_str: str) -> Optional[Self]:
57
+ """Create an instance of IntegrationStatsSchema from a JSON string"""
58
+ return cls.from_dict(json.loads(json_str))
59
+
60
+ def to_dict(self) -> Dict[str, Any]:
61
+ """Return the dictionary representation of the model using alias.
62
+
63
+ This has the following differences from calling pydantic's
64
+ `self.model_dump(by_alias=True)`:
65
+
66
+ * `None` is only added to the output dict for nullable fields that
67
+ were set at model initialization. Other fields with value `None`
68
+ are ignored.
69
+ """
70
+ excluded_fields: Set[str] = set([
71
+ ])
72
+
73
+ _dict = self.model_dump(
74
+ by_alias=True,
75
+ exclude=excluded_fields,
76
+ exclude_none=True,
77
+ )
78
+ # set to None if average_duration_ms (nullable) is None
79
+ # and model_fields_set contains the field
80
+ if self.average_duration_ms is None and "average_duration_ms" in self.model_fields_set:
81
+ _dict['average_duration_ms'] = None
82
+
83
+ # set to None if last_used_at (nullable) is None
84
+ # and model_fields_set contains the field
85
+ if self.last_used_at is None and "last_used_at" in self.model_fields_set:
86
+ _dict['last_used_at'] = None
87
+
88
+ # set to None if last_health_check_at (nullable) is None
89
+ # and model_fields_set contains the field
90
+ if self.last_health_check_at is None and "last_health_check_at" in self.model_fields_set:
91
+ _dict['last_health_check_at'] = None
92
+
93
+ return _dict
94
+
95
+ @classmethod
96
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
97
+ """Create an instance of IntegrationStatsSchema from a dict"""
98
+ if obj is None:
99
+ return None
100
+
101
+ if not isinstance(obj, dict):
102
+ return cls.model_validate(obj)
103
+
104
+ _obj = cls.model_validate({
105
+ "total_uses": obj.get("total_uses"),
106
+ "successful_uses": obj.get("successful_uses"),
107
+ "success_rate": obj.get("success_rate"),
108
+ "average_duration_ms": obj.get("average_duration_ms"),
109
+ "health_status": obj.get("health_status"),
110
+ "last_used_at": obj.get("last_used_at"),
111
+ "last_health_check_at": obj.get("last_health_check_at"),
112
+ "recent_errors": obj.get("recent_errors")
113
+ })
114
+ return _obj
115
+
116
+