fal 0.12.1__py3-none-any.whl → 0.12.3__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.
Potentially problematic release.
This version of fal might be problematic. Click here for more details.
- fal/__init__.py +12 -3
- fal/_serialization.py +18 -0
- fal/api.py +140 -59
- fal/app.py +309 -86
- fal/apps.py +92 -8
- fal/auth/__init__.py +20 -1
- fal/auth/auth0.py +32 -22
- fal/cli.py +34 -52
- fal/env.py +0 -4
- fal/exceptions/handlers.py +3 -2
- fal/flags.py +5 -0
- fal/logging/__init__.py +0 -2
- fal/logging/trace.py +8 -1
- fal/logging/user.py +2 -1
- fal/rest_client.py +2 -2
- fal/sdk.py +46 -31
- fal/sync.py +3 -3
- fal/toolkit/__init__.py +18 -1
- fal/toolkit/file/file.py +98 -11
- fal/toolkit/file/providers/fal.py +43 -2
- fal/toolkit/file/types.py +1 -1
- fal/toolkit/image/image.py +26 -4
- fal/toolkit/optimize.py +50 -0
- fal/toolkit/utils/download_utils.py +59 -13
- {fal-0.12.1.dist-info → fal-0.12.3.dist-info}/METADATA +7 -7
- fal-0.12.3.dist-info/RECORD +66 -0
- openapi_fal_rest/models/__init__.py +2 -70
- openapi_fal_rest/models/customer_details.py +26 -0
- openapi_fal_rest/models/lock_reason.py +16 -0
- fal/logging/datadog.py +0 -77
- fal-0.12.1.dist-info/RECORD +0 -147
- openapi_fal_rest/api/admin/get_invoice_users.py +0 -142
- openapi_fal_rest/api/admin/get_usage_per_user.py +0 -199
- openapi_fal_rest/api/admin/handle_user_lock.py +0 -191
- openapi_fal_rest/api/admin/set_billing_type.py +0 -186
- openapi_fal_rest/api/applications/get_status_applications_app_user_id_app_alias_or_id_status_get.py +0 -179
- openapi_fal_rest/api/billing/delete_payment_method.py +0 -162
- openapi_fal_rest/api/billing/get_checkout_page.py +0 -198
- openapi_fal_rest/api/billing/get_setup_intent_key.py +0 -141
- openapi_fal_rest/api/billing/get_user_invoices.py +0 -152
- openapi_fal_rest/api/billing/get_user_payment_methods.py +0 -152
- openapi_fal_rest/api/billing/get_user_price.py +0 -186
- openapi_fal_rest/api/billing/get_user_spending.py +0 -192
- openapi_fal_rest/api/billing/handle_stripe_webhook.py +0 -173
- openapi_fal_rest/api/billing/upcoming_invoice.py +0 -143
- openapi_fal_rest/api/billing/update_customer_budget.py +0 -183
- openapi_fal_rest/api/files/delete.py +0 -162
- openapi_fal_rest/api/files/download.py +0 -162
- openapi_fal_rest/api/files/file_exists.py +0 -183
- openapi_fal_rest/api/files/list_directory.py +0 -173
- openapi_fal_rest/api/files/list_root.py +0 -152
- openapi_fal_rest/api/files/upload_from_url.py +0 -179
- openapi_fal_rest/api/health/__init__.py +0 -0
- openapi_fal_rest/api/health/check.py +0 -136
- openapi_fal_rest/api/keys/__init__.py +0 -0
- openapi_fal_rest/api/keys/create_key.py +0 -188
- openapi_fal_rest/api/keys/delete_key.py +0 -162
- openapi_fal_rest/api/keys/list_keys.py +0 -152
- openapi_fal_rest/api/logs/__init__.py +0 -0
- openapi_fal_rest/api/logs/list_since.py +0 -224
- openapi_fal_rest/api/requests/__init__.py +0 -0
- openapi_fal_rest/api/requests/requests.py +0 -247
- openapi_fal_rest/api/storage/__init__.py +0 -0
- openapi_fal_rest/api/storage/get_file_link.py +0 -200
- openapi_fal_rest/api/storage/initiate_upload.py +0 -172
- openapi_fal_rest/api/storage/upload_file.py +0 -172
- openapi_fal_rest/api/tokens/__init__.py +0 -0
- openapi_fal_rest/api/tokens/create_token.py +0 -166
- openapi_fal_rest/api/usage/__init__.py +0 -0
- openapi_fal_rest/api/usage/get_custom_usage_per_machine.py +0 -203
- openapi_fal_rest/api/usage/get_gateway_request_stats.py +0 -247
- openapi_fal_rest/api/usage/get_gateway_request_stats_by_time.py +0 -236
- openapi_fal_rest/api/usage/get_gateway_stats_for_yesterday.py +0 -152
- openapi_fal_rest/api/usage/get_shared_usage_per_app.py +0 -203
- openapi_fal_rest/api/usage/get_usage_records.py +0 -253
- openapi_fal_rest/api/usage/per_machine_usage.py +0 -218
- openapi_fal_rest/api/usage/per_machine_usage_details.py +0 -173
- openapi_fal_rest/api/users/__init__.py +0 -0
- openapi_fal_rest/api/users/handle_user_registration.py +0 -228
- openapi_fal_rest/models/billing_type.py +0 -9
- openapi_fal_rest/models/body_create_token.py +0 -68
- openapi_fal_rest/models/body_upload_file.py +0 -75
- openapi_fal_rest/models/file_spec.py +0 -110
- openapi_fal_rest/models/gateway_stats_by_time.py +0 -115
- openapi_fal_rest/models/gateway_usage_stats.py +0 -147
- openapi_fal_rest/models/get_gateway_request_stats_by_time_response_get_gateway_request_stats_by_time.py +0 -70
- openapi_fal_rest/models/grouped_usage_detail.py +0 -85
- openapi_fal_rest/models/handle_stripe_webhook_response_handle_stripe_webhook.py +0 -43
- openapi_fal_rest/models/initiate_upload_info.py +0 -64
- openapi_fal_rest/models/invoice.py +0 -129
- openapi_fal_rest/models/invoice_item.py +0 -85
- openapi_fal_rest/models/key_scope.py +0 -9
- openapi_fal_rest/models/log_entry.py +0 -104
- openapi_fal_rest/models/log_entry_labels.py +0 -43
- openapi_fal_rest/models/new_user_key.py +0 -64
- openapi_fal_rest/models/payment_method.py +0 -96
- openapi_fal_rest/models/per_app_usage_detail.py +0 -88
- openapi_fal_rest/models/persisted_usage_record.py +0 -118
- openapi_fal_rest/models/persisted_usage_record_meta.py +0 -43
- openapi_fal_rest/models/presigned_upload_url.py +0 -64
- openapi_fal_rest/models/request_io.py +0 -112
- openapi_fal_rest/models/request_io_json_input.py +0 -43
- openapi_fal_rest/models/request_io_json_output.py +0 -43
- openapi_fal_rest/models/run_type.py +0 -9
- openapi_fal_rest/models/stats_timeframe.py +0 -12
- openapi_fal_rest/models/status.py +0 -82
- openapi_fal_rest/models/status_health.py +0 -10
- openapi_fal_rest/models/uploaded_file_result.py +0 -64
- openapi_fal_rest/models/url_file_upload.py +0 -57
- openapi_fal_rest/models/usage_per_machine_type.py +0 -115
- openapi_fal_rest/models/usage_per_user.py +0 -71
- openapi_fal_rest/models/usage_run_detail.py +0 -73
- openapi_fal_rest/models/user_key_info.py +0 -84
- /openapi_fal_rest/api/admin/__init__.py → /fal/py.typed +0 -0
- {fal-0.12.1.dist-info → fal-0.12.3.dist-info}/WHEEL +0 -0
- {fal-0.12.1.dist-info → fal-0.12.3.dist-info}/entry_points.txt +0 -0
|
@@ -1,87 +1,19 @@
|
|
|
1
1
|
""" Contains all the data models used in inputs/outputs """
|
|
2
2
|
|
|
3
3
|
from .app_metadata_response_app_metadata import AppMetadataResponseAppMetadata
|
|
4
|
-
from .billing_type import BillingType
|
|
5
|
-
from .body_create_token import BodyCreateToken
|
|
6
|
-
from .body_upload_file import BodyUploadFile
|
|
7
4
|
from .body_upload_local_file import BodyUploadLocalFile
|
|
8
5
|
from .customer_details import CustomerDetails
|
|
9
|
-
from .file_spec import FileSpec
|
|
10
|
-
from .gateway_stats_by_time import GatewayStatsByTime
|
|
11
|
-
from .gateway_usage_stats import GatewayUsageStats
|
|
12
|
-
from .get_gateway_request_stats_by_time_response_get_gateway_request_stats_by_time import (
|
|
13
|
-
GetGatewayRequestStatsByTimeResponseGetGatewayRequestStatsByTime,
|
|
14
|
-
)
|
|
15
|
-
from .grouped_usage_detail import GroupedUsageDetail
|
|
16
|
-
from .handle_stripe_webhook_response_handle_stripe_webhook import HandleStripeWebhookResponseHandleStripeWebhook
|
|
17
6
|
from .hash_check import HashCheck
|
|
18
7
|
from .http_validation_error import HTTPValidationError
|
|
19
|
-
from .
|
|
20
|
-
from .invoice import Invoice
|
|
21
|
-
from .invoice_item import InvoiceItem
|
|
22
|
-
from .key_scope import KeyScope
|
|
23
|
-
from .log_entry import LogEntry
|
|
24
|
-
from .log_entry_labels import LogEntryLabels
|
|
25
|
-
from .new_user_key import NewUserKey
|
|
26
|
-
from .payment_method import PaymentMethod
|
|
27
|
-
from .per_app_usage_detail import PerAppUsageDetail
|
|
28
|
-
from .persisted_usage_record import PersistedUsageRecord
|
|
29
|
-
from .persisted_usage_record_meta import PersistedUsageRecordMeta
|
|
30
|
-
from .presigned_upload_url import PresignedUploadUrl
|
|
31
|
-
from .request_io import RequestIO
|
|
32
|
-
from .request_io_json_input import RequestIOJsonInput
|
|
33
|
-
from .request_io_json_output import RequestIOJsonOutput
|
|
34
|
-
from .run_type import RunType
|
|
35
|
-
from .stats_timeframe import StatsTimeframe
|
|
36
|
-
from .status import Status
|
|
37
|
-
from .status_health import StatusHealth
|
|
38
|
-
from .uploaded_file_result import UploadedFileResult
|
|
39
|
-
from .url_file_upload import UrlFileUpload
|
|
40
|
-
from .usage_per_machine_type import UsagePerMachineType
|
|
41
|
-
from .usage_per_user import UsagePerUser
|
|
42
|
-
from .usage_run_detail import UsageRunDetail
|
|
43
|
-
from .user_key_info import UserKeyInfo
|
|
8
|
+
from .lock_reason import LockReason
|
|
44
9
|
from .validation_error import ValidationError
|
|
45
10
|
|
|
46
11
|
__all__ = (
|
|
47
12
|
"AppMetadataResponseAppMetadata",
|
|
48
|
-
"BillingType",
|
|
49
|
-
"BodyCreateToken",
|
|
50
|
-
"BodyUploadFile",
|
|
51
13
|
"BodyUploadLocalFile",
|
|
52
14
|
"CustomerDetails",
|
|
53
|
-
"FileSpec",
|
|
54
|
-
"GatewayStatsByTime",
|
|
55
|
-
"GatewayUsageStats",
|
|
56
|
-
"GetGatewayRequestStatsByTimeResponseGetGatewayRequestStatsByTime",
|
|
57
|
-
"GroupedUsageDetail",
|
|
58
|
-
"HandleStripeWebhookResponseHandleStripeWebhook",
|
|
59
15
|
"HashCheck",
|
|
60
16
|
"HTTPValidationError",
|
|
61
|
-
"
|
|
62
|
-
"Invoice",
|
|
63
|
-
"InvoiceItem",
|
|
64
|
-
"KeyScope",
|
|
65
|
-
"LogEntry",
|
|
66
|
-
"LogEntryLabels",
|
|
67
|
-
"NewUserKey",
|
|
68
|
-
"PaymentMethod",
|
|
69
|
-
"PerAppUsageDetail",
|
|
70
|
-
"PersistedUsageRecord",
|
|
71
|
-
"PersistedUsageRecordMeta",
|
|
72
|
-
"PresignedUploadUrl",
|
|
73
|
-
"RequestIO",
|
|
74
|
-
"RequestIOJsonInput",
|
|
75
|
-
"RequestIOJsonOutput",
|
|
76
|
-
"RunType",
|
|
77
|
-
"StatsTimeframe",
|
|
78
|
-
"Status",
|
|
79
|
-
"StatusHealth",
|
|
80
|
-
"UploadedFileResult",
|
|
81
|
-
"UrlFileUpload",
|
|
82
|
-
"UsagePerMachineType",
|
|
83
|
-
"UsagePerUser",
|
|
84
|
-
"UsageRunDetail",
|
|
85
|
-
"UserKeyInfo",
|
|
17
|
+
"LockReason",
|
|
86
18
|
"ValidationError",
|
|
87
19
|
)
|
|
@@ -2,6 +2,7 @@ from typing import Any, Dict, List, Type, TypeVar, Union
|
|
|
2
2
|
|
|
3
3
|
import attr
|
|
4
4
|
|
|
5
|
+
from ..models.lock_reason import LockReason
|
|
5
6
|
from ..types import UNSET, Unset
|
|
6
7
|
|
|
7
8
|
T = TypeVar("T", bound="CustomerDetails")
|
|
@@ -16,6 +17,8 @@ class CustomerDetails:
|
|
|
16
17
|
hard_monthly_budget (Union[Unset, int]):
|
|
17
18
|
current_balance (Union[Unset, int]):
|
|
18
19
|
is_paying (Union[Unset, bool]):
|
|
20
|
+
is_locked (Union[Unset, bool]):
|
|
21
|
+
lock_reason (Union[Unset, None, LockReason]): An enumeration.
|
|
19
22
|
"""
|
|
20
23
|
|
|
21
24
|
user_id: str
|
|
@@ -23,6 +26,8 @@ class CustomerDetails:
|
|
|
23
26
|
hard_monthly_budget: Union[Unset, int] = UNSET
|
|
24
27
|
current_balance: Union[Unset, int] = 0
|
|
25
28
|
is_paying: Union[Unset, bool] = False
|
|
29
|
+
is_locked: Union[Unset, bool] = False
|
|
30
|
+
lock_reason: Union[Unset, None, LockReason] = UNSET
|
|
26
31
|
additional_properties: Dict[str, Any] = attr.ib(init=False, factory=dict)
|
|
27
32
|
|
|
28
33
|
def to_dict(self) -> Dict[str, Any]:
|
|
@@ -31,6 +36,10 @@ class CustomerDetails:
|
|
|
31
36
|
hard_monthly_budget = self.hard_monthly_budget
|
|
32
37
|
current_balance = self.current_balance
|
|
33
38
|
is_paying = self.is_paying
|
|
39
|
+
is_locked = self.is_locked
|
|
40
|
+
lock_reason: Union[Unset, None, str] = UNSET
|
|
41
|
+
if not isinstance(self.lock_reason, Unset):
|
|
42
|
+
lock_reason = self.lock_reason.value if self.lock_reason else None
|
|
34
43
|
|
|
35
44
|
field_dict: Dict[str, Any] = {}
|
|
36
45
|
field_dict.update(self.additional_properties)
|
|
@@ -47,6 +56,10 @@ class CustomerDetails:
|
|
|
47
56
|
field_dict["current_balance"] = current_balance
|
|
48
57
|
if is_paying is not UNSET:
|
|
49
58
|
field_dict["is_paying"] = is_paying
|
|
59
|
+
if is_locked is not UNSET:
|
|
60
|
+
field_dict["is_locked"] = is_locked
|
|
61
|
+
if lock_reason is not UNSET:
|
|
62
|
+
field_dict["lock_reason"] = lock_reason
|
|
50
63
|
|
|
51
64
|
return field_dict
|
|
52
65
|
|
|
@@ -63,12 +76,25 @@ class CustomerDetails:
|
|
|
63
76
|
|
|
64
77
|
is_paying = d.pop("is_paying", UNSET)
|
|
65
78
|
|
|
79
|
+
is_locked = d.pop("is_locked", UNSET)
|
|
80
|
+
|
|
81
|
+
_lock_reason = d.pop("lock_reason", UNSET)
|
|
82
|
+
lock_reason: Union[Unset, None, LockReason]
|
|
83
|
+
if _lock_reason is None:
|
|
84
|
+
lock_reason = None
|
|
85
|
+
elif isinstance(_lock_reason, Unset):
|
|
86
|
+
lock_reason = UNSET
|
|
87
|
+
else:
|
|
88
|
+
lock_reason = LockReason(_lock_reason)
|
|
89
|
+
|
|
66
90
|
customer_details = cls(
|
|
67
91
|
user_id=user_id,
|
|
68
92
|
soft_monthly_budget=soft_monthly_budget,
|
|
69
93
|
hard_monthly_budget=hard_monthly_budget,
|
|
70
94
|
current_balance=current_balance,
|
|
71
95
|
is_paying=is_paying,
|
|
96
|
+
is_locked=is_locked,
|
|
97
|
+
lock_reason=lock_reason,
|
|
72
98
|
)
|
|
73
99
|
|
|
74
100
|
customer_details.additional_properties = d
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
from enum import Enum
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class LockReason(str, Enum):
|
|
5
|
+
ADMIN_LOCK_PLEASE_CONTACT_HELLOFAL_AI = "Admin lock. Please contact hello@fal.ai."
|
|
6
|
+
EXHAUSTED_BALANCE_TOP_UP_YOUR_BALANCE_AT_FAL_AIDASHBOARDBILLING = (
|
|
7
|
+
"Exhausted balance. Top up your balance at fal.ai/dashboard/billing"
|
|
8
|
+
)
|
|
9
|
+
PLEASE_ADD_A_PAYMENT_METHOD_AT_FAL_AIDASHBOARDBILLING = "Please add a payment method at fal.ai/dashboard/billing"
|
|
10
|
+
UNKNOWN_PLEASE_CONTACT_HELLOFAL_AI = "Unknown. Please contact hello@fal.ai."
|
|
11
|
+
USER_BUDGET_IS_EXCEEDED_ADJUST_IT_AT_FAL_AIDASHBOARDBILLING = (
|
|
12
|
+
"User budget is exceeded. Adjust it at fal.ai/dashboard/billing"
|
|
13
|
+
)
|
|
14
|
+
|
|
15
|
+
def __str__(self) -> str:
|
|
16
|
+
return str(self.value)
|
fal/logging/datadog.py
DELETED
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
from __future__ import annotations
|
|
2
|
-
|
|
3
|
-
import sys
|
|
4
|
-
import traceback
|
|
5
|
-
import warnings
|
|
6
|
-
|
|
7
|
-
from datadog_api_client import Configuration, ThreadedApiClient
|
|
8
|
-
from datadog_api_client.v2.api.logs_api import LogsApi
|
|
9
|
-
from datadog_api_client.v2.model.http_log import HTTPLog
|
|
10
|
-
from datadog_api_client.v2.model.http_log_item import HTTPLogItem
|
|
11
|
-
from fal.env import CLI_ENV, DATADOG_API_KEY, DATADOG_APP_KEY
|
|
12
|
-
from fal.logging.trace import get_current_span_context
|
|
13
|
-
from structlog.typing import EventDict, WrappedLogger
|
|
14
|
-
|
|
15
|
-
if sys.version_info >= (3, 10):
|
|
16
|
-
import importlib.metadata as importlib_metadata
|
|
17
|
-
else:
|
|
18
|
-
import importlib_metadata
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
configuration = Configuration()
|
|
22
|
-
configuration.api_key["apiKeyAuth"] = DATADOG_API_KEY
|
|
23
|
-
configuration.api_key["appKeyAuth"] = DATADOG_APP_KEY
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
def _is_error_level(level: str) -> bool:
|
|
27
|
-
return level in ["error", "exception", "critical"]
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
def submit_to_datadog(
|
|
31
|
-
logger: WrappedLogger, method_name: str, event_dict: EventDict
|
|
32
|
-
) -> EventDict:
|
|
33
|
-
if configuration.api_key["apiKeyAuth"] is None:
|
|
34
|
-
return event_dict
|
|
35
|
-
|
|
36
|
-
log_data = dict(event_dict)
|
|
37
|
-
event = log_data.pop("event")
|
|
38
|
-
level = log_data.pop("level")
|
|
39
|
-
|
|
40
|
-
current_span = get_current_span_context()
|
|
41
|
-
attributes = log_data.copy()
|
|
42
|
-
tags: dict[str, str] = {}
|
|
43
|
-
if current_span is not None:
|
|
44
|
-
tags["invocation_id"] = current_span.invocation_id
|
|
45
|
-
attributes["dd.trace_id"] = current_span.trace_id
|
|
46
|
-
attributes["dd.span_id"] = current_span.span_id
|
|
47
|
-
|
|
48
|
-
stack = None
|
|
49
|
-
if _is_error_level(method_name):
|
|
50
|
-
attributes["error.message"] = str(event)
|
|
51
|
-
attributes["error.kind"] = type(event).__name__
|
|
52
|
-
stack = traceback.format_exc()
|
|
53
|
-
|
|
54
|
-
ddtags = ",".join([f"{key}:{value}" for (key, value) in tags.items()])
|
|
55
|
-
log_item = HTTPLogItem(
|
|
56
|
-
message=str(event),
|
|
57
|
-
level=level,
|
|
58
|
-
hostname="client",
|
|
59
|
-
service="fal-serverless-cli",
|
|
60
|
-
env=CLI_ENV,
|
|
61
|
-
version=importlib_metadata.version("fal"),
|
|
62
|
-
ddsource="python",
|
|
63
|
-
ddtags=ddtags,
|
|
64
|
-
traceback=stack,
|
|
65
|
-
**attributes,
|
|
66
|
-
)
|
|
67
|
-
with ThreadedApiClient(configuration) as api_client:
|
|
68
|
-
# Deprecation warning of underlying dependencies should not be shown to users
|
|
69
|
-
# TODO enable it only in the prod distribution (better: remove when fixed)
|
|
70
|
-
warnings.filterwarnings("ignore", category=DeprecationWarning)
|
|
71
|
-
|
|
72
|
-
# TODO improve this - add batching
|
|
73
|
-
api_instance = LogsApi(api_client)
|
|
74
|
-
_ = api_instance.submit_log(HTTPLog([log_item]))
|
|
75
|
-
api_client.close()
|
|
76
|
-
|
|
77
|
-
return event_dict
|
fal-0.12.1.dist-info/RECORD
DELETED
|
@@ -1,147 +0,0 @@
|
|
|
1
|
-
openapi_fal_rest/__init__.py,sha256=sqsyB55QptrijXTCVFQfIJ6uC__vXez1i5KNvYplk5w,151
|
|
2
|
-
openapi_fal_rest/api/__init__.py,sha256=87ApBzKyGb5zsgTMOkQXDqsLZCmaSFoJMwbGzCDQZMw,47
|
|
3
|
-
openapi_fal_rest/api/admin/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
4
|
-
openapi_fal_rest/api/admin/get_invoice_users.py,sha256=TaJ6Q-gPv5UnAaBjPmsu_OoaPHJYWhh9ZgkV723o0TI,3897
|
|
5
|
-
openapi_fal_rest/api/admin/get_usage_per_user.py,sha256=OcNSsJvq7HGifCmstRgHytY_w_g1uXzkIQr11JpIo-A,5526
|
|
6
|
-
openapi_fal_rest/api/admin/handle_user_lock.py,sha256=Ao7QdzH-pnJLBOZrEQH9md_Gy_PbKrIIfJXRDmCUHz8,4847
|
|
7
|
-
openapi_fal_rest/api/admin/set_billing_type.py,sha256=vw9yuH4KVN7WKXgPgE3XoYWGRhBHR6RIR3ncDoCsgp4,4993
|
|
8
|
-
openapi_fal_rest/api/applications/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
9
|
-
openapi_fal_rest/api/applications/app_metadata.py,sha256=GqG6Q7jt8Jcyhb3ms_6i0M1B3cy205y3_A8W-AGEapY,5120
|
|
10
|
-
openapi_fal_rest/api/applications/get_status_applications_app_user_id_app_alias_or_id_status_get.py,sha256=LjByaJtBilaaGuPpU4jbShUTxcd5RW7dxDSs5W8fr3E,4782
|
|
11
|
-
openapi_fal_rest/api/billing/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
12
|
-
openapi_fal_rest/api/billing/delete_payment_method.py,sha256=sZyVmBbZAw5PDKxa0iSRxNSDAIzwNjUKdrYf8xz1fgA,4409
|
|
13
|
-
openapi_fal_rest/api/billing/get_checkout_page.py,sha256=Lgb9KbYPb4aFr0aLu4m88HMR4715Y6VC8-OfrqAzoxU,5977
|
|
14
|
-
openapi_fal_rest/api/billing/get_setup_intent_key.py,sha256=3qlpnM1LEYK1q8hl8f7EmyBfTM0kWXWC0h5fOS08qzo,3835
|
|
15
|
-
openapi_fal_rest/api/billing/get_user_details.py,sha256=2HQHRUQj8QwqSKgiV_USBdXCxGlfaVTBbLiPaDsMBUM,4013
|
|
16
|
-
openapi_fal_rest/api/billing/get_user_invoices.py,sha256=0gvv6QTaiEmN34b9CSFq_cXTjDTPdmbLUzV3UADEw9s,4161
|
|
17
|
-
openapi_fal_rest/api/billing/get_user_payment_methods.py,sha256=PWgy2dKIxZNI0VFMXPejQyLA1SNvrRjeCsw90TUqduA,4275
|
|
18
|
-
openapi_fal_rest/api/billing/get_user_price.py,sha256=422ZOVAqTyNDyK-6V7GW0YnaBIBQeaCz77s0NEthDVA,4952
|
|
19
|
-
openapi_fal_rest/api/billing/get_user_spending.py,sha256=uzzchsBblhpUqwOs_zjzRZF_kxyPw9-FfFiPApIRNqE,5730
|
|
20
|
-
openapi_fal_rest/api/billing/handle_stripe_webhook.py,sha256=q_sitz9nXFiSYJNV305r1SULTQkLUC6FiI6jIsqwlSQ,5213
|
|
21
|
-
openapi_fal_rest/api/billing/upcoming_invoice.py,sha256=5fVCpvoPOFZvl8fAmy3BHrrIDDF0-tPe0AMr_EysweI,3932
|
|
22
|
-
openapi_fal_rest/api/billing/update_customer_budget.py,sha256=JnTfj3xcev4ImtbwX_IfolpkmVijPGCgeLMxMrgh7ig,5130
|
|
23
|
-
openapi_fal_rest/api/files/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
24
|
-
openapi_fal_rest/api/files/check_dir_hash.py,sha256=zPNlOwG4YVvnhgfrleQtYLhI1lG0t8YQ1CU3TyvXvfk,4747
|
|
25
|
-
openapi_fal_rest/api/files/delete.py,sha256=wiLr0mvwPwVtXsrmvsCBC-dtZjNQEbleETwLwKtIxbg,4096
|
|
26
|
-
openapi_fal_rest/api/files/download.py,sha256=LYZXAYjZ3nXFcIp-vphRKHzkmpRz-xTD5QN2FPFtJaE,4090
|
|
27
|
-
openapi_fal_rest/api/files/file_exists.py,sha256=dZyDh2JvzRQdnsMeJfegnR7rJshFPHhz4C9F3iklLN8,5098
|
|
28
|
-
openapi_fal_rest/api/files/list_directory.py,sha256=xFxKuSHKoh3MJW80c2QPKuby_RFJqdI003XuuHw7B3I,4472
|
|
29
|
-
openapi_fal_rest/api/files/list_root.py,sha256=4S_UF4hNXjrFbenBHQzaDgXQ6WKjmysLqeGe3GR8xXo,4161
|
|
30
|
-
openapi_fal_rest/api/files/upload_from_url.py,sha256=OvjrLxbeIoJMvSZ_KHFjM9SF37wUPHlbhepEiUvc55M,4650
|
|
31
|
-
openapi_fal_rest/api/files/upload_local_file.py,sha256=p2lM7hswGbs8KNLg1Pp6vwV7x-1PKtWX-aYmaHUHSDU,5649
|
|
32
|
-
openapi_fal_rest/api/health/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
33
|
-
openapi_fal_rest/api/health/check.py,sha256=jX6rC1D_DVRDZqUWCb6zoE1KqQU7Yy0BeUOqfaaLPmQ,3244
|
|
34
|
-
openapi_fal_rest/api/keys/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
35
|
-
openapi_fal_rest/api/keys/create_key.py,sha256=wVB5yjz0gaDVD6npJc7MKFR5O4PqUy8UEWN5Dws636Y,5096
|
|
36
|
-
openapi_fal_rest/api/keys/delete_key.py,sha256=Lnd0of-OQ6o9vswNxrx-8ZzkakWX-PnqlVj2CxESK9s,4016
|
|
37
|
-
openapi_fal_rest/api/keys/list_keys.py,sha256=HwIf1HHNo52HURkFVNGVIfCJhbtW06iU8VHOLuc92ho,4192
|
|
38
|
-
openapi_fal_rest/api/logs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
39
|
-
openapi_fal_rest/api/logs/list_since.py,sha256=_59g5rX4fZa1YuSXI-Dg_XYldIVAPiGU-pGMbScOPio,6499
|
|
40
|
-
openapi_fal_rest/api/requests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
41
|
-
openapi_fal_rest/api/requests/requests.py,sha256=C7zF5QebbZ2IUCsl4b5z5bsdR4wq2c7SKutS437BeW0,7005
|
|
42
|
-
openapi_fal_rest/api/storage/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
43
|
-
openapi_fal_rest/api/storage/get_file_link.py,sha256=Mvj5vf3XgKBRWfhP5xmzN3dgd7tVWPbT22J9YqrkAEw,5726
|
|
44
|
-
openapi_fal_rest/api/storage/initiate_upload.py,sha256=CJqfXoj0i4a9Mbs2AyNm4QD1dbEScpWftSa8Lw_lCCs,4688
|
|
45
|
-
openapi_fal_rest/api/storage/upload_file.py,sha256=e3ipo8LoOihlJDCdBTvNryMxkwb1lwDyj4Stef75gyc,4787
|
|
46
|
-
openapi_fal_rest/api/tokens/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
47
|
-
openapi_fal_rest/api/tokens/create_token.py,sha256=qjx7nP3jk7n4GkpfnwTUyqZcg8RbhSLm9vIxEZH2IF0,4394
|
|
48
|
-
openapi_fal_rest/api/usage/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
49
|
-
openapi_fal_rest/api/usage/get_custom_usage_per_machine.py,sha256=okU_8B0a7xHA9ulmgl6WEoVODzz7bOlo4XhBRH6fa5M,6272
|
|
50
|
-
openapi_fal_rest/api/usage/get_gateway_request_stats.py,sha256=xOJYM0OpRyX_buZJQtXfT2CHLjCb6-yPv7OP7z7kYnk,7614
|
|
51
|
-
openapi_fal_rest/api/usage/get_gateway_request_stats_by_time.py,sha256=qqBZRKk8jQRSyn2l0CJz0_9Ecah88mcXtE1mJvRs084,7543
|
|
52
|
-
openapi_fal_rest/api/usage/get_gateway_stats_for_yesterday.py,sha256=TNsDHFtpBQ80ixEVPXFiJj6PvGwzCl5gUpxeKCMC2sY,4375
|
|
53
|
-
openapi_fal_rest/api/usage/get_shared_usage_per_app.py,sha256=tB09GnrwjH81uz-eODTiHl0qNauCR6xj3oa02WEKg4Q,6252
|
|
54
|
-
openapi_fal_rest/api/usage/get_usage_records.py,sha256=PoRYvdXwEvOYQxVhcqNIplVjPut1yo-9gFwnd47XNMw,8366
|
|
55
|
-
openapi_fal_rest/api/usage/per_machine_usage.py,sha256=MRMxYP1A-88hFPnEEI0TfCujrsJpaDAlJwue_wCaaGU,6778
|
|
56
|
-
openapi_fal_rest/api/usage/per_machine_usage_details.py,sha256=nvXp_Df2KtTDJA4D8KA9NbMY_WIGNn7VLoKQrEPPI9g,4765
|
|
57
|
-
openapi_fal_rest/api/users/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
58
|
-
openapi_fal_rest/api/users/handle_user_registration.py,sha256=lCNHpvq_CDGJriAPf4eAxy5yOGN0aXP5yrWnS3apoXY,5820
|
|
59
|
-
openapi_fal_rest/client.py,sha256=G6BpJg9j7-JsrAUGddYwkzeWRYickBjPdcVgXoPzxuE,2817
|
|
60
|
-
openapi_fal_rest/errors.py,sha256=8mXSxdfSGzxT82srdhYbR0fHfgenxJXaUtMkaGgb6iU,470
|
|
61
|
-
openapi_fal_rest/models/__init__.py,sha256=V-ARt7oIf0r2OGAwt5u7TuFWOGp7TssJniKGe-2PUss,3065
|
|
62
|
-
openapi_fal_rest/models/app_metadata_response_app_metadata.py,sha256=swJMfWvbjlMF8dmv-KEqcR9If0UjsRogwj9UqBBlkpc,1251
|
|
63
|
-
openapi_fal_rest/models/billing_type.py,sha256=PI5yn_je2_pXE1IVgGpd0ko_6PhJGAg9n7t-J_pFJ0Q,162
|
|
64
|
-
openapi_fal_rest/models/body_create_token.py,sha256=GBiwnz4US7VqD7Y6uM4Vy4P89aymRo9etU5WJ1NNl68,1902
|
|
65
|
-
openapi_fal_rest/models/body_upload_file.py,sha256=aqOj2Y-ij_tVZa4KC1VqOUrxMyiZLVUKj4XDUvLtGQ0,1854
|
|
66
|
-
openapi_fal_rest/models/body_upload_local_file.py,sha256=rOTEbYBXfwZk8TsywZWSPPQQEfJgvsLIufT6A40RJZs,1980
|
|
67
|
-
openapi_fal_rest/models/customer_details.py,sha256=TQutgEX1W_ybMC7yIKD9zg8FgZ4shEBnsA0nf6siJvY,2841
|
|
68
|
-
openapi_fal_rest/models/file_spec.py,sha256=cd56WUz3VbeBv-1s6YRn7blPQxGyH0SBVlAld7gIWcc,2945
|
|
69
|
-
openapi_fal_rest/models/gateway_stats_by_time.py,sha256=XcX8C9lh0vn3yEm94umaPVTZKXFUNt3afF1BErHD4mc,3572
|
|
70
|
-
openapi_fal_rest/models/gateway_usage_stats.py,sha256=OlBVAzkNwy-rtP4-KRfnGHF8eV6K3a1QCJJImhjHSoA,4989
|
|
71
|
-
openapi_fal_rest/models/get_gateway_request_stats_by_time_response_get_gateway_request_stats_by_time.py,sha256=V2lHD90uwmyMRWpyG24I5ihQ64KC8YefOMvge15kxcU,2484
|
|
72
|
-
openapi_fal_rest/models/grouped_usage_detail.py,sha256=nKZX50iuqsV2Gey_xwzO5qMzRlqbIzOaN9VC6toF5cc,2388
|
|
73
|
-
openapi_fal_rest/models/handle_stripe_webhook_response_handle_stripe_webhook.py,sha256=Nsw1G8WDub678G2Rl_AcOLZc6uzhQCJTSox3UFLIbq8,1340
|
|
74
|
-
openapi_fal_rest/models/hash_check.py,sha256=T9R7n4EdadCxbFUZvresZZFPYwDfyJMZVNxY6wIJEE8,1352
|
|
75
|
-
openapi_fal_rest/models/http_validation_error.py,sha256=2nhqlv8RX2qp6VR7hb8-SKtzJWXSZ0J95ThW9J4agJo,2131
|
|
76
|
-
openapi_fal_rest/models/initiate_upload_info.py,sha256=EXohNWr0upNIPHzw-EWunGW0ruNm0XhD6Emnl1HFujQ,1664
|
|
77
|
-
openapi_fal_rest/models/invoice.py,sha256=dCU-k5xdk47BhPklXN-bCqy7zW9_W04Fm_c6Zh9X0uo,3315
|
|
78
|
-
openapi_fal_rest/models/invoice_item.py,sha256=ZxBhvGI42LSqWenaZaT3HEfwdPKNPkGtyyN9v7F6AWA,2102
|
|
79
|
-
openapi_fal_rest/models/key_scope.py,sha256=g2aVNJ1z7hqy7lwi0qF6_WSVlOsAGSX8IdQrKzktbY0,149
|
|
80
|
-
openapi_fal_rest/models/log_entry.py,sha256=lcRvGtMqwn6gOMHCH4SnIqkvU3-mW_A-yB_cB6oSjdE,2708
|
|
81
|
-
openapi_fal_rest/models/log_entry_labels.py,sha256=1QWQ0Pz3_yT2-8kjGnEel-djsxTukt0aEpkPdkTGGyA,1165
|
|
82
|
-
openapi_fal_rest/models/new_user_key.py,sha256=1sZY3ZyR3XTlFeji7FTtNsL5H_MhiKdjXzQHWBcgcCQ,1574
|
|
83
|
-
openapi_fal_rest/models/payment_method.py,sha256=eobtXFp8cmLa8vwU1iVfcZPWTEWZy3dehpM4_7DTQUI,2376
|
|
84
|
-
openapi_fal_rest/models/per_app_usage_detail.py,sha256=LyLPUs2sj56JXZkn0LT6hy4CMl1Y6MQJr5RMZov6WQQ,2552
|
|
85
|
-
openapi_fal_rest/models/persisted_usage_record.py,sha256=qKGWTgzjmbY5N_8QArEHGSvZEqyapC3pkBVD_gOr4NU,3325
|
|
86
|
-
openapi_fal_rest/models/persisted_usage_record_meta.py,sha256=XCnzjXEKvnuS4QQ-TdJ_4M6Y03fpIQ0ph1tMyVJgYuI,1218
|
|
87
|
-
openapi_fal_rest/models/presigned_upload_url.py,sha256=3xyHPArnChANNADmG9TpQJeMg_GcPbHXA3VhQVFk-UU,1634
|
|
88
|
-
openapi_fal_rest/models/request_io.py,sha256=CW5ZJu1lqhcPoRJYkjdxuO2cK2ZfcBiBSQXzTSiRnAE,3171
|
|
89
|
-
openapi_fal_rest/models/request_io_json_input.py,sha256=24qrYIwebDhauqnkMPIPEcUovgUZ97DfybT9xOJ-yUQ,1188
|
|
90
|
-
openapi_fal_rest/models/request_io_json_output.py,sha256=Se1M2mq6tRBESvvcoeM8qNR82K_C6WwgJFrfDK3XaK4,1193
|
|
91
|
-
openapi_fal_rest/models/run_type.py,sha256=h6VbZO5Gsha8QKhfh87h3aPkcvfiO3G67eEwFSa65ZI,156
|
|
92
|
-
openapi_fal_rest/models/stats_timeframe.py,sha256=-DFHI1n1vpQjcBIwkeIZ5q3od6wCwb_Zr_rCoGA3oCU,213
|
|
93
|
-
openapi_fal_rest/models/status.py,sha256=kWPRJBvNCK7E56Bk463A1rs9vrkxb-7Ma1NKUXa3NEM,2523
|
|
94
|
-
openapi_fal_rest/models/status_health.py,sha256=dN99z7vXne5hoSj48k953NZA3z8PvNjeU4Ig-BxNuj0,195
|
|
95
|
-
openapi_fal_rest/models/uploaded_file_result.py,sha256=MchKqHfDAHEK6WZM-D80D0Pq5vDWJ9j85CDf7JypZWA,1574
|
|
96
|
-
openapi_fal_rest/models/url_file_upload.py,sha256=KgNG_b-AziykkBT-HcjV9s3mrzayCmJmnx5wBrS_91A,1357
|
|
97
|
-
openapi_fal_rest/models/usage_per_machine_type.py,sha256=lVReyk9eH_GjmZ2GQkIGCFghkU-JqdJ0maXQrG-s0fA,3558
|
|
98
|
-
openapi_fal_rest/models/usage_per_user.py,sha256=GJColrlIBCFvTaJXcl6zhkliy42MtFT5PR3sXKiYy34,1946
|
|
99
|
-
openapi_fal_rest/models/usage_run_detail.py,sha256=2D4o7XI1t3ea5BiOKxxbyxiWPGCKs1C_BmfFD9H_1L0,1918
|
|
100
|
-
openapi_fal_rest/models/user_key_info.py,sha256=4JJ3Bc5YOX--aJgk3PrqPI-TQMXBi8ge3905tLD9yQs,2071
|
|
101
|
-
openapi_fal_rest/models/validation_error.py,sha256=I6tB-HbEOmE0ua27erDX5PX5YUynENv_dgPN3SrwTrQ,2091
|
|
102
|
-
openapi_fal_rest/py.typed,sha256=8ZJUsxZiuOy1oJeVhsTWQhTG_6pTVHVXk5hJL79ebTk,25
|
|
103
|
-
openapi_fal_rest/types.py,sha256=4xaUIOliefW-5jz_p-JT2LO7-V0wKWaniHGtjPBQfvQ,993
|
|
104
|
-
fal/__init__.py,sha256=oBfj8CzfWo-SYWRSEXsJDxCJXPc0ta3t96f1mjgO55o,1075
|
|
105
|
-
fal/_serialization.py,sha256=GD3iXh-noBr0S33eLRaaj9dupo0OclTiyYPiYIMHBuU,3695
|
|
106
|
-
fal/api.py,sha256=ksRWJeo8dnMNiTW0XIa8oKOjjCXr1kM5tjaQRYhktww,30354
|
|
107
|
-
fal/app.py,sha256=v2K1-7piOL2poXPy5DBQqSuC4fjlbrSnNqhMBzFWooE,4761
|
|
108
|
-
fal/apps.py,sha256=j8c4mR-kpRKnZ6wfcuvdgrjuAse7NGD9QR_ZRYan3m4,4121
|
|
109
|
-
fal/auth/__init__.py,sha256=IzXoOgHaWkZvE2O0JUC9CL18whq8HILFW4oTrcrCJno,2547
|
|
110
|
-
fal/auth/auth0.py,sha256=qFzCy-n9ptctIu3uj4zbx62WVdjjVw-tQSZEYga9IKY,5302
|
|
111
|
-
fal/auth/local.py,sha256=lZqp4j32l2xFpY8zYvLoIHHyJrNAJDcm5MxgsLpY_pw,1786
|
|
112
|
-
fal/cli.py,sha256=5i0cmHqTuFYsbf_Vd6uzKA4hl6X8RxhjQbKxqRSZkMI,17905
|
|
113
|
-
fal/console/__init__.py,sha256=ernZ4bzvvliQh5SmrEqQ7lA5eVcbw6Ra2jalKtA7dxg,132
|
|
114
|
-
fal/console/icons.py,sha256=De9MfFaSkO2Lqfne13n3PrYfTXJVIzYZVqYn5BWsdrA,108
|
|
115
|
-
fal/console/ux.py,sha256=4vj1aGA3grRn-ebeMuDLR6u3YjMwUGpqtNgdTG9su5s,485
|
|
116
|
-
fal/env.py,sha256=g_s2FAtY2-6zyTar_2NUmswHcab--3xozEJW4E6Y9iQ,172
|
|
117
|
-
fal/exceptions/__init__.py,sha256=Q4LCSqIrJ8GFQZWH5BvWL5mDPR0HwYQuIhNvsdiOkEU,938
|
|
118
|
-
fal/exceptions/_base.py,sha256=LeQmx-soL_-s1742WKN18VwTVjUuYP0L0BdQHPJBpM4,460
|
|
119
|
-
fal/exceptions/auth.py,sha256=01Ro7SyGJpwchubdHe14Cl6-Al1jUj16Sy4BvakNWf4,384
|
|
120
|
-
fal/exceptions/handlers.py,sha256=i_rFyYnfN2p5HmaUGEjxmKqdoixzsMy1tkWdOcqQNL4,1413
|
|
121
|
-
fal/flags.py,sha256=Ib8cXVzbJZxjSDTYwlBt1brCTD1oqZijexkqZQHRTho,757
|
|
122
|
-
fal/logging/__init__.py,sha256=tXFlHBtPFydL3Wgzhq72-EzCFKrnDYvZIF0pKYGVxac,1649
|
|
123
|
-
fal/logging/datadog.py,sha256=faK3Qvb1LmL8G8MrkeZ3Mbt9wviRZPc-rtNqQnaKuAY,2541
|
|
124
|
-
fal/logging/isolate.py,sha256=yDW_P4aR-t53IRmvD2Iprufv1Wn-xQXoBbMB2Ufr59s,2122
|
|
125
|
-
fal/logging/style.py,sha256=ckIgHzvF4DShM5kQh8F133X53z_vF46snuDHVmo_h9g,386
|
|
126
|
-
fal/logging/trace.py,sha256=-_ShrBsBl9jUlGC-Lwe2r-LIkfj21SETQAhSNrWxbGs,1807
|
|
127
|
-
fal/logging/user.py,sha256=paWfeJWlzP3PE1vy7CjUip6hVBT9CKE1AzlSK27KUjA,631
|
|
128
|
-
fal/rest_client.py,sha256=JcvUGAROq0SL0CTCi6PLGeM6qN18YsZK_lU0d6EXdOI,568
|
|
129
|
-
fal/sdk.py,sha256=iVR5ZxGxu0Oo9JgELFTZLD9a4RZHiwYhbuNJOO6o6wE,18225
|
|
130
|
-
fal/sync.py,sha256=6c36Mx3CZAtSbUcjwx4eCgoKtGOTXWmle8G6zFcG35o,4277
|
|
131
|
-
fal/toolkit/__init__.py,sha256=G0KZVZ0hfBFDGYmv6Giqx_BSg5VD6thck2uH1jR2-h8,367
|
|
132
|
-
fal/toolkit/exceptions.py,sha256=--WKKYxUop6WFy_vqAPXK6uH8C-JR98gnNXwhHNCb7E,258
|
|
133
|
-
fal/toolkit/file/__init__.py,sha256=YpUU6YziZV1AMuq12L0EDWToS0sgpHSGWsARbiOEHWk,56
|
|
134
|
-
fal/toolkit/file/file.py,sha256=0RNSJIiTDymxcQ4YnZSGNomIHJnIhO9BEmCY6RO5qGo,3408
|
|
135
|
-
fal/toolkit/file/providers/fal.py,sha256=u7GQO6UuQNKmwUzHcJePPh6t4Lef_MikW2ogPV5kP0E,2154
|
|
136
|
-
fal/toolkit/file/providers/gcp.py,sha256=Bq5SJSghXF8YfFnbZ83_mPdrWs2dFhi8ytODp92USgk,1962
|
|
137
|
-
fal/toolkit/file/providers/r2.py,sha256=xJtZfX3cfzJgLXS3F8mHArbrHi0_QBpIMy5M4-tS8H8,2586
|
|
138
|
-
fal/toolkit/file/types.py,sha256=aQMkFialtmoWaJms-rGMiWvX9OE7DtpiT1NX84GPlZs,1102
|
|
139
|
-
fal/toolkit/image/__init__.py,sha256=liEq0CqkRqUQ1udnnyGVFBwCXUhR2f6o5ffbtbAlP8o,57
|
|
140
|
-
fal/toolkit/image/image.py,sha256=zFCGKiGBzdlwq20ISY-olBqUDzUpQ84L5LbLepZteoo,3590
|
|
141
|
-
fal/toolkit/mainify.py,sha256=E7gE45nZQZoaJdSlIq0mqajcH-IjcuPBWFmKm5hvhAU,406
|
|
142
|
-
fal/toolkit/utils/__init__.py,sha256=b3zVpm50Upx1saXU7RiV9r9in6-Chs4OU9KRjBv7MYI,83
|
|
143
|
-
fal/toolkit/utils/download_utils.py,sha256=OlAun9phis7LJtBvVjsQC9sQ6qcZMeZ1_ebdRHm7CLw,13921
|
|
144
|
-
fal-0.12.1.dist-info/WHEEL,sha256=vVCvjcmxuUltf8cYhJ0sJMRDLr1XsPuxEId8YDzbyCY,88
|
|
145
|
-
fal-0.12.1.dist-info/entry_points.txt,sha256=nE9GBVV3PdBosudFwbIzZQUe_9lfPR6EH8K_FdDASnM,62
|
|
146
|
-
fal-0.12.1.dist-info/METADATA,sha256=LIPhda9-WweES9qmXmg6iAzg-AOVpIL_lCpapgr-D5w,2956
|
|
147
|
-
fal-0.12.1.dist-info/RECORD,,
|
|
@@ -1,142 +0,0 @@
|
|
|
1
|
-
from http import HTTPStatus
|
|
2
|
-
from typing import Any, Dict, List, Optional, Union, cast
|
|
3
|
-
|
|
4
|
-
import httpx
|
|
5
|
-
|
|
6
|
-
from ... import errors
|
|
7
|
-
from ...client import Client
|
|
8
|
-
from ...models.http_validation_error import HTTPValidationError
|
|
9
|
-
from ...types import Response
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
def _get_kwargs(
|
|
13
|
-
*,
|
|
14
|
-
client: Client,
|
|
15
|
-
) -> Dict[str, Any]:
|
|
16
|
-
url = "{}/admin/users/invoice_users".format(client.base_url)
|
|
17
|
-
|
|
18
|
-
headers: Dict[str, str] = client.get_headers()
|
|
19
|
-
cookies: Dict[str, Any] = client.get_cookies()
|
|
20
|
-
|
|
21
|
-
return {
|
|
22
|
-
"method": "get",
|
|
23
|
-
"url": url,
|
|
24
|
-
"headers": headers,
|
|
25
|
-
"cookies": cookies,
|
|
26
|
-
"timeout": client.get_timeout(),
|
|
27
|
-
"follow_redirects": client.follow_redirects,
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
def _parse_response(*, client: Client, response: httpx.Response) -> Optional[Union[HTTPValidationError, List[str]]]:
|
|
32
|
-
if response.status_code == HTTPStatus.OK:
|
|
33
|
-
response_200 = cast(List[str], response.json())
|
|
34
|
-
|
|
35
|
-
return response_200
|
|
36
|
-
if response.status_code == HTTPStatus.UNPROCESSABLE_ENTITY:
|
|
37
|
-
response_422 = HTTPValidationError.from_dict(response.json())
|
|
38
|
-
|
|
39
|
-
return response_422
|
|
40
|
-
if client.raise_on_unexpected_status:
|
|
41
|
-
raise errors.UnexpectedStatus(response.status_code, response.content)
|
|
42
|
-
else:
|
|
43
|
-
return None
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
def _build_response(*, client: Client, response: httpx.Response) -> Response[Union[HTTPValidationError, List[str]]]:
|
|
47
|
-
return Response(
|
|
48
|
-
status_code=HTTPStatus(response.status_code),
|
|
49
|
-
content=response.content,
|
|
50
|
-
headers=response.headers,
|
|
51
|
-
parsed=_parse_response(client=client, response=response),
|
|
52
|
-
)
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
def sync_detailed(
|
|
56
|
-
*,
|
|
57
|
-
client: Client,
|
|
58
|
-
) -> Response[Union[HTTPValidationError, List[str]]]:
|
|
59
|
-
"""Get Invoice Users
|
|
60
|
-
|
|
61
|
-
Raises:
|
|
62
|
-
errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
|
|
63
|
-
httpx.TimeoutException: If the request takes longer than Client.timeout.
|
|
64
|
-
|
|
65
|
-
Returns:
|
|
66
|
-
Response[Union[HTTPValidationError, List[str]]]
|
|
67
|
-
"""
|
|
68
|
-
|
|
69
|
-
kwargs = _get_kwargs(
|
|
70
|
-
client=client,
|
|
71
|
-
)
|
|
72
|
-
|
|
73
|
-
response = httpx.request(
|
|
74
|
-
verify=client.verify_ssl,
|
|
75
|
-
**kwargs,
|
|
76
|
-
)
|
|
77
|
-
|
|
78
|
-
return _build_response(client=client, response=response)
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
def sync(
|
|
82
|
-
*,
|
|
83
|
-
client: Client,
|
|
84
|
-
) -> Optional[Union[HTTPValidationError, List[str]]]:
|
|
85
|
-
"""Get Invoice Users
|
|
86
|
-
|
|
87
|
-
Raises:
|
|
88
|
-
errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
|
|
89
|
-
httpx.TimeoutException: If the request takes longer than Client.timeout.
|
|
90
|
-
|
|
91
|
-
Returns:
|
|
92
|
-
Union[HTTPValidationError, List[str]]
|
|
93
|
-
"""
|
|
94
|
-
|
|
95
|
-
return sync_detailed(
|
|
96
|
-
client=client,
|
|
97
|
-
).parsed
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
async def asyncio_detailed(
|
|
101
|
-
*,
|
|
102
|
-
client: Client,
|
|
103
|
-
) -> Response[Union[HTTPValidationError, List[str]]]:
|
|
104
|
-
"""Get Invoice Users
|
|
105
|
-
|
|
106
|
-
Raises:
|
|
107
|
-
errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
|
|
108
|
-
httpx.TimeoutException: If the request takes longer than Client.timeout.
|
|
109
|
-
|
|
110
|
-
Returns:
|
|
111
|
-
Response[Union[HTTPValidationError, List[str]]]
|
|
112
|
-
"""
|
|
113
|
-
|
|
114
|
-
kwargs = _get_kwargs(
|
|
115
|
-
client=client,
|
|
116
|
-
)
|
|
117
|
-
|
|
118
|
-
async with httpx.AsyncClient(verify=client.verify_ssl) as _client:
|
|
119
|
-
response = await _client.request(**kwargs)
|
|
120
|
-
|
|
121
|
-
return _build_response(client=client, response=response)
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
async def asyncio(
|
|
125
|
-
*,
|
|
126
|
-
client: Client,
|
|
127
|
-
) -> Optional[Union[HTTPValidationError, List[str]]]:
|
|
128
|
-
"""Get Invoice Users
|
|
129
|
-
|
|
130
|
-
Raises:
|
|
131
|
-
errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
|
|
132
|
-
httpx.TimeoutException: If the request takes longer than Client.timeout.
|
|
133
|
-
|
|
134
|
-
Returns:
|
|
135
|
-
Union[HTTPValidationError, List[str]]
|
|
136
|
-
"""
|
|
137
|
-
|
|
138
|
-
return (
|
|
139
|
-
await asyncio_detailed(
|
|
140
|
-
client=client,
|
|
141
|
-
)
|
|
142
|
-
).parsed
|