amsdal 0.5.8__cp311-cp311-macosx_10_9_universal2.whl → 0.5.10__cp311-cp311-macosx_10_9_universal2.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.
- amsdal/__about__.py +1 -1
- amsdal/__migrations__/0003_update_class_file.py +1 -1
- amsdal/cloud/__init__.cpython-311-darwin.so +0 -0
- amsdal/cloud/client.cpython-311-darwin.so +0 -0
- amsdal/cloud/constants.cpython-311-darwin.so +0 -0
- amsdal/cloud/enums.cpython-311-darwin.so +0 -0
- amsdal/cloud/models/__init__.cpython-311-darwin.so +0 -0
- amsdal/cloud/models/base.cpython-311-darwin.so +0 -0
- amsdal/cloud/services/__init__.cpython-311-darwin.so +0 -0
- amsdal/cloud/services/actions/__init__.cpython-311-darwin.so +0 -0
- amsdal/cloud/services/actions/add_allowlist_ip.cpython-311-darwin.so +0 -0
- amsdal/cloud/services/actions/add_basic_auth.cpython-311-darwin.so +0 -0
- amsdal/cloud/services/actions/add_dependency.cpython-311-darwin.so +0 -0
- amsdal/cloud/services/actions/add_secret.cpython-311-darwin.so +0 -0
- amsdal/cloud/services/actions/base.cpython-311-darwin.so +0 -0
- amsdal/cloud/services/actions/create_deploy.cpython-311-darwin.so +0 -0
- amsdal/cloud/services/actions/create_env.cpython-311-darwin.so +0 -0
- amsdal/cloud/services/actions/create_session.cpython-311-darwin.so +0 -0
- amsdal/cloud/services/actions/delete_allowlist_ip.cpython-311-darwin.so +0 -0
- amsdal/cloud/services/actions/delete_basic_auth.cpython-311-darwin.so +0 -0
- amsdal/cloud/services/actions/delete_dependency.cpython-311-darwin.so +0 -0
- amsdal/cloud/services/actions/delete_env.cpython-311-darwin.so +0 -0
- amsdal/cloud/services/actions/delete_secret.cpython-311-darwin.so +0 -0
- amsdal/cloud/services/actions/destroy_deploy.cpython-311-darwin.so +0 -0
- amsdal/cloud/services/actions/expose_db.cpython-311-darwin.so +0 -0
- amsdal/cloud/services/actions/get_basic_auth_credentials.cpython-311-darwin.so +0 -0
- amsdal/cloud/services/actions/get_monitoring_info.cpython-311-darwin.so +0 -0
- amsdal/cloud/services/actions/list_dependencies.cpython-311-darwin.so +0 -0
- amsdal/cloud/services/actions/list_deploys.cpython-311-darwin.so +0 -0
- amsdal/cloud/services/actions/list_envs.cpython-311-darwin.so +0 -0
- amsdal/cloud/services/actions/list_secrets.cpython-311-darwin.so +0 -0
- amsdal/cloud/services/actions/manager.cpython-311-darwin.so +0 -0
- amsdal/cloud/services/actions/signup_action.cpython-311-darwin.so +0 -0
- amsdal/cloud/services/actions/update_deploy.cpython-311-darwin.so +0 -0
- amsdal/cloud/services/auth/__init__.cpython-311-darwin.so +0 -0
- amsdal/cloud/services/auth/base.cpython-311-darwin.so +0 -0
- amsdal/cloud/services/auth/credentials.cpython-311-darwin.so +0 -0
- amsdal/cloud/services/auth/manager.cpython-311-darwin.so +0 -0
- amsdal/cloud/services/auth/signup_service.cpython-311-darwin.so +0 -0
- amsdal/cloud/services/auth/token.cpython-311-darwin.so +0 -0
- amsdal/contrib/__init__.cpython-311-darwin.so +0 -0
- amsdal/contrib/frontend_configs/migrations/0001_update_frontend_control_config.py +245 -0
- amsdal/contrib/frontend_configs/models/frontend_control_config.py +57 -46
- amsdal/fixtures/__init__.cpython-311-darwin.so +0 -0
- amsdal/fixtures/manager.cpython-311-darwin.so +0 -0
- amsdal/fixtures/utils.cpython-311-darwin.so +0 -0
- amsdal/manager.cpython-311-darwin.so +0 -0
- amsdal/mixins/__init__.cpython-311-darwin.so +0 -0
- amsdal/mixins/class_versions_mixin.cpython-311-darwin.so +0 -0
- amsdal/models/core/file.py +1 -6
- amsdal/schemas/manager.cpython-311-darwin.so +0 -0
- amsdal/services/__init__.cpython-311-darwin.so +0 -0
- amsdal/services/transaction_execution.cpython-311-darwin.so +0 -0
- amsdal/utils/tests/migrations.py +0 -1
- {amsdal-0.5.8.dist-info → amsdal-0.5.10.dist-info}/METADATA +1 -1
- {amsdal-0.5.8.dist-info → amsdal-0.5.10.dist-info}/RECORD +59 -58
- {amsdal-0.5.8.dist-info → amsdal-0.5.10.dist-info}/WHEEL +0 -0
- {amsdal-0.5.8.dist-info → amsdal-0.5.10.dist-info}/licenses/LICENSE.txt +0 -0
- {amsdal-0.5.8.dist-info → amsdal-0.5.10.dist-info}/top_level.txt +0 -0
amsdal/__about__.py
CHANGED
@@ -32,7 +32,7 @@ class Migration(migrations.Migration):
|
|
32
32
|
"size": {"type": "number", "title": "Size"},
|
33
33
|
"storage_address": {"type": "anything", "title": "Storage Reference"},
|
34
34
|
},
|
35
|
-
"custom_code": 'import base64\nimport io\nfrom contextlib import suppress\nfrom
|
35
|
+
"custom_code": 'import base64\nimport io\nfrom contextlib import suppress\nfrom pathlib import Path\nfrom typing import IO\nfrom typing import Any\nfrom typing import BinaryIO\n\nfrom amsdal_models.storage.backends.db import DBStorage\nfrom amsdal_models.storage.base import Storage\nfrom pydantic import model_validator\n\n\n@classmethod\ndef data_base64_decode(cls, data: Any) -> bytes:\n if isinstance(data, str):\n data = data.encode(\'utf-8\')\n is_base64: bool = False\n with suppress(Exception):\n is_base64 = base64.b64encode(base64.b64decode(data)) == data\n if is_base64:\n return base64.b64decode(data)\n return data\n\n@classmethod\ndef from_bytes(cls, filename: str, data: bytes) -> \'File\':\n """\n Creates a `File` object from a byte string.\n\n Args:\n filename (str): The filename of the file.\n data (bytes): The byte string containing the file data.:\n\n Returns:\n File: The created `File` object.\n """\n obj = cls(filename=filename, data=data, size=len(data))\n obj._needs_persist = True\n return obj\n\n@classmethod\ndef from_file(cls, file_or_path: Path | BinaryIO) -> \'File\':\n """\n Creates a `File` object from a file path or a binary file object.\n\n Args:\n file_or_path (Path | BinaryIO): The file path or binary file object.\n\n Returns:\n File: The created `File` object.\n\n Raises:\n ValueError: If the provided path is a directory.\n """\n f: BinaryIO | io.BufferedReader\n if isinstance(file_or_path, Path):\n if file_or_path.is_dir():\n msg = f\'{file_or_path} is a directory\'\n raise ValueError(msg)\n f = file_or_path.open(\'rb\')\n filename = file_or_path.name\n size = file_or_path.stat().st_size\n else:\n f = file_or_path\n filename = Path(getattr(f, \'name\', \'unnamed\')).name\n try:\n if f.seekable():\n f.seek(0, io.SEEK_END)\n size = f.tell()\n f.seek(0)\n else:\n size = None\n except (OSError, AttributeError):\n size = None\n obj = cls(filename=filename, size=size)\n obj._source = f\n obj._needs_persist = True\n return obj\n\n@model_validator(mode=\'before\')\n@classmethod\ndef validate_model_data(cls, data: Any) -> Any:\n if isinstance(data, dict):\n if \'data\' in data:\n if data[\'data\']:\n data[\'data\'] = cls.data_base64_decode(data[\'data\'])\n data[\'size\'] = len(data[\'data\'])\n else:\n data[\'size\'] = 0\n return data\n\n@property\ndef mimetype(self) -> str | None:\n """\n Returns the MIME type of the file based on its filename.\n\n This method uses the `mimetypes` module to guess the MIME type of the file.\n\n Returns:\n str | None: The guessed MIME type of the file, or None if it cannot be determined.\n """\n import mimetypes\n return mimetypes.guess_type(self.filename)[0]\n\n@property\ndef storage(self) -> Storage:\n from amsdal.storages import default_storage\n if self._storage:\n return self._storage\n if self.storage_address:\n return Storage.from_storage_spec({\'storage_class\': self.storage_address.ref.resource})\n return default_storage()\n\nasync def aopen(self, mode: str=\'rb\') -> Any:\n """\n Async variant of open().\n\n Uses the resolved storage to call aopen(); if the backend does not implement\n async, falls back to the sync open().\n """\n try:\n return await self.storage.aopen(self, mode)\n except NotImplementedError:\n return self.storage.open(self, mode)\n\nasync def apre_create(self) -> None:\n if self._needs_persist:\n from amsdal_models.storage.persistence import apersist_file\n await apersist_file(self, storage=self.storage)\n\nasync def apre_update(self) -> None:\n if self._needs_persist:\n from amsdal_models.storage.persistence import apersist_file\n await apersist_file(self, storage=self.storage)\n\nasync def aread_bytes(self) -> bytes:\n async with await self.aopen() as f:\n return await f.read()\n\nasync def aurl(self) -> str:\n """\n Async variant of url().\n\n Uses the resolved storage to call aurl(); if the backend does not implement\n async, falls back to the sync url().\n """\n try:\n return await self.storage.aurl(self)\n except NotImplementedError:\n return self.storage.url(self)\n\ndef __repr__(self) -> str:\n return f"File<{self.filename}>({self.size or len(self.data or \'\') or 0} bytes)"\n\ndef __str__(self) -> str:\n return repr(self)\n\ndef open(self, mode: str=\'rb\') -> IO[Any]:\n """\n Open a binary stream for reading (or other modes if supported) using storage_address.\n\n Raises StateError if storage_address is missing.\n """\n return self.storage.open(self, mode)\n\ndef pre_create(self) -> None:\n if self._needs_persist:\n from amsdal_models.storage.persistence import persist_file\n persist_file(self, storage=self.storage)\n\ndef pre_update(self) -> None:\n if self._needs_persist:\n from amsdal_models.storage.persistence import persist_file\n persist_file(self, storage=self.storage)\n\ndef read_bytes(self) -> bytes:\n with self.open() as f:\n return f.read()\n\ndef set_data(self, data: bytes | str) -> None:\n if not isinstance(self.storage, DBStorage):\n msg = \'Cannot set data on a file that is not stored in a database. Use `File.from_bytes` instead.\'\n raise ValueError(msg)\n self.data = self.data_base64_decode(data)\n self.size = len(self.data)\n self._needs_persist = True\n\ndef to_file(self, file_or_path: Path | BinaryIO) -> None:\n """\n Writes the object\'s data to a file path or a binary file object.\n\n Args:\n file_or_path (Path | BinaryIO): The file path or binary file object where the data will be written.\n\n Returns:\n None\n\n Raises:\n ValueError: If the provided path is a directory.\n """\n with self.open() as f:\n if isinstance(file_or_path, Path):\n if file_or_path.is_dir():\n file_or_path = file_or_path / self.name\n file_or_path.write_bytes(f.read())\n else:\n file_or_path.write(f.read())\n file_or_path.seek(0)\n\ndef url(self) -> str:\n """\n Return a URL for this file using its storage_address.\n\n Raises StateError if storage_address is missing.\n """\n return self.storage.url(self)',
|
36
36
|
"storage_metadata": {
|
37
37
|
"table_name": "File",
|
38
38
|
"db_fields": {},
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
@@ -0,0 +1,245 @@
|
|
1
|
+
from amsdal_models.migration import migrations
|
2
|
+
from amsdal_utils.models.enums import ModuleType
|
3
|
+
|
4
|
+
|
5
|
+
class Migration(migrations.Migration):
|
6
|
+
operations: list[migrations.Operation] = [
|
7
|
+
migrations.CreateClass(
|
8
|
+
module_type=ModuleType.CONTRIB,
|
9
|
+
class_name="Condition",
|
10
|
+
new_schema={
|
11
|
+
"title": "Condition",
|
12
|
+
"type": "FrontendConfigSkipNoneBase",
|
13
|
+
"required": ["operation", "conditions"],
|
14
|
+
"properties": {
|
15
|
+
"operation": {
|
16
|
+
"type": "string",
|
17
|
+
"options": [
|
18
|
+
{"key": "and", "value": "and"},
|
19
|
+
{"key": "or", "value": "or"},
|
20
|
+
{"key": "not", "value": "not"},
|
21
|
+
],
|
22
|
+
"title": "Operation",
|
23
|
+
"enum": ["and", "or", "not"],
|
24
|
+
},
|
25
|
+
"conditions": {
|
26
|
+
"type": "array",
|
27
|
+
"items": {"type": "ConditionItem", "title": "ConditionItem"},
|
28
|
+
"title": "Conditions",
|
29
|
+
},
|
30
|
+
},
|
31
|
+
"meta_class": "TypeMeta",
|
32
|
+
"custom_code": "from typing import Any\n\nfrom amsdal.contrib.frontend_configs.models.frontend_activator_config import *\nfrom amsdal.contrib.frontend_configs.models.frontend_config_async_validator import *\nfrom amsdal.contrib.frontend_configs.models.frontend_config_control_action import *\nfrom amsdal.contrib.frontend_configs.models.frontend_config_option import *\nfrom amsdal.contrib.frontend_configs.models.frontend_config_skip_none_base import *\nfrom amsdal.contrib.frontend_configs.models.frontend_config_slider_option import *\nfrom amsdal.contrib.frontend_configs.models.frontend_config_text_mask import *\nfrom amsdal.contrib.frontend_configs.models.frontend_config_validator import *\n\n\ndef model_dump(self, **kwargs: Any) -> dict[str, Any]:\n kwargs['exclude_none'] = True\n return super().model_dump(**kwargs)\n\ndef model_dump_json(self, **kwargs: Any) -> str:\n kwargs['exclude_none'] = True\n return super().model_dump_json(**kwargs)",
|
33
|
+
"storage_metadata": {"table_name": "Condition", "db_fields": {}, "foreign_keys": {}},
|
34
|
+
},
|
35
|
+
),
|
36
|
+
migrations.CreateClass(
|
37
|
+
module_type=ModuleType.CONTRIB,
|
38
|
+
class_name="ConditionItem",
|
39
|
+
new_schema={
|
40
|
+
"title": "ConditionItem",
|
41
|
+
"type": "FrontendConfigSkipNoneBase",
|
42
|
+
"required": ["path", "condition"],
|
43
|
+
"properties": {
|
44
|
+
"path": {"type": "string", "title": "Path"},
|
45
|
+
"condition": {"type": "string", "title": "Condition"},
|
46
|
+
"value": {"type": "anything", "title": "Value"},
|
47
|
+
},
|
48
|
+
"meta_class": "TypeMeta",
|
49
|
+
"custom_code": "from typing import Any\n\nfrom amsdal.contrib.frontend_configs.models.frontend_activator_config import *\nfrom amsdal.contrib.frontend_configs.models.frontend_config_async_validator import *\nfrom amsdal.contrib.frontend_configs.models.frontend_config_control_action import *\nfrom amsdal.contrib.frontend_configs.models.frontend_config_option import *\nfrom amsdal.contrib.frontend_configs.models.frontend_config_skip_none_base import *\nfrom amsdal.contrib.frontend_configs.models.frontend_config_slider_option import *\nfrom amsdal.contrib.frontend_configs.models.frontend_config_text_mask import *\nfrom amsdal.contrib.frontend_configs.models.frontend_config_validator import *\n\n\ndef model_dump(self, **kwargs: Any) -> dict[str, Any]:\n kwargs['exclude_none'] = True\n return super().model_dump(**kwargs)\n\ndef model_dump_json(self, **kwargs: Any) -> str:\n kwargs['exclude_none'] = True\n return super().model_dump_json(**kwargs)",
|
50
|
+
"storage_metadata": {"table_name": "ConditionItem", "db_fields": {}, "foreign_keys": {}},
|
51
|
+
},
|
52
|
+
),
|
53
|
+
migrations.UpdateClass(
|
54
|
+
module_type=ModuleType.CONTRIB,
|
55
|
+
class_name="FrontendControlConfig",
|
56
|
+
old_schema={
|
57
|
+
"title": "FrontendControlConfig",
|
58
|
+
"type": "FrontendConfigSkipNoneBase",
|
59
|
+
"required": ["type", "name"],
|
60
|
+
"properties": {
|
61
|
+
"type": {"type": "string", "title": "Type"},
|
62
|
+
"name": {"type": "string", "title": "Name"},
|
63
|
+
"label": {"type": "string", "title": "Label"},
|
64
|
+
"required": {"type": "boolean", "title": "Required"},
|
65
|
+
"hideLabel": {"type": "boolean", "title": "Hide Label"},
|
66
|
+
"actions": {
|
67
|
+
"type": "array",
|
68
|
+
"items": {"type": "FrontendConfigControlAction", "title": "FrontendConfigControlAction"},
|
69
|
+
"title": "Actions",
|
70
|
+
},
|
71
|
+
"validators": {
|
72
|
+
"type": "array",
|
73
|
+
"items": {"type": "FrontendConfigValidator", "title": "FrontendConfigValidator"},
|
74
|
+
"title": "Validators",
|
75
|
+
},
|
76
|
+
"asyncValidators": {
|
77
|
+
"type": "array",
|
78
|
+
"items": {"type": "FrontendConfigAsyncValidator", "title": "FrontendConfigAsyncValidator"},
|
79
|
+
"title": "Async Validators",
|
80
|
+
},
|
81
|
+
"activators": {
|
82
|
+
"type": "array",
|
83
|
+
"items": {"type": "FrontendActivatorConfig", "title": "FrontendActivatorConfig"},
|
84
|
+
"title": "Activators",
|
85
|
+
},
|
86
|
+
"additionalText": {"type": "string", "title": "Additional Text"},
|
87
|
+
"value": {"type": "anything", "title": "Value"},
|
88
|
+
"placeholder": {"type": "string", "title": "Placeholder"},
|
89
|
+
"options": {
|
90
|
+
"type": "array",
|
91
|
+
"items": {"type": "FrontendConfigOption", "title": "FrontendConfigOption"},
|
92
|
+
"title": "Options",
|
93
|
+
},
|
94
|
+
"mask": {"type": "FrontendConfigTextMask", "title": "Mask"},
|
95
|
+
"controls": {
|
96
|
+
"type": "array",
|
97
|
+
"items": {"type": "FrontendControlConfig", "title": "FrontendControlConfig"},
|
98
|
+
"title": "Controls",
|
99
|
+
},
|
100
|
+
"showSearch": {"type": "boolean", "title": "Show Search"},
|
101
|
+
"sliderOptions": {"type": "FrontendConfigSliderOption", "title": "Slider Option"},
|
102
|
+
"customLabel": {"type": "array", "items": {"type": "string"}, "title": "Custom Label"},
|
103
|
+
"control": {"type": "FrontendControlConfig", "title": "Control"},
|
104
|
+
"entityType": {"type": "string", "title": "Entity Type"},
|
105
|
+
},
|
106
|
+
"meta_class": "TypeMeta",
|
107
|
+
"custom_code": "from typing import Any\n\nfrom amsdal_models.builder.validators.options_validators import validate_options\nfrom pydantic.functional_validators import field_validator\n\nfrom amsdal.contrib.frontend_configs.models.frontend_activator_config import *\nfrom amsdal.contrib.frontend_configs.models.frontend_config_async_validator import *\nfrom amsdal.contrib.frontend_configs.models.frontend_config_control_action import *\nfrom amsdal.contrib.frontend_configs.models.frontend_config_option import *\nfrom amsdal.contrib.frontend_configs.models.frontend_config_skip_none_base import *\nfrom amsdal.contrib.frontend_configs.models.frontend_config_slider_option import *\nfrom amsdal.contrib.frontend_configs.models.frontend_config_text_mask import *\nfrom amsdal.contrib.frontend_configs.models.frontend_config_validator import *\n\n\n@field_validator('type')\n@classmethod\ndef validate_value_in_options_type(cls: type, value: Any) -> Any:\n return validate_options(value, options=['Bytes', 'array', 'checkbox', 'date', 'dateTriplet', 'datetime', 'dict', 'dropzone', 'email', 'file', 'group', 'group_switch', 'group_toggle', 'info-group', 'infoscreen', 'multiselect', 'number', 'number-operations', 'number-slider', 'number_equals', 'number_initial', 'number_minus', 'number_plus', 'object', 'object_group', 'object_latest', 'password', 'phone', 'radio', 'select', 'text', 'textarea', 'time', 'toggle'])\n\ndef model_dump(self, **kwargs: Any) -> dict[str, Any]:\n kwargs['exclude_none'] = True\n return super().model_dump(**kwargs)\n\ndef model_dump_json(self, **kwargs: Any) -> str:\n kwargs['exclude_none'] = True\n return super().model_dump_json(**kwargs)",
|
108
|
+
"storage_metadata": {"table_name": "FrontendControlConfig", "db_fields": {}, "foreign_keys": {}},
|
109
|
+
},
|
110
|
+
new_schema={
|
111
|
+
"title": "FrontendControlConfig",
|
112
|
+
"type": "FrontendConfigSkipNoneBase",
|
113
|
+
"required": ["type", "name"],
|
114
|
+
"properties": {
|
115
|
+
"type": {
|
116
|
+
"type": "string",
|
117
|
+
"options": [
|
118
|
+
{"key": "Bytes", "value": "Bytes"},
|
119
|
+
{"key": "array", "value": "array"},
|
120
|
+
{"key": "checkbox", "value": "checkbox"},
|
121
|
+
{"key": "date", "value": "date"},
|
122
|
+
{"key": "dateTriplet", "value": "dateTriplet"},
|
123
|
+
{"key": "datetime", "value": "datetime"},
|
124
|
+
{"key": "dict", "value": "dict"},
|
125
|
+
{"key": "dropzone", "value": "dropzone"},
|
126
|
+
{"key": "email", "value": "email"},
|
127
|
+
{"key": "file", "value": "file"},
|
128
|
+
{"key": "group", "value": "group"},
|
129
|
+
{"key": "group_switch", "value": "group_switch"},
|
130
|
+
{"key": "group_toggle", "value": "group_toggle"},
|
131
|
+
{"key": "info-group", "value": "info-group"},
|
132
|
+
{"key": "infoscreen", "value": "infoscreen"},
|
133
|
+
{"key": "multiselect", "value": "multiselect"},
|
134
|
+
{"key": "number", "value": "number"},
|
135
|
+
{"key": "number-operations", "value": "number-operations"},
|
136
|
+
{"key": "number-slider", "value": "number-slider"},
|
137
|
+
{"key": "number_equals", "value": "number_equals"},
|
138
|
+
{"key": "number_initial", "value": "number_initial"},
|
139
|
+
{"key": "number_minus", "value": "number_minus"},
|
140
|
+
{"key": "number_plus", "value": "number_plus"},
|
141
|
+
{"key": "object", "value": "object"},
|
142
|
+
{"key": "object_group", "value": "object_group"},
|
143
|
+
{"key": "object_latest", "value": "object_latest"},
|
144
|
+
{"key": "password", "value": "password"},
|
145
|
+
{"key": "phone", "value": "phone"},
|
146
|
+
{"key": "radio", "value": "radio"},
|
147
|
+
{"key": "select", "value": "select"},
|
148
|
+
{"key": "text", "value": "text"},
|
149
|
+
{"key": "textarea", "value": "textarea"},
|
150
|
+
{"key": "time", "value": "time"},
|
151
|
+
{"key": "toggle", "value": "toggle"},
|
152
|
+
{"key": "sections", "value": "sections"},
|
153
|
+
{"key": "section", "value": "section"},
|
154
|
+
],
|
155
|
+
"title": "Type",
|
156
|
+
"enum": [
|
157
|
+
"Bytes",
|
158
|
+
"array",
|
159
|
+
"checkbox",
|
160
|
+
"date",
|
161
|
+
"dateTriplet",
|
162
|
+
"datetime",
|
163
|
+
"dict",
|
164
|
+
"dropzone",
|
165
|
+
"email",
|
166
|
+
"file",
|
167
|
+
"group",
|
168
|
+
"group_switch",
|
169
|
+
"group_toggle",
|
170
|
+
"info-group",
|
171
|
+
"infoscreen",
|
172
|
+
"multiselect",
|
173
|
+
"number",
|
174
|
+
"number-operations",
|
175
|
+
"number-slider",
|
176
|
+
"number_equals",
|
177
|
+
"number_initial",
|
178
|
+
"number_minus",
|
179
|
+
"number_plus",
|
180
|
+
"object",
|
181
|
+
"object_group",
|
182
|
+
"object_latest",
|
183
|
+
"password",
|
184
|
+
"phone",
|
185
|
+
"radio",
|
186
|
+
"select",
|
187
|
+
"text",
|
188
|
+
"textarea",
|
189
|
+
"time",
|
190
|
+
"toggle",
|
191
|
+
"sections",
|
192
|
+
"section",
|
193
|
+
],
|
194
|
+
},
|
195
|
+
"name": {"type": "string", "title": "Name"},
|
196
|
+
"label": {"type": "string", "title": "Label"},
|
197
|
+
"required": {"type": "boolean", "title": "Required"},
|
198
|
+
"hideLabel": {"type": "boolean", "title": "Hide Label"},
|
199
|
+
"actions": {
|
200
|
+
"type": "array",
|
201
|
+
"items": {"type": "FrontendConfigControlAction", "title": "FrontendConfigControlAction"},
|
202
|
+
"title": "Actions",
|
203
|
+
},
|
204
|
+
"validators": {
|
205
|
+
"type": "array",
|
206
|
+
"items": {"type": "FrontendConfigValidator", "title": "FrontendConfigValidator"},
|
207
|
+
"title": "Validators",
|
208
|
+
},
|
209
|
+
"asyncValidators": {
|
210
|
+
"type": "array",
|
211
|
+
"items": {"type": "FrontendConfigAsyncValidator", "title": "FrontendConfigAsyncValidator"},
|
212
|
+
"title": "Async Validators",
|
213
|
+
},
|
214
|
+
"activators": {
|
215
|
+
"type": "array",
|
216
|
+
"items": {"type": "FrontendActivatorConfig", "title": "FrontendActivatorConfig"},
|
217
|
+
"title": "Activators",
|
218
|
+
},
|
219
|
+
"additionalText": {"type": "string", "title": "Additional Text"},
|
220
|
+
"value": {"type": "anything", "title": "Value"},
|
221
|
+
"placeholder": {"type": "string", "title": "Placeholder"},
|
222
|
+
"options": {
|
223
|
+
"type": "array",
|
224
|
+
"items": {"type": "FrontendConfigOption", "title": "FrontendConfigOption"},
|
225
|
+
"title": "Options",
|
226
|
+
},
|
227
|
+
"mask": {"type": "FrontendConfigTextMask", "title": "Mask"},
|
228
|
+
"controls": {
|
229
|
+
"type": "array",
|
230
|
+
"items": {"type": "FrontendControlConfig", "title": "FrontendControlConfig"},
|
231
|
+
"title": "Controls",
|
232
|
+
},
|
233
|
+
"showSearch": {"type": "boolean", "title": "Show Search"},
|
234
|
+
"sliderOptions": {"type": "FrontendConfigSliderOption", "title": "Slider Option"},
|
235
|
+
"customLabel": {"type": "array", "items": {"type": "string"}, "title": "Custom Label"},
|
236
|
+
"control": {"type": "FrontendControlConfig", "title": "Control"},
|
237
|
+
"entityType": {"type": "string", "title": "Entity Type"},
|
238
|
+
"condition": {"type": "Condition", "title": "Condition"},
|
239
|
+
},
|
240
|
+
"meta_class": "TypeMeta",
|
241
|
+
"custom_code": "from typing import Any\n\nfrom amsdal.contrib.frontend_configs.models.frontend_activator_config import *\nfrom amsdal.contrib.frontend_configs.models.frontend_config_async_validator import *\nfrom amsdal.contrib.frontend_configs.models.frontend_config_control_action import *\nfrom amsdal.contrib.frontend_configs.models.frontend_config_option import *\nfrom amsdal.contrib.frontend_configs.models.frontend_config_skip_none_base import *\nfrom amsdal.contrib.frontend_configs.models.frontend_config_slider_option import *\nfrom amsdal.contrib.frontend_configs.models.frontend_config_text_mask import *\nfrom amsdal.contrib.frontend_configs.models.frontend_config_validator import *\n\n\ndef model_dump(self, **kwargs: Any) -> dict[str, Any]:\n kwargs['exclude_none'] = True\n return super().model_dump(**kwargs)\n\ndef model_dump_json(self, **kwargs: Any) -> str:\n kwargs['exclude_none'] = True\n return super().model_dump_json(**kwargs)",
|
242
|
+
"storage_metadata": {"table_name": "FrontendControlConfig", "db_fields": {}, "foreign_keys": {}},
|
243
|
+
},
|
244
|
+
),
|
245
|
+
]
|
@@ -1,11 +1,10 @@
|
|
1
1
|
from typing import Any
|
2
2
|
from typing import ClassVar
|
3
|
+
from typing import Literal
|
3
4
|
from typing import Optional
|
4
5
|
|
5
|
-
from amsdal_models.builder.validators.options_validators import validate_options
|
6
6
|
from amsdal_utils.models.enums import ModuleType
|
7
7
|
from pydantic.fields import Field
|
8
|
-
from pydantic.functional_validators import field_validator
|
9
8
|
|
10
9
|
from amsdal.contrib.frontend_configs.models.frontend_activator_config import * # noqa: F403
|
11
10
|
from amsdal.contrib.frontend_configs.models.frontend_config_async_validator import * # noqa: F403
|
@@ -16,10 +15,64 @@ from amsdal.contrib.frontend_configs.models.frontend_config_slider_option import
|
|
16
15
|
from amsdal.contrib.frontend_configs.models.frontend_config_text_mask import * # noqa: F403
|
17
16
|
from amsdal.contrib.frontend_configs.models.frontend_config_validator import * # noqa: F403
|
18
17
|
|
18
|
+
ConfigType = Literal[
|
19
|
+
'Bytes',
|
20
|
+
'array',
|
21
|
+
'checkbox',
|
22
|
+
'date',
|
23
|
+
'dateTriplet',
|
24
|
+
'datetime',
|
25
|
+
'dict',
|
26
|
+
'dropzone',
|
27
|
+
'email',
|
28
|
+
'file',
|
29
|
+
'group',
|
30
|
+
'group_switch',
|
31
|
+
'group_toggle',
|
32
|
+
'info-group',
|
33
|
+
'infoscreen',
|
34
|
+
'multiselect',
|
35
|
+
'number',
|
36
|
+
'number-operations',
|
37
|
+
'number-slider',
|
38
|
+
'number_equals',
|
39
|
+
'number_initial',
|
40
|
+
'number_minus',
|
41
|
+
'number_plus',
|
42
|
+
'object',
|
43
|
+
'object_group',
|
44
|
+
'object_latest',
|
45
|
+
'password',
|
46
|
+
'phone',
|
47
|
+
'radio',
|
48
|
+
'select',
|
49
|
+
'text',
|
50
|
+
'textarea',
|
51
|
+
'time',
|
52
|
+
'toggle',
|
53
|
+
'sections',
|
54
|
+
'section',
|
55
|
+
]
|
56
|
+
|
57
|
+
|
58
|
+
class ConditionItem(FrontendConfigSkipNoneBase): # noqa: F405
|
59
|
+
path: str = Field(title='Path')
|
60
|
+
condition: str = Field(title='Condition')
|
61
|
+
value: Any = Field(default=None, title='Value')
|
62
|
+
|
63
|
+
|
64
|
+
class Condition(FrontendConfigSkipNoneBase): # noqa: F405
|
65
|
+
__module_type__: ClassVar[ModuleType] = ModuleType.CONTRIB
|
66
|
+
operation: Literal['and', 'or', 'not'] = Field(title='Operation')
|
67
|
+
conditions: list[ConditionItem] = Field(title='Conditions') # noqa: F405
|
68
|
+
|
69
|
+
|
70
|
+
Condition.model_rebuild()
|
71
|
+
|
19
72
|
|
20
73
|
class FrontendControlConfig(FrontendConfigSkipNoneBase): # noqa: F405
|
21
74
|
__module_type__: ClassVar[ModuleType] = ModuleType.CONTRIB
|
22
|
-
type:
|
75
|
+
type: ConfigType = Field(title='Type')
|
23
76
|
name: str = Field(title='Name')
|
24
77
|
label: str | None = Field(None, title='Label')
|
25
78
|
required: bool | None = Field(None, title='Required')
|
@@ -42,46 +95,4 @@ class FrontendControlConfig(FrontendConfigSkipNoneBase): # noqa: F405
|
|
42
95
|
customLabel: list[str] | None = Field(None, title='Custom Label') # noqa: N815
|
43
96
|
control: Optional['FrontendControlConfig'] = Field(None, title='Control')
|
44
97
|
entityType: str | None = Field(None, title='Entity Type') # noqa: N815
|
45
|
-
|
46
|
-
@field_validator('type')
|
47
|
-
@classmethod
|
48
|
-
def validate_value_in_options_type(cls: type, value: Any) -> Any: # type: ignore # noqa: A003
|
49
|
-
return validate_options(
|
50
|
-
value,
|
51
|
-
options=[
|
52
|
-
'Bytes',
|
53
|
-
'array',
|
54
|
-
'checkbox',
|
55
|
-
'date',
|
56
|
-
'dateTriplet',
|
57
|
-
'datetime',
|
58
|
-
'dict',
|
59
|
-
'dropzone',
|
60
|
-
'email',
|
61
|
-
'file',
|
62
|
-
'group',
|
63
|
-
'group_switch',
|
64
|
-
'group_toggle',
|
65
|
-
'info-group',
|
66
|
-
'infoscreen',
|
67
|
-
'multiselect',
|
68
|
-
'number',
|
69
|
-
'number-operations',
|
70
|
-
'number-slider',
|
71
|
-
'number_equals',
|
72
|
-
'number_initial',
|
73
|
-
'number_minus',
|
74
|
-
'number_plus',
|
75
|
-
'object',
|
76
|
-
'object_group',
|
77
|
-
'object_latest',
|
78
|
-
'password',
|
79
|
-
'phone',
|
80
|
-
'radio',
|
81
|
-
'select',
|
82
|
-
'text',
|
83
|
-
'textarea',
|
84
|
-
'time',
|
85
|
-
'toggle',
|
86
|
-
],
|
87
|
-
)
|
98
|
+
condition: Condition | None = Field(None, title='Condition') # noqa: F405
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
amsdal/models/core/file.py
CHANGED
@@ -1,7 +1,6 @@
|
|
1
1
|
import base64
|
2
2
|
import io
|
3
3
|
from contextlib import suppress
|
4
|
-
from inspect import isawaitable
|
5
4
|
from pathlib import Path
|
6
5
|
from typing import IO
|
7
6
|
from typing import Any
|
@@ -239,11 +238,7 @@ class File(Model):
|
|
239
238
|
|
240
239
|
async def aread_bytes(self) -> bytes:
|
241
240
|
async with await self.aopen() as f:
|
242
|
-
|
243
|
-
|
244
|
-
if isawaitable(data):
|
245
|
-
return await data
|
246
|
-
return data
|
241
|
+
return await f.read()
|
247
242
|
|
248
243
|
def set_data(self, data: bytes | str) -> None:
|
249
244
|
if not isinstance(self.storage, DBStorage):
|
Binary file
|
Binary file
|
Binary file
|
amsdal/utils/tests/migrations.py
CHANGED
@@ -1,14 +1,9 @@
|
|
1
|
-
amsdal-0.5.8.dist-info/RECORD,,
|
2
|
-
amsdal-0.5.8.dist-info/WHEEL,sha256=EOGtw-LpzLQPCSF3QP-yT4xdfA0v97p09Et-l29cEBs,114
|
3
|
-
amsdal-0.5.8.dist-info/top_level.txt,sha256=VPQLnOP3mf7q0JuQ_vPZYQyPNGKd_uc6ouz-hZRkhSk,7
|
4
|
-
amsdal-0.5.8.dist-info/METADATA,sha256=84ax7aRyOkNLGcTEmx219EbhyN2t77Y-9RH1agS9B1Q,57622
|
5
|
-
amsdal-0.5.8.dist-info/licenses/LICENSE.txt,sha256=hG-541PFYfNJi9WRZi_hno91UyqNg7YLK8LR3vLblZA,27355
|
6
1
|
amsdal/manager.pyi,sha256=aRX-FO3KIozgaoJg3_pAVJjPAW9PL8hMiYvaTJ_kp5E,9466
|
7
2
|
amsdal/__init__.pyi,sha256=4FIq7rQKQXoDNIzrDxtklKrbPcE2qqKU8W0jp8Mld6Q,741
|
8
3
|
amsdal/__init__.py,sha256=eg_kMNcJSTvb8Q32AstCARJURBhrlIVmE12Dgq0nOUk,742
|
9
|
-
amsdal/manager.cpython-311-darwin.so,sha256=
|
4
|
+
amsdal/manager.cpython-311-darwin.so,sha256=_uktHdCtuYi-mK1RBARlWGBgLdUnE1rHeKjC4ivIPzU,518288
|
10
5
|
amsdal/Third-Party Materials - AMSDAL Dependencies - License Notices.md,sha256=3YRsqickIvSW7EmjlC-yk5h-YW_GMzAz7wsT9ZPIiaM,74780
|
11
|
-
amsdal/__about__.py,sha256=
|
6
|
+
amsdal/__about__.py,sha256=2PfW0mPI4DYZrdult5d2mMRHPOJDirOQvIzkUq-Vwks,125
|
12
7
|
amsdal/errors.pyi,sha256=mcuGsQMWaIUmC9GJDIkf99dQMMsCfBy6OI_UB3NSNmc,597
|
13
8
|
amsdal/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
14
9
|
amsdal/errors.py,sha256=pZZKIklaDkh8jdFSAfX81TbiylvbaE70nttRjTcTSBk,616
|
@@ -23,8 +18,8 @@ amsdal/context/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
23
18
|
amsdal/context/manager.py,sha256=CKGY75P2y-TCnZvK5p9NJsDgHo8KXHSE0Eg5AGRjnfk,1850
|
24
19
|
amsdal/mixins/class_versions_mixin.pyi,sha256=oSXjkTsN35d-3YgCckclhk7xRkljKHLYtN8a8gJgj2o,548
|
25
20
|
amsdal/mixins/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
26
|
-
amsdal/mixins/__init__.cpython-311-darwin.so,sha256=
|
27
|
-
amsdal/mixins/class_versions_mixin.cpython-311-darwin.so,sha256=
|
21
|
+
amsdal/mixins/__init__.cpython-311-darwin.so,sha256=xAplfAwqAyTUYB3QBAJluup__JmucfdXSqEV66MV8hA,120656
|
22
|
+
amsdal/mixins/class_versions_mixin.cpython-311-darwin.so,sha256=6GJ6VRQrnexAzm8znOA-vxumbZg1oyf9sFyCoLqIkEQ,180576
|
28
23
|
amsdal/utils/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
29
24
|
amsdal/utils/contrib_paths.py,sha256=9BpNegbPofuvaQ4bE4E5cO4IV415ZZJkTqSLHUruJ3k,787
|
30
25
|
amsdal/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -32,7 +27,7 @@ amsdal/utils/contrib_paths.pyi,sha256=Ngb_2wCTCPJ9NSIqKiP254Ww9xrQzAV1-AiqUkVmiu
|
|
32
27
|
amsdal/utils/tests/enums.py,sha256=-zp_up9rlxAHR3znVKgWSDPmFKfxoHHOhb4ghtyltuU,302
|
33
28
|
amsdal/utils/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
34
29
|
amsdal/utils/tests/factories.py,sha256=SAnMjkDHg2dXgnDfxQGTvZX5MLuRmdskq7Cjbf6swVk,1926
|
35
|
-
amsdal/utils/tests/migrations.py,sha256=
|
30
|
+
amsdal/utils/tests/migrations.py,sha256=dsqHxeQU0xeO0COS9QgU0rwlMyznUxZ2EBdzcA7dsOM,6419
|
36
31
|
amsdal/utils/tests/helpers.py,sha256=0PbdKK76lyXozLK7UbLU1-G6yo5Bd-CLY1aXzfT25XI,12597
|
37
32
|
amsdal/utils/rollback/__init__.pyi,sha256=oA1_VJjK3k13nUp8H1wXjJs6LrlqEtAethPRQ7P8mLc,1106
|
38
33
|
amsdal/utils/rollback/__init__.py,sha256=NBIvidqj0nKRa30mWon5onpHBPQidb0DFJGcZbkKrY8,16832
|
@@ -45,12 +40,12 @@ amsdal/models/core/fixture.py,sha256=V4SS1rAYD6mtRjwZ5tEaGgZL3fgRuP2KJ4x7R3AkBWo
|
|
45
40
|
amsdal/models/core/option.py,sha256=W2w9tmNrdmOF6x5QohJghRrnUY-RFCQ0YFULhVGdDzw,326
|
46
41
|
amsdal/models/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
47
42
|
amsdal/models/core/storage_metadata.py,sha256=q-IOcsIpZHf_bt7v2NTtXAfV2i8fip3F_wtes16WY78,716
|
48
|
-
amsdal/models/core/file.py,sha256=
|
43
|
+
amsdal/models/core/file.py,sha256=j-i70o8NeOIlw35xysuFsuIkehf2Q67lOiO4SJN5MTc,7921
|
49
44
|
amsdal/models/core/class_property.py,sha256=HFIMb0DE8bhmRf_l45VeJJD_tE85eUZ---IPSBdld7I,1098
|
50
45
|
amsdal/models/core/class_object.py,sha256=Y5sdatrNZK1jkMImyeRFTxeUonuzJaDCKZzULZvJIHw,1487
|
51
46
|
amsdal/contrib/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
52
47
|
amsdal/contrib/app_config.pyi,sha256=j3MYfBcn9MzhTagEczGWfVH9N5jrfiKmUhxZMoakojw,149
|
53
|
-
amsdal/contrib/__init__.cpython-311-darwin.so,sha256=
|
48
|
+
amsdal/contrib/__init__.cpython-311-darwin.so,sha256=hsnr5AKCEnkk9kHgbGYatqmZGT7uL5BdGXVwDtLwpA8,120656
|
54
49
|
amsdal/contrib/app_config.py,sha256=RT3RAEE49XtzuFTXYNVuaqU9V4YIl0ZWZijtXgV-SC4,131
|
55
50
|
amsdal/contrib/auth/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
56
51
|
amsdal/contrib/auth/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -81,6 +76,7 @@ amsdal/contrib/frontend_configs/app.pyi,sha256=Bxdz0kmOF-Poaf2wmoJdgWYmHaStFyOFY
|
|
81
76
|
amsdal/contrib/frontend_configs/utils.py,sha256=IruaUNl4xkOr2IIFzlvrmi06vEu3CWx49GzLBsrCFU0,1103
|
82
77
|
amsdal/contrib/frontend_configs/app.py,sha256=fY4GukBM6GKSZExT0EgddTamLfUJHwQZS8tOwVQyeSY,836
|
83
78
|
amsdal/contrib/frontend_configs/migrations/0000_initial.py,sha256=-Vg5u__gvbOaz3tMOVVj_V086nb_D6IoC1Ji6ClkUoE,18952
|
79
|
+
amsdal/contrib/frontend_configs/migrations/0001_update_frontend_control_config.py,sha256=4mvgb2IyOWfi3cT4tnrM8lFVmoT3qR064anHpcUz028,17229
|
84
80
|
amsdal/contrib/frontend_configs/lifecycle/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
85
81
|
amsdal/contrib/frontend_configs/lifecycle/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
86
82
|
amsdal/contrib/frontend_configs/lifecycle/consumer.pyi,sha256=kRNenTrKfswS8Y3UY6XYQ03WlCuo9LFk8WIJxm--cAk,4168
|
@@ -89,7 +85,7 @@ amsdal/contrib/frontend_configs/models/frontend_config_control_action.py,sha256=
|
|
89
85
|
amsdal/contrib/frontend_configs/models/frontend_config_option.py,sha256=n4ZcI7RDwNCpeT5gGLuNJeHzJlhqyf7U5BD4V4wbUv4,448
|
90
86
|
amsdal/contrib/frontend_configs/models/frontend_model_config.py,sha256=UTvp-RvPnci4F7RdRj60hZXgEjSqvNhkfwdbw7ju_sU,517
|
91
87
|
amsdal/contrib/frontend_configs/models/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
92
|
-
amsdal/contrib/frontend_configs/models/frontend_control_config.py,sha256=
|
88
|
+
amsdal/contrib/frontend_configs/models/frontend_control_config.py,sha256=2gKp5C2CnK13PMhy0-7F_6ZneYdvgm4NxV1f9ZCHDwI,3889
|
93
89
|
amsdal/contrib/frontend_configs/models/frontend_config_group_validator.py,sha256=vJ36_Xmweygi5UXAL6wOXLi6sGe2rkUcsmT7WzgXuAU,974
|
94
90
|
amsdal/contrib/frontend_configs/models/frontend_config_slider_option.py,sha256=bixZRd4x4zcxykMXC3obYDp8DHORRR3BEBcqaZGcHHo,510
|
95
91
|
amsdal/contrib/frontend_configs/models/frontend_config_text_mask.py,sha256=EEonXV4HyxiVq4AkvIxKtzXhiDYeplexMWzNSQeYpoc,583
|
@@ -107,7 +103,7 @@ amsdal/schemas/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
107
103
|
amsdal/schemas/repository.pyi,sha256=e6YUXO248WmhWkkXWt828JrFzIJ9alTPqjXqbktjeWw,1443
|
108
104
|
amsdal/schemas/interfaces.pyi,sha256=jUXLEKIa_af9Qrv9a4UvfRmsUV78N921i4dDXKHPaQk,725
|
109
105
|
amsdal/schemas/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
110
|
-
amsdal/schemas/manager.cpython-311-darwin.so,sha256=
|
106
|
+
amsdal/schemas/manager.cpython-311-darwin.so,sha256=9xIzCjsV67muT7_OKnQUhs8uidSNaBTWVoYFn38OWzM,120656
|
111
107
|
amsdal/schemas/utils.pyi,sha256=UbeISOxetojP6HlzhiJWeaAVyYZUrnGAS5niTQ0m6n0,437
|
112
108
|
amsdal/schemas/utils.py,sha256=t8k7QYYR6SsCPpBhp7s585eSYKVIF895EKRMK1w1y1Q,492
|
113
109
|
amsdal/schemas/repository.py,sha256=PbskgDr8JMabQm2uf8Kfj5bBSPlPkx4cDGXn-jfIsPM,3249
|
@@ -148,7 +144,7 @@ amsdal/queryset/__init__.py,sha256=CzNaFx6yHvePtd3JY1ZGF3QLfE-e_ll5iSnaCVWdKHI,6
|
|
148
144
|
amsdal/__migrations__/0002_create_class_file.py,sha256=Aq72H968urji4D5aEMCsEol6gaXp1SGylmhua-hxBec,9360
|
149
145
|
amsdal/__migrations__/0000_initial.py,sha256=USn8u2uhHy9yFtONsTec-LMdCl3f7GQ_AgSL-yQZmO4,1874
|
150
146
|
amsdal/__migrations__/0001_create_class_file.py,sha256=ujBYnCvk-UhswWlSIsiQqMbgSrXBsdWDFNaFLlc0Trc,3762
|
151
|
-
amsdal/__migrations__/0003_update_class_file.py,sha256=
|
147
|
+
amsdal/__migrations__/0003_update_class_file.py,sha256=sKzNB9Lc5w6mGIYfyN0jI7wLgkHQVVybdCkJIqw0UYk,16118
|
152
148
|
amsdal/transactions/__init__.pyi,sha256=tK1CNKSx7gEFephi0mw04j-xxl1Z2af3iFbykFqov6I,340
|
153
149
|
amsdal/transactions/__init__.py,sha256=XQF1Ipr2Ao0TDhyNlZPAF8TNkpl75PalOZrzRVzQn1g,429
|
154
150
|
amsdal/configs/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -157,89 +153,94 @@ amsdal/configs/constants.py,sha256=faghdS6r3on1WKrp782WmgONd1fMf4X73LJzAwMO1po,9
|
|
157
153
|
amsdal/configs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
158
154
|
amsdal/configs/main.pyi,sha256=2pCKNMnSdnggHNGj37VSDhAxegrzXqVerz0HLtx7Ni4,6937
|
159
155
|
amsdal/configs/main.py,sha256=9iwtIPIy3Dbpenkhq2rSl2ar1nuJjGv4PRQeEv4z71A,9756
|
160
|
-
amsdal/cloud/client.cpython-311-darwin.so,sha256=
|
156
|
+
amsdal/cloud/client.cpython-311-darwin.so,sha256=HZOqGPlAhL_eAhJV4Tj_jsqlONEmSwc3qGeAHKRtoo4,216208
|
161
157
|
amsdal/cloud/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
162
158
|
amsdal/cloud/constants.pyi,sha256=0qWxDqjQkETwUtgco5kV83fPHhQ4jRdJe_YPPNTnSIY,327
|
163
159
|
amsdal/cloud/client.pyi,sha256=3VjPRtJrbUU29u_wswETrMorN0iUb4GFAXmMc73bUf4,2247
|
164
|
-
amsdal/cloud/enums.cpython-311-darwin.so,sha256=
|
165
|
-
amsdal/cloud/constants.cpython-311-darwin.so,sha256=
|
166
|
-
amsdal/cloud/__init__.cpython-311-darwin.so,sha256=
|
160
|
+
amsdal/cloud/enums.cpython-311-darwin.so,sha256=y7mx0pgTCb4EfzEAom3w6A8DHV66hAd9wWAVFXQrvG0,158064
|
161
|
+
amsdal/cloud/constants.cpython-311-darwin.so,sha256=WZDxt4ZfO6mYnWo6ddB3oXoj8zpljcaDdLyrU-pbtU8,158688
|
162
|
+
amsdal/cloud/__init__.cpython-311-darwin.so,sha256=LBDQdG-D5qfIigVJTu_VZUh_q-I3oPUhjf7xmkirtRo,120656
|
167
163
|
amsdal/cloud/enums.pyi,sha256=mX5O1FPc3aNnN108aOJT66Nn9KlcyrRTj9B23sFdDfw,1757
|
168
|
-
amsdal/cloud/models/base.cpython-311-darwin.so,sha256=
|
164
|
+
amsdal/cloud/models/base.cpython-311-darwin.so,sha256=IhS46mcusxPlcqKa6lO2FWs08LqnZwgmqGXezNOSe-A,211632
|
169
165
|
amsdal/cloud/models/base.pyi,sha256=avwAj4uS4NHrXvmSKBxokFKFWSaBPXtJPl1Ig1CD6sg,7727
|
170
166
|
amsdal/cloud/models/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
171
|
-
amsdal/cloud/models/__init__.cpython-311-darwin.so,sha256=
|
167
|
+
amsdal/cloud/models/__init__.cpython-311-darwin.so,sha256=0AA4TKCVhZyyF77Erz25xJHNgUJKJjyp5ULR4gtcPDc,120688
|
172
168
|
amsdal/cloud/services/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
173
|
-
amsdal/cloud/services/__init__.cpython-311-darwin.so,sha256
|
174
|
-
amsdal/cloud/services/auth/base.cpython-311-darwin.so,sha256=
|
169
|
+
amsdal/cloud/services/__init__.cpython-311-darwin.so,sha256=PueO2NWOhEAWg27RWetdHbpNSHTVYqB4f7sLb-YTC3U,120688
|
170
|
+
amsdal/cloud/services/auth/base.cpython-311-darwin.so,sha256=86fyxngq8D5jEoazvm14wa8BurPKOw4dnIOq4yNSBXk,163104
|
175
171
|
amsdal/cloud/services/auth/base.pyi,sha256=oj_tgwWhf02g-FzCLcNOEZjYDxfcrrDssING4jsUMb8,167
|
176
172
|
amsdal/cloud/services/auth/manager.pyi,sha256=AhKllHgraztP3JSKta9MmQjTNRAbQbwqZg2EpQZSwhI,1243
|
177
173
|
amsdal/cloud/services/auth/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
178
174
|
amsdal/cloud/services/auth/signup_service.pyi,sha256=SfSN1tLIwrzGi9JbMgoLuKKH1u5uoh_MOFJ4n_NHcBY,1145
|
179
|
-
amsdal/cloud/services/auth/token.cpython-311-darwin.so,sha256=
|
180
|
-
amsdal/cloud/services/auth/manager.cpython-311-darwin.so,sha256=
|
175
|
+
amsdal/cloud/services/auth/token.cpython-311-darwin.so,sha256=_kKVsk_XLDUzLAPRiu_uKHEJN5uD9IQmcWCG7BkQAJk,251536
|
176
|
+
amsdal/cloud/services/auth/manager.cpython-311-darwin.so,sha256=vzo15toyAuagjt9c_9Hv8mFZEqQ_qP--HIaBNKfK_6w,214128
|
181
177
|
amsdal/cloud/services/auth/token.pyi,sha256=v9QDleIytAZGlYHHaO-W1fTr5d2OLGWsh5g6HDeuk90,1042
|
182
|
-
amsdal/cloud/services/auth/signup_service.cpython-311-darwin.so,sha256=
|
183
|
-
amsdal/cloud/services/auth/__init__.cpython-311-darwin.so,sha256=
|
184
|
-
amsdal/cloud/services/auth/credentials.cpython-311-darwin.so,sha256=
|
178
|
+
amsdal/cloud/services/auth/signup_service.cpython-311-darwin.so,sha256=iEaNwIoWU4i6R0gX46J9ueg6ACylX5jgwTmFmKrZ2OI,216216
|
179
|
+
amsdal/cloud/services/auth/__init__.cpython-311-darwin.so,sha256=e_-dqewk40NCF7dtk4t5xs5puX-DaNdYg67peCqg6vs,120704
|
180
|
+
amsdal/cloud/services/auth/credentials.cpython-311-darwin.so,sha256=qYvh5WzkeBANP6LM7QFFGlAGFRXG99RHgdU-L2MoVv4,304408
|
185
181
|
amsdal/cloud/services/auth/credentials.pyi,sha256=ghp3r8rDq5l5xxx7UKFkCASyQJbWChkF2PQDJrQmeW4,1417
|
186
|
-
amsdal/cloud/services/actions/get_basic_auth_credentials.cpython-311-darwin.so,sha256=
|
187
|
-
amsdal/cloud/services/actions/base.cpython-311-darwin.so,sha256=
|
182
|
+
amsdal/cloud/services/actions/get_basic_auth_credentials.cpython-311-darwin.so,sha256=1aWl4GtVYos61sB5WUk3rNly4u8oP2LVcKWzZfghWWE,181112
|
183
|
+
amsdal/cloud/services/actions/base.cpython-311-darwin.so,sha256=dsfPgImaj9EImxGOi5ZAOwqL8PrmUWb0QfS1JaYcVcE,323552
|
188
184
|
amsdal/cloud/services/actions/list_envs.pyi,sha256=7PylFRd1Jb6nkTt8q8iy27rLj-Q5qcwfqW02_OlfDZs,878
|
189
|
-
amsdal/cloud/services/actions/delete_basic_auth.cpython-311-darwin.so,sha256=
|
185
|
+
amsdal/cloud/services/actions/delete_basic_auth.cpython-311-darwin.so,sha256=4EAn14trQ55lf5w9XI4LW0XIRKW_xMjWRNQbr_d2CFg,180744
|
190
186
|
amsdal/cloud/services/actions/base.pyi,sha256=J98igdu3E9-mled_kbxerja4DTLM0OAW8cHtsVOQ_fc,5880
|
191
|
-
amsdal/cloud/services/actions/add_allowlist_ip.cpython-311-darwin.so,sha256=
|
192
|
-
amsdal/cloud/services/actions/signup_action.cpython-311-darwin.so,sha256=
|
187
|
+
amsdal/cloud/services/actions/add_allowlist_ip.cpython-311-darwin.so,sha256=DNrhKxu2jUKFRfiL7UjFyBJgcjTUmA8XjHMiwSdcHLQ,180776
|
188
|
+
amsdal/cloud/services/actions/signup_action.cpython-311-darwin.so,sha256=lCGrKENmLjHjYVOdg-OhLpyA-hfJm6B_CfagdfDjKFI,180584
|
193
189
|
amsdal/cloud/services/actions/manager.pyi,sha256=Tal5u1nMhi7MeuJ9lBIPYPLgKoIB6DUXPU2AokrusHI,15441
|
194
|
-
amsdal/cloud/services/actions/delete_dependency.cpython-311-darwin.so,sha256=
|
195
|
-
amsdal/cloud/services/actions/expose_db.cpython-311-darwin.so,sha256=
|
190
|
+
amsdal/cloud/services/actions/delete_dependency.cpython-311-darwin.so,sha256=9d9Wdi5x0Dg0x7S65xD7g8mRPjkHYInnpv8Pu_aIRnI,180760
|
191
|
+
amsdal/cloud/services/actions/expose_db.cpython-311-darwin.so,sha256=nYAIaB1orF4nQ4GnKvdejEIZ8eepsK7mAsoFVtwlldY,181184
|
196
192
|
amsdal/cloud/services/actions/delete_allowlist_ip.pyi,sha256=W5zVq7YKL_OVigZl58bqau3rvAzsLdItAZaqDO1HGJw,933
|
197
|
-
amsdal/cloud/services/actions/add_secret.cpython-311-darwin.so,sha256=
|
193
|
+
amsdal/cloud/services/actions/add_secret.cpython-311-darwin.so,sha256=E-k5bvGZHwq5btEoZIWQiv7zI4_Rzt53hqkCR0zlZtI,180632
|
198
194
|
amsdal/cloud/services/actions/add_basic_auth.pyi,sha256=4tyTci_k_xlJrkBd71sY0ivRr8alo3Bq0KCkjIfacu4,1106
|
199
195
|
amsdal/cloud/services/actions/list_secrets.pyi,sha256=vF-EikAy7WHdkvkGikD_oDFDIgE1GEr8nxAQKYAs9rY,1079
|
200
|
-
amsdal/cloud/services/actions/list_secrets.cpython-311-darwin.so,sha256=
|
196
|
+
amsdal/cloud/services/actions/list_secrets.cpython-311-darwin.so,sha256=XV0VOPNiuFKk0RZ72M5Nt1YliseA-fDo3a9Ax1Fds7Q,181304
|
201
197
|
amsdal/cloud/services/actions/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
202
198
|
amsdal/cloud/services/actions/get_basic_auth_credentials.pyi,sha256=1FU8BtDRaGTx8fSqdhmotQK-rR7gKr4Qav_E-T_23rc,1071
|
203
|
-
amsdal/cloud/services/actions/list_deploys.cpython-311-darwin.so,sha256=
|
204
|
-
amsdal/cloud/services/actions/list_envs.cpython-311-darwin.so,sha256=
|
205
|
-
amsdal/cloud/services/actions/list_dependencies.cpython-311-darwin.so,sha256=
|
206
|
-
amsdal/cloud/services/actions/destroy_deploy.cpython-311-darwin.so,sha256=
|
207
|
-
amsdal/cloud/services/actions/create_session.cpython-311-darwin.so,sha256=
|
208
|
-
amsdal/cloud/services/actions/create_deploy.cpython-311-darwin.so,sha256=
|
199
|
+
amsdal/cloud/services/actions/list_deploys.cpython-311-darwin.so,sha256=pZuPxGJQzQk2zyknX9daXhS_yJe-ZmMDXgSqu4u1eVQ,181080
|
200
|
+
amsdal/cloud/services/actions/list_envs.cpython-311-darwin.so,sha256=GU5pRlvijL5WXaiVbPNxYbV130ay7BNZ-bPwpDY1QyU,180752
|
201
|
+
amsdal/cloud/services/actions/list_dependencies.cpython-311-darwin.so,sha256=0Y3YvbNyPAwYeH08sRHnbue-NTQa3sNtjoP8QL8PE14,181304
|
202
|
+
amsdal/cloud/services/actions/destroy_deploy.cpython-311-darwin.so,sha256=eTyrkrMM2Sblebc-0I-qD8gVTcaJYt_oTtgRuKBxcQg,180536
|
203
|
+
amsdal/cloud/services/actions/create_session.cpython-311-darwin.so,sha256=VQU1NTXS1QFT0OgDz3RbdBcHh1XOMVn7Zp8wkALUvQk,180984
|
204
|
+
amsdal/cloud/services/actions/create_deploy.cpython-311-darwin.so,sha256=Ptgi8hWv2NiuaZsDg9JPuo2UpfHKIWv7wncZh4NKz0o,269240
|
209
205
|
amsdal/cloud/services/actions/delete_secret.pyi,sha256=gZi17MivNYBIfdPU2GjoJ2I2lWiefdvLuXTcxDss1P4,953
|
210
206
|
amsdal/cloud/services/actions/delete_env.pyi,sha256=uyBHMOp_AprbpSfv6y6QfYW5FvK1-8jb2NxK_FmuPHE,969
|
211
|
-
amsdal/cloud/services/actions/manager.cpython-311-darwin.so,sha256=
|
207
|
+
amsdal/cloud/services/actions/manager.cpython-311-darwin.so,sha256=P2X_Sw2JiB6lF4mPZg7HoNv9v_QwoUApDIEQLtwKnzg,371312
|
212
208
|
amsdal/cloud/services/actions/delete_dependency.pyi,sha256=VuT1w2qOpjR7I9mBi9tPXMXDPEeU8tG0vi9TXV82Frg,1021
|
213
|
-
amsdal/cloud/services/actions/add_dependency.cpython-311-darwin.so,sha256=
|
209
|
+
amsdal/cloud/services/actions/add_dependency.cpython-311-darwin.so,sha256=xVcEAH3pH557M_o11TwCkiqqpIHdOuVkkb_touGn_Eo,180712
|
214
210
|
amsdal/cloud/services/actions/create_session.pyi,sha256=KUvx_vkhLQfGp_DM1ZvgszyT_G8LB28KoI1XpjNR7YY,674
|
215
|
-
amsdal/cloud/services/actions/delete_allowlist_ip.cpython-311-darwin.so,sha256=
|
211
|
+
amsdal/cloud/services/actions/delete_allowlist_ip.cpython-311-darwin.so,sha256=zdPn-oZ868ImpQ6_rj-SKiqraUvsZdGW7amVS9L-7fM,180832
|
216
212
|
amsdal/cloud/services/actions/list_deploys.pyi,sha256=Q8da3PDPxICLP2V7L-A7p-9_a3qNKrARqgHhu0CA0nA,724
|
217
|
-
amsdal/cloud/services/actions/add_basic_auth.cpython-311-darwin.so,sha256=
|
213
|
+
amsdal/cloud/services/actions/add_basic_auth.cpython-311-darwin.so,sha256=kKz9EFdKKOyvG4kaX4aNS2a_HomSo92l8XSqHYKdNlU,181112
|
218
214
|
amsdal/cloud/services/actions/add_allowlist_ip.pyi,sha256=gB2NQVz8NcSsgXYiym2Suh1RPI8eHKIAFE13RmeTHkA,883
|
219
215
|
amsdal/cloud/services/actions/get_monitoring_info.pyi,sha256=uvtBgWvtWf-Mq4vZq_q-q8Z8hJh5voAY61KRJQPGWFk,1045
|
220
216
|
amsdal/cloud/services/actions/add_dependency.pyi,sha256=uVEIhvDa4GRS0Lg6TkcYdOwezKcxrzL7A_Lh8BxcAeU,837
|
221
|
-
amsdal/cloud/services/actions/get_monitoring_info.cpython-311-darwin.so,sha256=
|
222
|
-
amsdal/cloud/services/actions/update_deploy.cpython-311-darwin.so,sha256=
|
217
|
+
amsdal/cloud/services/actions/get_monitoring_info.cpython-311-darwin.so,sha256=SuJkOlooqHdFlxBLTgBl-tuGmBzjtkILP5-tdr4X75A,180976
|
218
|
+
amsdal/cloud/services/actions/update_deploy.cpython-311-darwin.so,sha256=t8bb1Yh3oAbccRjUrOJfmO3b5KUeAmt943qkaplc3Ec,181064
|
223
219
|
amsdal/cloud/services/actions/signup_action.pyi,sha256=VswHjhxw2eHYqXwc---F2LpwlD7GlIuL_Ev2DmA96_4,808
|
224
|
-
amsdal/cloud/services/actions/create_env.cpython-311-darwin.so,sha256=
|
220
|
+
amsdal/cloud/services/actions/create_env.cpython-311-darwin.so,sha256=bvpwUUzGlckUs_jbf0Ll7RnFcpepxHja5FBG8VtyKvo,180824
|
225
221
|
amsdal/cloud/services/actions/add_secret.pyi,sha256=H6rS3PRwiktMfnoY8qwtmTplN9gG2yZgQKKCX8S8Q6c,890
|
226
|
-
amsdal/cloud/services/actions/delete_env.cpython-311-darwin.so,sha256=
|
227
|
-
amsdal/cloud/services/actions/__init__.cpython-311-darwin.so,sha256=
|
222
|
+
amsdal/cloud/services/actions/delete_env.cpython-311-darwin.so,sha256=mpxDnijRbHZLh9kyqhFXpSWkjSPkHxJOmbjD5EEMhqo,180824
|
223
|
+
amsdal/cloud/services/actions/__init__.cpython-311-darwin.so,sha256=tCpnWH7ERzTMku6Pq7CzS34CASXhhRjqMLEoxx2FoZ8,120720
|
228
224
|
amsdal/cloud/services/actions/destroy_deploy.pyi,sha256=VNb0J71B3gk4SVJwxlB9XTj4vCG-37ucojcGzsvKwe8,609
|
229
225
|
amsdal/cloud/services/actions/update_deploy.pyi,sha256=alM1nquQZ5O8PYlDIqDdSuiyuc_aj9fkd01bL9KANEI,766
|
230
226
|
amsdal/cloud/services/actions/create_deploy.pyi,sha256=VmVMYJQmjPZce6Cm8sMQ27HomhfdzZc_0X57ZWZmCt0,1988
|
231
227
|
amsdal/cloud/services/actions/delete_basic_auth.pyi,sha256=-I1YoOMFi0LaRsZL2JBGH_sg18PZoUL1PP9YetboDJA,915
|
232
228
|
amsdal/cloud/services/actions/list_dependencies.pyi,sha256=C37VamSyRT-uNLuwQJ0OrHKavs8Jt0bfPbAsE5BQEvE,1035
|
233
229
|
amsdal/cloud/services/actions/create_env.pyi,sha256=ITvyLrvwt6H36JNYURHZ_PbmGZquc5Fm07dVo7H6ll0,910
|
234
|
-
amsdal/cloud/services/actions/delete_secret.cpython-311-darwin.so,sha256=
|
230
|
+
amsdal/cloud/services/actions/delete_secret.cpython-311-darwin.so,sha256=D5IJu_JpoFOO6f6ASumxDSom2HvbbLclnEUY6I-VGK0,180680
|
235
231
|
amsdal/cloud/services/actions/expose_db.pyi,sha256=uk2zuz1SiXwjDFxtKF-yyWGNEONOgfm7EcrEyVT0cMM,1049
|
236
232
|
amsdal/fixtures/manager.pyi,sha256=fMl3nNa2A9jiZanZ_7tnUGaPigk_03KMmdcUGPoX9kI,7077
|
237
233
|
amsdal/fixtures/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
238
|
-
amsdal/fixtures/manager.cpython-311-darwin.so,sha256
|
234
|
+
amsdal/fixtures/manager.cpython-311-darwin.so,sha256=ZaHUTm1DDMdELyvMPlmaLzsX_4TvoWYrNAUwrjP601M,622896
|
239
235
|
amsdal/fixtures/utils.pyi,sha256=OnFn7opJscOydj-rlcXQIdDodlIKGCt79TRy5zAUkqg,457
|
240
|
-
amsdal/fixtures/utils.cpython-311-darwin.so,sha256=
|
241
|
-
amsdal/fixtures/__init__.cpython-311-darwin.so,sha256=
|
236
|
+
amsdal/fixtures/utils.cpython-311-darwin.so,sha256=bOThqZDvTY5RQzuT0RWC2383n2Tg3Ejo-yA8n39b9tg,306720
|
237
|
+
amsdal/fixtures/__init__.cpython-311-darwin.so,sha256=WHw9tePz9wBSsp4K1BfibAEOB2LQK7broqUXzSPsDAI,120672
|
242
238
|
amsdal/services/transaction_execution.pyi,sha256=TwCuurOoqSHgNu9GCYYZPSpGjxXssF2eNygQ5KVwAZM,4374
|
243
239
|
amsdal/services/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
244
|
-
amsdal/services/__init__.cpython-311-darwin.so,sha256=
|
245
|
-
amsdal/services/transaction_execution.cpython-311-darwin.so,sha256=
|
240
|
+
amsdal/services/__init__.cpython-311-darwin.so,sha256=iMIYkauqmiMPCf2f9_F4xF0PLz-kqBJRO3kpVE_qnRg,120672
|
241
|
+
amsdal/services/transaction_execution.cpython-311-darwin.so,sha256=LDY3cFFUU_EdH-q9m_YrYEkKXWsbQcoWatPPH7FUC5U,452176
|
242
|
+
amsdal-0.5.10.dist-info/RECORD,,
|
243
|
+
amsdal-0.5.10.dist-info/WHEEL,sha256=EOGtw-LpzLQPCSF3QP-yT4xdfA0v97p09Et-l29cEBs,114
|
244
|
+
amsdal-0.5.10.dist-info/top_level.txt,sha256=VPQLnOP3mf7q0JuQ_vPZYQyPNGKd_uc6ouz-hZRkhSk,7
|
245
|
+
amsdal-0.5.10.dist-info/METADATA,sha256=2qVGOuK1pl-eI4395qlCIpuVDfRYGjWRTg0JITg-7L4,57623
|
246
|
+
amsdal-0.5.10.dist-info/licenses/LICENSE.txt,sha256=hG-541PFYfNJi9WRZi_hno91UyqNg7YLK8LR3vLblZA,27355
|
File without changes
|
File without changes
|
File without changes
|