amsdal 0.5.0__cp312-cp312-macosx_10_13_universal2.whl → 0.5.1__cp312-cp312-macosx_10_13_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.
Files changed (66) hide show
  1. amsdal/__about__.py +1 -1
  2. amsdal/__migrations__/0000_initial.py +1 -1
  3. amsdal/__migrations__/0001_create_class_file.py +4 -103
  4. amsdal/__migrations__/0002_create_class_file.py +109 -0
  5. amsdal/cloud/__init__.cpython-312-darwin.so +0 -0
  6. amsdal/cloud/client.cpython-312-darwin.so +0 -0
  7. amsdal/cloud/constants.cpython-312-darwin.so +0 -0
  8. amsdal/cloud/enums.cpython-312-darwin.so +0 -0
  9. amsdal/cloud/models/__init__.cpython-312-darwin.so +0 -0
  10. amsdal/cloud/models/base.cpython-312-darwin.so +0 -0
  11. amsdal/cloud/services/__init__.cpython-312-darwin.so +0 -0
  12. amsdal/cloud/services/actions/__init__.cpython-312-darwin.so +0 -0
  13. amsdal/cloud/services/actions/add_allowlist_ip.cpython-312-darwin.so +0 -0
  14. amsdal/cloud/services/actions/add_basic_auth.cpython-312-darwin.so +0 -0
  15. amsdal/cloud/services/actions/add_dependency.cpython-312-darwin.so +0 -0
  16. amsdal/cloud/services/actions/add_secret.cpython-312-darwin.so +0 -0
  17. amsdal/cloud/services/actions/base.cpython-312-darwin.so +0 -0
  18. amsdal/cloud/services/actions/create_deploy.cpython-312-darwin.so +0 -0
  19. amsdal/cloud/services/actions/create_env.cpython-312-darwin.so +0 -0
  20. amsdal/cloud/services/actions/create_session.cpython-312-darwin.so +0 -0
  21. amsdal/cloud/services/actions/delete_allowlist_ip.cpython-312-darwin.so +0 -0
  22. amsdal/cloud/services/actions/delete_basic_auth.cpython-312-darwin.so +0 -0
  23. amsdal/cloud/services/actions/delete_dependency.cpython-312-darwin.so +0 -0
  24. amsdal/cloud/services/actions/delete_env.cpython-312-darwin.so +0 -0
  25. amsdal/cloud/services/actions/delete_secret.cpython-312-darwin.so +0 -0
  26. amsdal/cloud/services/actions/destroy_deploy.cpython-312-darwin.so +0 -0
  27. amsdal/cloud/services/actions/expose_db.cpython-312-darwin.so +0 -0
  28. amsdal/cloud/services/actions/get_basic_auth_credentials.cpython-312-darwin.so +0 -0
  29. amsdal/cloud/services/actions/get_monitoring_info.cpython-312-darwin.so +0 -0
  30. amsdal/cloud/services/actions/list_dependencies.cpython-312-darwin.so +0 -0
  31. amsdal/cloud/services/actions/list_deploys.cpython-312-darwin.so +0 -0
  32. amsdal/cloud/services/actions/list_envs.cpython-312-darwin.so +0 -0
  33. amsdal/cloud/services/actions/list_secrets.cpython-312-darwin.so +0 -0
  34. amsdal/cloud/services/actions/manager.cpython-312-darwin.so +0 -0
  35. amsdal/cloud/services/actions/signup_action.cpython-312-darwin.so +0 -0
  36. amsdal/cloud/services/actions/update_deploy.cpython-312-darwin.so +0 -0
  37. amsdal/cloud/services/auth/__init__.cpython-312-darwin.so +0 -0
  38. amsdal/cloud/services/auth/base.cpython-312-darwin.so +0 -0
  39. amsdal/cloud/services/auth/credentials.cpython-312-darwin.so +0 -0
  40. amsdal/cloud/services/auth/manager.cpython-312-darwin.so +0 -0
  41. amsdal/cloud/services/auth/signup_service.cpython-312-darwin.so +0 -0
  42. amsdal/cloud/services/auth/token.cpython-312-darwin.so +0 -0
  43. amsdal/configs/main.pyi +1 -2
  44. amsdal/contrib/__init__.cpython-312-darwin.so +0 -0
  45. amsdal/contrib/auth/lifecycle/consumer.py +1 -1
  46. amsdal/contrib/auth/lifecycle/consumer.pyi +3 -0
  47. amsdal/contrib/frontend_configs/conversion/convert.py +12 -2
  48. amsdal/fixtures/__init__.cpython-312-darwin.so +0 -0
  49. amsdal/fixtures/manager.cpython-312-darwin.so +0 -0
  50. amsdal/fixtures/utils.cpython-312-darwin.so +0 -0
  51. amsdal/manager.cpython-312-darwin.so +0 -0
  52. amsdal/manager.pyi +5 -0
  53. amsdal/mixins/__init__.cpython-312-darwin.so +0 -0
  54. amsdal/mixins/class_versions_mixin.cpython-312-darwin.so +0 -0
  55. amsdal/models/types/object.py +3 -3
  56. amsdal/schemas/interfaces.pyi +1 -1
  57. amsdal/schemas/manager.cpython-312-darwin.so +0 -0
  58. amsdal/schemas/utils.pyi +2 -2
  59. amsdal/services/__init__.cpython-312-darwin.so +0 -0
  60. amsdal/services/transaction_execution.cpython-312-darwin.so +0 -0
  61. amsdal/utils/rollback/__init__.pyi +6 -0
  62. {amsdal-0.5.0.dist-info → amsdal-0.5.1.dist-info}/METADATA +1 -1
  63. {amsdal-0.5.0.dist-info → amsdal-0.5.1.dist-info}/RECORD +66 -65
  64. {amsdal-0.5.0.dist-info → amsdal-0.5.1.dist-info}/WHEEL +1 -1
  65. {amsdal-0.5.0.dist-info → amsdal-0.5.1.dist-info}/licenses/LICENSE.txt +0 -0
  66. {amsdal-0.5.0.dist-info → amsdal-0.5.1.dist-info}/top_level.txt +0 -0
amsdal/__about__.py CHANGED
@@ -1,4 +1,4 @@
1
1
  # SPDX-FileCopyrightText: 2023-present
2
2
  #
3
3
  # SPDX-License-Identifier: AMSDAL End User License Agreement
4
- __version__ = '0.5.0'
4
+ __version__ = '0.5.1'
@@ -6,7 +6,7 @@ class Migration(migrations.Migration):
6
6
  operations: list[migrations.Operation] = [
7
7
  migrations.CreateClass(
8
8
  module_type=ModuleType.TYPE,
9
- class_name="Object",
9
+ class_name='Object',
10
10
  new_schema={
11
11
  "title": "Object",
12
12
  "required": ["title", "type", "module_type"],
@@ -39,7 +39,10 @@ class Migration(migrations.Migration):
39
39
  "module_type": {"type": "string", "title": "Module Type"},
40
40
  "properties": {
41
41
  "type": "dictionary",
42
- "items": {"key": {"type": "string"}, "value": {"type": "ClassProperty"}},
42
+ "items": {
43
+ "key": {"type": "string"},
44
+ "value": {"type": "ClassProperty", "title": "ClassProperty"},
45
+ },
43
46
  "title": "Properties",
44
47
  },
45
48
  "required": {"type": "array", "items": {"type": "string"}, "title": "Required"},
@@ -55,106 +58,4 @@ class Migration(migrations.Migration):
55
58
  },
56
59
  },
57
60
  ),
58
- migrations.CreateClass(
59
- module_type=ModuleType.CORE,
60
- class_name="File",
61
- new_schema={
62
- "title": "File",
63
- "required": ["filename", "data"],
64
- "properties": {
65
- "filename": {"type": "string", "title": "Filename"},
66
- "data": {"type": "binary", "title": "Data"},
67
- "size": {"type": "number", "title": "Size"},
68
- },
69
- "custom_code": 'import base64\nfrom pathlib import Path\nfrom typing import BinaryIO\n\nfrom pydantic import field_validator\n\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 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 data = file_or_path.read_bytes()\n filename = file_or_path.name\n else:\n file_or_path.seek(0)\n data = file_or_path.read()\n filename = Path(file_or_path.name).name\n return cls(data=data, filename=filename)\n\n@field_validator(\'data\')\n@classmethod\ndef data_base64_decode(cls, v: bytes) -> bytes:\n """\n Decodes a base64-encoded byte string if it is base64-encoded.\n\n This method checks if the provided byte string is base64-encoded and decodes it if true.\n If the byte string is not base64-encoded, it returns the original byte string.\n\n Args:\n cls: The class this method belongs to.\n v (bytes): The byte string to be checked and potentially decoded.\n\n Returns:\n bytes: The decoded byte string if it was base64-encoded, otherwise the original byte string.\n """\n is_base64: bool = False\n try:\n is_base64 = base64.b64encode(base64.b64decode(v)) == v\n except Exception:\n ...\n if is_base64:\n return base64.b64decode(v)\n return v\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\nasync def apre_create(self) -> None:\n """\n Prepares the object for creation by setting its size attribute.\n\n This method calculates the size of the object\'s data and assigns it to the size attribute.\n If the data is None, it defaults to an empty byte string.\n\n Args:\n None\n """\n self.size = len(self.data or b\'\')\n\nasync def apre_update(self) -> None:\n """\n Prepares the object for update by setting its size attribute.\n\n This method calculates the size of the object\'s data and assigns it to the size attribute.\n If the data is None, it defaults to an empty byte string.\n\n Args:\n None\n """\n self.size = len(self.data or b\'\')\n\ndef __repr__(self) -> str:\n return f\'File<{self.filename}>({self.size or len(self.data) or 0} bytes)\'\n\ndef __str__(self) -> str:\n return repr(self)\n\ndef pre_create(self) -> None:\n """\n Prepares the object for creation by setting its size attribute.\n\n This method calculates the size of the object\'s data and assigns it to the size attribute.\n If the data is None, it defaults to an empty byte string.\n\n Args:\n None\n """\n self.size = len(self.data or b\'\')\n\ndef pre_update(self) -> None:\n """\n Prepares the object for update by setting its size attribute.\n\n This method calculates the size of the object\'s data and assigns it to the size attribute.\n If the data is None, it defaults to an empty byte string.\n\n Args:\n None\n """\n self.size = len(self.data or b\'\')\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 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(self.data)\n else:\n file_or_path.write(self.data)\n file_or_path.seek(0)',
70
- "storage_metadata": {
71
- "table_name": "File",
72
- "db_fields": {},
73
- "primary_key": ["partition_key"],
74
- "foreign_keys": {},
75
- },
76
- },
77
- ),
78
- migrations.CreateClass(
79
- module_type=ModuleType.CORE,
80
- class_name="Fixture",
81
- new_schema={
82
- "title": "Fixture",
83
- "required": ["external_id", "data"],
84
- "properties": {
85
- "class_name": {"type": "string", "title": "Class Name"},
86
- "order": {"type": "number", "title": "Order"},
87
- "external_id": {"type": "string", "title": "External ID"},
88
- "data": {
89
- "type": "dictionary",
90
- "items": {"key": {"type": "string"}, "value": {"type": "anything"}},
91
- "title": "Data",
92
- },
93
- },
94
- "custom_code": "from typing import Any\n\nfrom amsdal_models.builder.validators.dict_validators import validate_non_empty_keys\nfrom pydantic.functional_validators import field_validator\n\n\n@field_validator('data')\n@classmethod\ndef _non_empty_keys_data(cls: type, value: Any) -> Any:\n return validate_non_empty_keys(value)",
95
- "storage_metadata": {
96
- "table_name": "Fixture",
97
- "db_fields": {},
98
- "primary_key": ["partition_key"],
99
- "unique": [["external_id"]],
100
- "foreign_keys": {},
101
- },
102
- },
103
- ),
104
- migrations.CreateClass(
105
- module_type=ModuleType.CORE,
106
- class_name="Option",
107
- new_schema={
108
- "title": "Option",
109
- "required": ["key", "value"],
110
- "properties": {
111
- "key": {"type": "string", "title": "Key"},
112
- "value": {"type": "string", "title": "Value Type"},
113
- },
114
- "meta_class": "TypeMeta",
115
- "storage_metadata": {"table_name": "Option", "db_fields": {}, "foreign_keys": {}},
116
- },
117
- ),
118
- migrations.CreateClass(
119
- module_type=ModuleType.CORE,
120
- class_name="StorageMetadata",
121
- new_schema={
122
- "title": "StorageMetadata",
123
- "properties": {
124
- "table_name": {"type": "string", "title": "Table name"},
125
- "db_fields": {
126
- "type": "dictionary",
127
- "items": {"key": {"type": "string"}, "value": {"type": "array"}},
128
- "title": "Database fields",
129
- },
130
- "primary_key": {"type": "array", "items": {"type": "string"}, "title": "Primary key fields"},
131
- "indexed": {
132
- "type": "array",
133
- "items": {"type": "array", "items": {"type": "string"}},
134
- "title": "Indexed",
135
- },
136
- "unique": {
137
- "type": "array",
138
- "items": {"type": "array", "items": {"type": "string"}},
139
- "title": "Unique Fields",
140
- },
141
- },
142
- "meta_class": "TypeMeta",
143
- "storage_metadata": {"table_name": "StorageMetadata", "db_fields": {}, "foreign_keys": {}},
144
- },
145
- ),
146
- migrations.CreateClass(
147
- module_type=ModuleType.CORE,
148
- class_name="Validator",
149
- new_schema={
150
- "title": "Validator",
151
- "required": ["name", "data"],
152
- "properties": {
153
- "name": {"type": "string", "title": "Validator Name"},
154
- "data": {"type": "anything", "title": "Validator Data"},
155
- },
156
- "meta_class": "TypeMeta",
157
- "storage_metadata": {"table_name": "Validator", "db_fields": {}, "foreign_keys": {}},
158
- },
159
- ),
160
61
  ]
@@ -0,0 +1,109 @@
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.CORE,
9
+ class_name="File",
10
+ new_schema={
11
+ "title": "File",
12
+ "required": ["filename", "data"],
13
+ "properties": {
14
+ "filename": {"type": "string", "title": "Filename"},
15
+ "data": {"type": "binary", "title": "Data"},
16
+ "size": {"type": "number", "title": "Size"},
17
+ },
18
+ "custom_code": 'import base64\nfrom pathlib import Path\nfrom typing import BinaryIO\n\nfrom pydantic import field_validator\n\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 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 data = file_or_path.read_bytes()\n filename = file_or_path.name\n else:\n file_or_path.seek(0)\n data = file_or_path.read()\n filename = Path(file_or_path.name).name\n return cls(data=data, filename=filename)\n\n@field_validator(\'data\')\n@classmethod\ndef data_base64_decode(cls, v: bytes) -> bytes:\n """\n Decodes a base64-encoded byte string if it is base64-encoded.\n\n This method checks if the provided byte string is base64-encoded and decodes it if true.\n If the byte string is not base64-encoded, it returns the original byte string.\n\n Args:\n cls: The class this method belongs to.\n v (bytes): The byte string to be checked and potentially decoded.\n\n Returns:\n bytes: The decoded byte string if it was base64-encoded, otherwise the original byte string.\n """\n is_base64: bool = False\n try:\n is_base64 = base64.b64encode(base64.b64decode(v)) == v\n except Exception:\n ...\n if is_base64:\n return base64.b64decode(v)\n return v\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\nasync def apre_create(self) -> None:\n """\n Prepares the object for creation by setting its size attribute.\n\n This method calculates the size of the object\'s data and assigns it to the size attribute.\n If the data is None, it defaults to an empty byte string.\n\n Args:\n None\n """\n self.size = len(self.data or b\'\')\n\nasync def apre_update(self) -> None:\n """\n Prepares the object for update by setting its size attribute.\n\n This method calculates the size of the object\'s data and assigns it to the size attribute.\n If the data is None, it defaults to an empty byte string.\n\n Args:\n None\n """\n self.size = len(self.data or b\'\')\n\ndef __repr__(self) -> str:\n return f\'File<{self.filename}>({self.size or len(self.data) or 0} bytes)\'\n\ndef __str__(self) -> str:\n return repr(self)\n\ndef pre_create(self) -> None:\n """\n Prepares the object for creation by setting its size attribute.\n\n This method calculates the size of the object\'s data and assigns it to the size attribute.\n If the data is None, it defaults to an empty byte string.\n\n Args:\n None\n """\n self.size = len(self.data or b\'\')\n\ndef pre_update(self) -> None:\n """\n Prepares the object for update by setting its size attribute.\n\n This method calculates the size of the object\'s data and assigns it to the size attribute.\n If the data is None, it defaults to an empty byte string.\n\n Args:\n None\n """\n self.size = len(self.data or b\'\')\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 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(self.data)\n else:\n file_or_path.write(self.data)\n file_or_path.seek(0)',
19
+ "storage_metadata": {
20
+ "table_name": "File",
21
+ "db_fields": {},
22
+ "primary_key": ["partition_key"],
23
+ "foreign_keys": {},
24
+ },
25
+ },
26
+ ),
27
+ migrations.CreateClass(
28
+ module_type=ModuleType.CORE,
29
+ class_name="Fixture",
30
+ new_schema={
31
+ "title": "Fixture",
32
+ "required": ["external_id", "data"],
33
+ "properties": {
34
+ "class_name": {"type": "string", "title": "Class Name"},
35
+ "order": {"type": "number", "title": "Order"},
36
+ "external_id": {"type": "string", "title": "External ID"},
37
+ "data": {
38
+ "type": "dictionary",
39
+ "items": {"key": {"type": "string"}, "value": {"type": "anything"}},
40
+ "title": "Data",
41
+ },
42
+ },
43
+ "custom_code": "from typing import Any\n\nfrom amsdal_models.builder.validators.dict_validators import validate_non_empty_keys\nfrom pydantic.functional_validators import field_validator\n\n\n@field_validator('data')\n@classmethod\ndef _non_empty_keys_data(cls: type, value: Any) -> Any:\n return validate_non_empty_keys(value)",
44
+ "storage_metadata": {
45
+ "table_name": "Fixture",
46
+ "db_fields": {},
47
+ "primary_key": ["partition_key"],
48
+ "unique": [["external_id"]],
49
+ "foreign_keys": {},
50
+ },
51
+ },
52
+ ),
53
+ migrations.CreateClass(
54
+ module_type=ModuleType.CORE,
55
+ class_name="Option",
56
+ new_schema={
57
+ "title": "Option",
58
+ "required": ["key", "value"],
59
+ "properties": {
60
+ "key": {"type": "string", "title": "Key"},
61
+ "value": {"type": "string", "title": "Value Type"},
62
+ },
63
+ "meta_class": "TypeMeta",
64
+ "storage_metadata": {"table_name": "Option", "db_fields": {}, "foreign_keys": {}},
65
+ },
66
+ ),
67
+ migrations.CreateClass(
68
+ module_type=ModuleType.CORE,
69
+ class_name="StorageMetadata",
70
+ new_schema={
71
+ "title": "StorageMetadata",
72
+ "properties": {
73
+ "table_name": {"type": "string", "title": "Table name"},
74
+ "db_fields": {
75
+ "type": "dictionary",
76
+ "items": {"key": {"type": "string"}, "value": {"type": "array", "items": {"type": "string"}}},
77
+ "title": "Database fields",
78
+ },
79
+ "primary_key": {"type": "array", "items": {"type": "string"}, "title": "Primary key fields"},
80
+ "indexed": {
81
+ "type": "array",
82
+ "items": {"type": "array", "items": {"type": "string"}},
83
+ "title": "Indexed",
84
+ },
85
+ "unique": {
86
+ "type": "array",
87
+ "items": {"type": "array", "items": {"type": "string"}},
88
+ "title": "Unique Fields",
89
+ },
90
+ },
91
+ "meta_class": "TypeMeta",
92
+ "storage_metadata": {"table_name": "StorageMetadata", "db_fields": {}, "foreign_keys": {}},
93
+ },
94
+ ),
95
+ migrations.CreateClass(
96
+ module_type=ModuleType.CORE,
97
+ class_name="Validator",
98
+ new_schema={
99
+ "title": "Validator",
100
+ "required": ["name", "data"],
101
+ "properties": {
102
+ "name": {"type": "string", "title": "Validator Name"},
103
+ "data": {"type": "anything", "title": "Validator Data"},
104
+ },
105
+ "meta_class": "TypeMeta",
106
+ "storage_metadata": {"table_name": "Validator", "db_fields": {}, "foreign_keys": {}},
107
+ },
108
+ ),
109
+ ]
Binary file
Binary file
Binary file
amsdal/configs/main.pyi CHANGED
@@ -130,8 +130,7 @@ class Settings(BaseSettings):
130
130
  Returns:
131
131
  Settings: The updated settings instance with the `CONFIG_PATH` attribute set.
132
132
  """
133
-
134
- base: TypeAlias
133
+ base: TypeAlias = Settings
135
134
 
136
135
  class SettingsProxy(base):
137
136
  """
@@ -116,7 +116,7 @@ class CheckAndCreateSuperUserConsumer(LifecycleConsumer):
116
116
  password=auth_settings.ADMIN_USER_PASSWORD.encode(),
117
117
  permissions=[access_all_permission],
118
118
  )
119
- await instance.asave(force_insert=True)
119
+ await instance.asave(force_insert=True) # type: ignore[misc]
120
120
  logger.info('Super user created successfully')
121
121
 
122
122
 
@@ -1,5 +1,6 @@
1
1
  from _typeshed import Incomplete
2
2
  from amsdal.contrib.auth.errors import AuthenticationError as AuthenticationError
3
+ from amsdal_data.transactions.decorators import async_transaction, transaction
3
4
  from amsdal_models.classes.model import Model
4
5
  from amsdal_utils.lifecycle.consumer import LifecycleConsumer
5
6
  from typing import Any
@@ -13,6 +14,7 @@ class CheckAndCreateSuperUserConsumer(LifecycleConsumer):
13
14
  This consumer checks if a super user exists based on the provided email and password
14
15
  in the authentication settings. If the super user does not exist, it creates one.
15
16
  """
17
+ @transaction
16
18
  def on_event(self) -> None:
17
19
  """
18
20
  Checks for the existence of a super user and creates one if necessary.
@@ -21,6 +23,7 @@ class CheckAndCreateSuperUserConsumer(LifecycleConsumer):
21
23
  in the authentication settings. If the super user does not exist, it creates one
22
24
  with the necessary permissions.
23
25
  """
26
+ @async_transaction
24
27
  async def on_event_async(self) -> None:
25
28
  """
26
29
  Checks for the existence of a super user and creates one if necessary.
@@ -274,10 +274,20 @@ def convert_to_frontend_config(value: Any, *, is_transaction: bool = False) -> d
274
274
  'controls': model_controls,
275
275
  }
276
276
 
277
- if issubclass(value, Enum):
277
+ try:
278
+ if issubclass(value, Enum):
279
+ return {
280
+ 'type': 'select',
281
+ 'options': [{'label': option.name, 'value': option.value} for option in value],
282
+ }
283
+ except TypeError:
284
+ pass
285
+
286
+ if value.__class__.__name__ == '_LiteralGenericAlias' and hasattr(value, '__origin__'):
287
+ options = get_args(value)
278
288
  return {
279
289
  'type': 'select',
280
- 'options': [{'label': option.name, 'value': option.value} for option in value],
290
+ 'options': [{'label': str(option), 'value': option} for option in options],
281
291
  }
282
292
 
283
293
  return {}
Binary file
Binary file
amsdal/manager.pyi CHANGED
@@ -5,6 +5,7 @@ from amsdal.configs.main import settings as settings
5
5
  from amsdal.errors import AmsdalAuthenticationError as AmsdalAuthenticationError, AmsdalMissingCredentialsError as AmsdalMissingCredentialsError, AmsdalRuntimeError as AmsdalRuntimeError, AmsdalSignupError as AmsdalSignupError
6
6
  from amsdal.fixtures.manager import AsyncFixturesManager as AsyncFixturesManager, FixturesManager as FixturesManager
7
7
  from amsdal.mixins.class_versions_mixin import ClassVersionsMixin as ClassVersionsMixin
8
+ from amsdal_data.transactions.decorators import async_transaction, transaction
8
9
  from amsdal_models.classes.class_manager import ClassManager
9
10
  from amsdal_utils.config.data_models.amsdal_config import AmsdalConfig as AmsdalConfig
10
11
  from amsdal_utils.utils.singleton import Singleton
@@ -69,6 +70,7 @@ class AmsdalManager(ClassVersionsMixin, metaclass=Singleton):
69
70
  Returns:
70
71
  None
71
72
  """
73
+ @transaction
72
74
  def post_setup(self) -> None:
73
75
  """
74
76
  Registers internal classes and prepares connections (creates internal tables).
@@ -98,6 +100,7 @@ class AmsdalManager(ClassVersionsMixin, metaclass=Singleton):
98
100
  Returns:
99
101
  None
100
102
  """
103
+ @transaction
101
104
  def apply_fixtures(self) -> None:
102
105
  """
103
106
  Loads and applies fixtures defined in your application.
@@ -194,6 +197,7 @@ class AsyncAmsdalManager(ClassVersionsMixin, metaclass=Singleton):
194
197
  Returns:
195
198
  None
196
199
  """
200
+ @async_transaction
197
201
  async def post_setup(self) -> None:
198
202
  """
199
203
  Registers internal classes and prepares connections (creates internal tables).
@@ -223,6 +227,7 @@ class AsyncAmsdalManager(ClassVersionsMixin, metaclass=Singleton):
223
227
  Returns:
224
228
  None
225
229
  """
230
+ @async_transaction
226
231
  async def apply_fixtures(self) -> None:
227
232
  """
228
233
  Loads and applies fixtures defined in your application.
@@ -11,9 +11,9 @@ from pydantic.functional_validators import field_validator
11
11
 
12
12
  class Object(Model):
13
13
  __module_type__: ClassVar[ModuleType] = ModuleType.TYPE
14
- title: str = Field(title='Title')
15
- type: str = Field(title='Type')
16
- module_type: str = Field(title='Module Type')
14
+ title: str = Field(title='Title', default='')
15
+ type: str = Field(title='Type', default='object')
16
+ module_type: str = Field(title='Module Type', default=ModuleType.CORE.value)
17
17
  default: Optional[Any] = Field(None, title='Default') # noqa: UP007
18
18
  properties: Optional[dict[str, Optional[Any]]] = Field(None, title='Properties') # noqa: UP007
19
19
  required: Optional[list[str]] = Field(None, title='Required') # noqa: UP007
@@ -3,7 +3,7 @@ from abc import ABC, abstractmethod
3
3
  from amsdal_utils.schemas.schema import ObjectSchema as ObjectSchema
4
4
  from typing import TypeAlias
5
5
 
6
- ModulePathType: TypeAlias
6
+ ModulePathType: TypeAlias = str
7
7
 
8
8
  class BaseSchemaLoader(ABC, metaclass=abc.ABCMeta):
9
9
  @property
amsdal/schemas/utils.pyi CHANGED
@@ -1,8 +1,8 @@
1
1
  from amsdal_utils.models.enums import ModuleType as ModuleType
2
2
  from typing import TypeAlias
3
3
 
4
- ModulePathType: TypeAlias
5
- ClassNameType: TypeAlias
4
+ ModulePathType: TypeAlias = str
5
+ ClassNameType: TypeAlias = str
6
6
 
7
7
  class ModelModuleInfo:
8
8
  _info: dict[ModuleType, dict[ClassNameType, ModulePathType]]
@@ -1,3 +1,6 @@
1
+ from amsdal_data.transactions.decorators import async_transaction, transaction
2
+
3
+ @transaction
1
4
  def rollback_to_timestamp(timestamp: float) -> None:
2
5
  """
3
6
  Rollback the data to the given timestamp
@@ -6,6 +9,7 @@ def rollback_to_timestamp(timestamp: float) -> None:
6
9
  Returns:
7
10
  None
8
11
  """
12
+ @transaction
9
13
  def rollback_transaction(transaction_id: str) -> None:
10
14
  """
11
15
  Rollback the data to the point in time before the given transaction
@@ -14,6 +18,7 @@ def rollback_transaction(transaction_id: str) -> None:
14
18
  Returns:
15
19
  None
16
20
  """
21
+ @async_transaction
17
22
  async def async_rollback_to_timestamp(timestamp: float) -> None:
18
23
  """
19
24
  Rollback the data to the given timestamp
@@ -22,6 +27,7 @@ async def async_rollback_to_timestamp(timestamp: float) -> None:
22
27
  Returns:
23
28
  None
24
29
  """
30
+ @async_transaction
25
31
  async def async_rollback_transaction(transaction_id: str) -> None:
26
32
  """
27
33
  Rollback the data to the point in time before the given transaction
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: amsdal
3
- Version: 0.5.0
3
+ Version: 0.5.1
4
4
  Summary: AMSDAL
5
5
  License: AMSDAL End User License Agreement
6
6
 
@@ -1,10 +1,10 @@
1
- amsdal/manager.pyi,sha256=AtMObu3V45-TXD21yFqANVRVDvQ3uyTXz-e2CsaDEJg,9307
1
+ amsdal/manager.pyi,sha256=aRX-FO3KIozgaoJg3_pAVJjPAW9PL8hMiYvaTJ_kp5E,9466
2
2
  amsdal/__init__.pyi,sha256=4FIq7rQKQXoDNIzrDxtklKrbPcE2qqKU8W0jp8Mld6Q,741
3
3
  amsdal/__init__.py,sha256=eg_kMNcJSTvb8Q32AstCARJURBhrlIVmE12Dgq0nOUk,742
4
4
  amsdal/Third-Party Materials - AMSDAL Dependencies - License Notices.md,sha256=3YRsqickIvSW7EmjlC-yk5h-YW_GMzAz7wsT9ZPIiaM,74780
5
- amsdal/__about__.py,sha256=TbPNaTH0RD4R7lbHg7ldzYno1o55MHD6GiUpoGifv0c,124
5
+ amsdal/__about__.py,sha256=8T_uBHVYswzzhu1l92_ZGiaOtk_9NzrS_TQ0P-bqbf8,124
6
6
  amsdal/errors.pyi,sha256=mcuGsQMWaIUmC9GJDIkf99dQMMsCfBy6OI_UB3NSNmc,597
7
- amsdal/manager.cpython-312-darwin.so,sha256=bMtiAPvS0CeMRMoQJLGBrFLBY9S4NhxT33fhcIZG26g,501968
7
+ amsdal/manager.cpython-312-darwin.so,sha256=wCrj7Xl1kd-Y9N4hFf5eYCwreZyxMRO7Ye1It5iEdHA,501968
8
8
  amsdal/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
9
9
  amsdal/errors.py,sha256=pZZKIklaDkh8jdFSAfX81TbiylvbaE70nttRjTcTSBk,616
10
10
  amsdal/__about__.pyi,sha256=Y25n44pyE3vp92MiABKrcK3IWRyQ1JG1rZ4Ufqy2nC0,17
@@ -13,8 +13,8 @@ amsdal/context/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
13
13
  amsdal/context/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
14
14
  amsdal/context/manager.py,sha256=CKGY75P2y-TCnZvK5p9NJsDgHo8KXHSE0Eg5AGRjnfk,1850
15
15
  amsdal/mixins/class_versions_mixin.pyi,sha256=oSXjkTsN35d-3YgCckclhk7xRkljKHLYtN8a8gJgj2o,548
16
- amsdal/mixins/__init__.cpython-312-darwin.so,sha256=-OrQwUlGboUDSukzJs0N758nXrO7FU6VKLNqvMnuOx0,120720
17
- amsdal/mixins/class_versions_mixin.cpython-312-darwin.so,sha256=Nxxb1TUrdC2SAU0KK9EGr8K-2R12S2xLvZfvdEgu6d8,180480
16
+ amsdal/mixins/__init__.cpython-312-darwin.so,sha256=Irm9i3aDNS3xe1eBctYDc7E6gZHLLQgKX9oSUx-vK_s,120720
17
+ amsdal/mixins/class_versions_mixin.cpython-312-darwin.so,sha256=cdzM7l3gIcTK8QhYasEqoHT3Ykla4puje5Ijx4gOBmg,180480
18
18
  amsdal/mixins/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
19
19
  amsdal/utils/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
20
20
  amsdal/utils/contrib_paths.py,sha256=9BpNegbPofuvaQ4bE4E5cO4IV415ZZJkTqSLHUruJ3k,787
@@ -24,13 +24,13 @@ amsdal/utils/tests/enums.py,sha256=DoVtMzvfePjfLiAVctPDehdTTHawDbWrQP3yg46Bx6k,3
24
24
  amsdal/utils/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
25
25
  amsdal/utils/tests/factories.py,sha256=SAnMjkDHg2dXgnDfxQGTvZX5MLuRmdskq7Cjbf6swVk,1926
26
26
  amsdal/utils/tests/helpers.py,sha256=THD7IaDmpIquolh82b1IHUbVpcyQSk2GvwnZEEtQpPE,17383
27
- amsdal/utils/rollback/__init__.pyi,sha256=ABDuUBt3_uTE600GP1Z_NAMxySPbLs9tIyTNNeu4lbU,962
27
+ amsdal/utils/rollback/__init__.pyi,sha256=oA1_VJjK3k13nUp8H1wXjJs6LrlqEtAethPRQ7P8mLc,1106
28
28
  amsdal/utils/rollback/__init__.py,sha256=NBIvidqj0nKRa30mWon5onpHBPQidb0DFJGcZbkKrY8,16832
29
29
  amsdal/models/__init__.pyi,sha256=14Jaejs35pftAZ8z3rNWKV6csTrBZPPKMNKrrIx_rTs,825
30
30
  amsdal/models/__init__.py,sha256=bwURV9lpt8a6S8WvLgMDk_haor9FUQa-o29StSdTMCs,757
31
31
  amsdal/models/types/object.pyi,sha256=eK0S3jDDZGHmsvdbQKdLFVG3FScAUx6eOM9HMjO5TLw,532
32
32
  amsdal/models/types/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
33
- amsdal/models/types/object.py,sha256=KRz8LoK5uxq99GKr_i25txgPZ_mvqwYAPNTsLpO46dI,1168
33
+ amsdal/models/types/object.py,sha256=cFbuXw_YVDmWdBIp49snKcTV2BmBag8LjinkLfV0_fA,1229
34
34
  amsdal/models/types/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
35
35
  amsdal/models/core/validator.py,sha256=Eqn2XvJV8Kn6NT2HnIGIkAV2ubmSen3rx5Yaeiuapak,367
36
36
  amsdal/models/core/fixture.py,sha256=V4SS1rAYD6mtRjwZ5tEaGgZL3fgRuP2KJ4x7R3AkBWo,1000
@@ -48,7 +48,7 @@ amsdal/models/core/option.pyi,sha256=kkZou2vvjYHRBlF0twFfAkHF3Y_vf95YWEYhcAC5_5s
48
48
  amsdal/models/core/class_object.pyi,sha256=PIGUuLKqSnbVCn-pUKweJJVEYcYaeKz7ei7ZVnmZM1E,841
49
49
  amsdal/models/core/class_object.py,sha256=Y5sdatrNZK1jkMImyeRFTxeUonuzJaDCKZzULZvJIHw,1487
50
50
  amsdal/models/core/file.pyi,sha256=RZTKCfjQ4fXtwz3E1xtgDsViaB_IwGtX2icDQtw-_kk,3460
51
- amsdal/contrib/__init__.cpython-312-darwin.so,sha256=GTzJE3YjfZAL335ELI9UElJ3gEmZOtpZD7lw9F7tju8,120736
51
+ amsdal/contrib/__init__.cpython-312-darwin.so,sha256=IUyEgi0-5cXcjkhUBxOIXYzESpalguy1WQ5gYtNXAs8,120736
52
52
  amsdal/contrib/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
53
53
  amsdal/contrib/app_config.pyi,sha256=j3MYfBcn9MzhTagEczGWfVH9N5jrfiKmUhxZMoakojw,149
54
54
  amsdal/contrib/app_config.py,sha256=RT3RAEE49XtzuFTXYNVuaqU9V4YIl0ZWZijtXgV-SC4,131
@@ -65,8 +65,8 @@ amsdal/contrib/auth/decorators/__init__.pyi,sha256=1DKnpx3dKyeuHyKcnXn0TzVqQxT8q
65
65
  amsdal/contrib/auth/decorators/__init__.py,sha256=oBKJQtgWnWiPOjol9-KejJPuQJmfsjj14UVB_4qB4kw,1088
66
66
  amsdal/contrib/auth/lifecycle/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
67
67
  amsdal/contrib/auth/lifecycle/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
68
- amsdal/contrib/auth/lifecycle/consumer.pyi,sha256=FZ6lzBZ-UdBkiI1kKj4g8QwIQz1Vg4gFrgU8shcbDck,5214
69
- amsdal/contrib/auth/lifecycle/consumer.py,sha256=eOfYj0j8PLBF45E8iv3ur2KupQXINmiUziGsuAVuk4Y,16862
68
+ amsdal/contrib/auth/lifecycle/consumer.pyi,sha256=xvcZIfpCE-HmUm_KwyVvkueiipl90teZqdlszmappD4,5333
69
+ amsdal/contrib/auth/lifecycle/consumer.py,sha256=N2JJuS13FC4rOHsHuHgMKU0Kef9-S31RUiP3QHXjqIQ,16884
70
70
  amsdal/contrib/auth/models/user.py,sha256=jc8XbgfYtbuktu1Qz0DHLCNGHzrK2pyKrtdH8m7VMzk,3771
71
71
  amsdal/contrib/auth/models/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
72
72
  amsdal/contrib/auth/models/permission.py,sha256=KOy91A6PEbftwqfXlp91JZZM6YfAxG6B5-M3FfC5Nb0,675
@@ -114,18 +114,18 @@ amsdal/contrib/frontend_configs/models/frontend_config_skip_none_base.py,sha256=
114
114
  amsdal/contrib/frontend_configs/models/frontend_activator_config.py,sha256=40mXb53uk4Rg4F5uMgCFHuDJTjQA9b_qO5zUtJHTPKk,1023
115
115
  amsdal/contrib/frontend_configs/models/frontend_config_validator.py,sha256=TckgaoRn3hU04rihXQMTAt8wNFoZo8dzHTR0RVyPytY,1317
116
116
  amsdal/contrib/frontend_configs/conversion/__init__.pyi,sha256=Gbz6P3jhpqK6hLcGxi6l0sI_MNrb8_JNLLD4YVOjkFY,162
117
- amsdal/contrib/frontend_configs/conversion/convert.py,sha256=WOosan5-pDMQzAvwMPfczzY077plPeJIAtPS6eDl9rw,8854
117
+ amsdal/contrib/frontend_configs/conversion/convert.py,sha256=K74HhOn7TFUMzn7Yl1nlqguVNQzv2khOw7wNjvXkjzo,9190
118
118
  amsdal/contrib/frontend_configs/conversion/convert.pyi,sha256=cmJVdWBIobg3a5QEZUN1itITb5vPX9DoWqPzZCPN28M,913
119
119
  amsdal/contrib/frontend_configs/conversion/__init__.py,sha256=4Kkv5xgGvqky3szx08bBfbbxrc6TeFDSnosGimSoNcI,139
120
120
  amsdal/schemas/interfaces.py,sha256=ECDbWTljhGXYVbbSLjH0ko-rIWgp4LttuIr-Amte2bA,672
121
121
  amsdal/schemas/manager.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
122
122
  amsdal/schemas/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
123
123
  amsdal/schemas/repository.pyi,sha256=e6YUXO248WmhWkkXWt828JrFzIJ9alTPqjXqbktjeWw,1443
124
- amsdal/schemas/interfaces.pyi,sha256=CSYdZsjj6j7m8YvnQ-iFlBV4CYrGTs_Yvan1VMpm_Ag,719
124
+ amsdal/schemas/interfaces.pyi,sha256=jUXLEKIa_af9Qrv9a4UvfRmsUV78N921i4dDXKHPaQk,725
125
125
  amsdal/schemas/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
126
- amsdal/schemas/utils.pyi,sha256=ajyhB6MMxiiRDeCbVjp6wsbLr8s5a0d_rbXMVX4D50Y,425
126
+ amsdal/schemas/utils.pyi,sha256=UbeISOxetojP6HlzhiJWeaAVyYZUrnGAS5niTQ0m6n0,437
127
127
  amsdal/schemas/utils.py,sha256=t8k7QYYR6SsCPpBhp7s585eSYKVIF895EKRMK1w1y1Q,492
128
- amsdal/schemas/manager.cpython-312-darwin.so,sha256=eN2kp9t7RbNxEwTUYwPq4NB5dKTEgwjuvVlfoirKWqM,120736
128
+ amsdal/schemas/manager.cpython-312-darwin.so,sha256=3xaX17gHiih6IqaaqdGTBtTGjn6JoM1pgdeK008-f4c,120736
129
129
  amsdal/schemas/repository.py,sha256=PbskgDr8JMabQm2uf8Kfj5bBSPlPkx4cDGXn-jfIsPM,3249
130
130
  amsdal/schemas/manager.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
131
131
  amsdal/schemas/types/array/model.json,sha256=I9Z7r691yd8i-Ndy8Cf3rFGg22mnLxg_weeVU2kRtkY,117
@@ -161,104 +161,105 @@ amsdal/schemas/mixins/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3h
161
161
  amsdal/schemas/mixins/check_dependencies_mixin.py,sha256=M3Wi1g4F9pbEEpOUlXUhCnvh5CyObhRlij0AecTTbJc,5082
162
162
  amsdal/queryset/__init__.pyi,sha256=U8YdXkB_drnE4aX54kg7B8my9fyPg-pwsVct6QfM5Bc,545
163
163
  amsdal/queryset/__init__.py,sha256=CzNaFx6yHvePtd3JY1ZGF3QLfE-e_ll5iSnaCVWdKHI,676
164
- amsdal/__migrations__/0000_initial.py,sha256=DYlAB97mdkwFQVzQCMX8QFJ53XLraRaacv8e1IMlf5w,1874
165
- amsdal/__migrations__/0001_create_class_file.py,sha256=aM2cboBX_dj20GpEUluklsqvu2jUf8AIEhVDgrrPn-A,12794
164
+ amsdal/__migrations__/0002_create_class_file.py,sha256=Aq72H968urji4D5aEMCsEol6gaXp1SGylmhua-hxBec,9360
165
+ amsdal/__migrations__/0000_initial.py,sha256=USn8u2uhHy9yFtONsTec-LMdCl3f7GQ_AgSL-yQZmO4,1874
166
+ amsdal/__migrations__/0001_create_class_file.py,sha256=ujBYnCvk-UhswWlSIsiQqMbgSrXBsdWDFNaFLlc0Trc,3762
166
167
  amsdal/transactions/__init__.pyi,sha256=tK1CNKSx7gEFephi0mw04j-xxl1Z2af3iFbykFqov6I,340
167
168
  amsdal/transactions/__init__.py,sha256=XQF1Ipr2Ao0TDhyNlZPAF8TNkpl75PalOZrzRVzQn1g,429
168
169
  amsdal/configs/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
169
170
  amsdal/configs/constants.pyi,sha256=ZoWj8V0YkrPaY0zBsXCenwuWMQIQ0K6hnzr4We9CRl0,683
170
171
  amsdal/configs/constants.py,sha256=faghdS6r3on1WKrp782WmgONd1fMf4X73LJzAwMO1po,969
171
172
  amsdal/configs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
172
- amsdal/configs/main.pyi,sha256=JjjrXf4ZPMG--f9Lw9pKdQr7NoOF9qrF_oUGDDNt8QA,6836
173
+ amsdal/configs/main.pyi,sha256=XpcltkUCEECvRbiQ6P-j66zjU_g8lWLbCPfHoHhRMyw,6846
173
174
  amsdal/configs/main.py,sha256=lRO_iTMlmlosTAHZrVg3iXZVuKj45lEb5LrPln3wixM,9567
174
- amsdal/cloud/__init__.cpython-312-darwin.so,sha256=xue8LrAQ1pz_pE7P351fpjQJE1ww4b6v1fABxR1cJtk,120720
175
+ amsdal/cloud/__init__.cpython-312-darwin.so,sha256=S25EtUni-ZjxiPAT5D8NToRKuU8nN_gqtKx8fGLciUE,120720
175
176
  amsdal/cloud/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
176
177
  amsdal/cloud/constants.pyi,sha256=0qWxDqjQkETwUtgco5kV83fPHhQ4jRdJe_YPPNTnSIY,327
177
178
  amsdal/cloud/client.pyi,sha256=3VjPRtJrbUU29u_wswETrMorN0iUb4GFAXmMc73bUf4,2247
178
- amsdal/cloud/constants.cpython-312-darwin.so,sha256=JdcggOZjdX8McEeWgo8Kec-wSgNE0hCeDVOlBIhdyuw,158688
179
- amsdal/cloud/enums.cpython-312-darwin.so,sha256=RCPD-zjoDU-3poGbaV_nho_yQshGjPNq1TNH5WTUzDI,158128
180
- amsdal/cloud/client.cpython-312-darwin.so,sha256=DDJ5k8LiH2LucYDBbiDlu0GWm-lylKDBMccKKTuejyg,216144
179
+ amsdal/cloud/constants.cpython-312-darwin.so,sha256=o0XmeXmYDpbWbpv-iCojzgMIfWw9mn_qa8EbrpEmL2E,158688
180
+ amsdal/cloud/enums.cpython-312-darwin.so,sha256=GgI-ETpMYwMm2wWB7sA-MpLZQQcy61X8jQ_mv-BSXJI,158128
181
+ amsdal/cloud/client.cpython-312-darwin.so,sha256=qChMRbHoSc_y_IXOkEF2S6PtvVg7KrMWpuSZedLn1DQ,216144
181
182
  amsdal/cloud/enums.pyi,sha256=mX5O1FPc3aNnN108aOJT66Nn9KlcyrRTj9B23sFdDfw,1757
182
- amsdal/cloud/models/__init__.cpython-312-darwin.so,sha256=W_Qf-tB--rlhfjEHUl5RBhd6N73ArajQnsqPkq-tSSk,120752
183
+ amsdal/cloud/models/__init__.cpython-312-darwin.so,sha256=UYE7REwnhle1NzxP_KRDPnAm-jjJEI_2DOs7Reb30F4,120752
183
184
  amsdal/cloud/models/base.pyi,sha256=avwAj4uS4NHrXvmSKBxokFKFWSaBPXtJPl1Ig1CD6sg,7727
184
185
  amsdal/cloud/models/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
185
- amsdal/cloud/models/base.cpython-312-darwin.so,sha256=TF6NFQnl_j5HB7gfyayOEeqzN2dNnC_cyHW3zFLDGDE,195328
186
- amsdal/cloud/services/__init__.cpython-312-darwin.so,sha256=J1TiYdG6dypaD2AN7-jS7jDuLMdsleajIeDEcO8b3nY,120768
186
+ amsdal/cloud/models/base.cpython-312-darwin.so,sha256=eWD_n0_ymD8WiOv98GpQt0R7izRKxG8QfLzb4Bl9Q04,195328
187
+ amsdal/cloud/services/__init__.cpython-312-darwin.so,sha256=Kw-msVUpw2KVsxclULbJJY8ARCwl2b6mHuJxYVCS5kc,120768
187
188
  amsdal/cloud/services/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
188
- amsdal/cloud/services/auth/__init__.cpython-312-darwin.so,sha256=VR8pNL0drX5m_FcqewcMXrRh3J7c8c2zpuhGrrn6Yi8,120784
189
+ amsdal/cloud/services/auth/__init__.cpython-312-darwin.so,sha256=lWnsKSxQtPvfnUYpM0bIncuT09hQl-9TMYRAdDWij-k,120784
189
190
  amsdal/cloud/services/auth/base.pyi,sha256=oj_tgwWhf02g-FzCLcNOEZjYDxfcrrDssING4jsUMb8,167
190
191
  amsdal/cloud/services/auth/manager.pyi,sha256=AhKllHgraztP3JSKta9MmQjTNRAbQbwqZg2EpQZSwhI,1243
191
192
  amsdal/cloud/services/auth/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
192
- amsdal/cloud/services/auth/credentials.cpython-312-darwin.so,sha256=VTYMQDFGmaSlXzpg4RrMUZKX0RKHpW2zlX4sKe041p4,253160
193
+ amsdal/cloud/services/auth/credentials.cpython-312-darwin.so,sha256=GjFEWMWio1FjHLrrOUd0IS_XZvc3vdenMM16XzukHVI,253160
193
194
  amsdal/cloud/services/auth/signup_service.pyi,sha256=SfSN1tLIwrzGi9JbMgoLuKKH1u5uoh_MOFJ4n_NHcBY,1145
194
- amsdal/cloud/services/auth/signup_service.cpython-312-darwin.so,sha256=63t1uer2NRT8gEZ4qEMr74K3MqMZix1xJSN2SxqkQRE,216232
195
+ amsdal/cloud/services/auth/signup_service.cpython-312-darwin.so,sha256=qjA_gPSr76ITL3zP_meTNwmHS6I42BP1sK7r8Av_en8,216232
195
196
  amsdal/cloud/services/auth/token.pyi,sha256=v9QDleIytAZGlYHHaO-W1fTr5d2OLGWsh5g6HDeuk90,1042
196
- amsdal/cloud/services/auth/token.cpython-312-darwin.so,sha256=sJNHXdon9LBOxOSVsAsjxaXMup3xnkbSOXWiRcoMV3U,251648
197
- amsdal/cloud/services/auth/manager.cpython-312-darwin.so,sha256=4b2v3lTG_4VvbAfcoX4XP_IozLCCU_85l8v4GWYQpXU,214144
198
- amsdal/cloud/services/auth/base.cpython-312-darwin.so,sha256=cm7Wv9IcUlbqVWZ7A2O8bgZiWiik3VwvGNWZKOAd35M,163120
197
+ amsdal/cloud/services/auth/token.cpython-312-darwin.so,sha256=AK42yjEcwgWo_3CFU0EpeNNPB_KXCvvFxeo8S2tEqkM,251648
198
+ amsdal/cloud/services/auth/manager.cpython-312-darwin.so,sha256=G5yHczagK6kipAW9cXiGJJVcoI4gq10LCiu2l29gW4Q,214144
199
+ amsdal/cloud/services/auth/base.cpython-312-darwin.so,sha256=DjyJojlwoKGYb1jm7PuMqb4gHlqXiw_BAb_UzgcHsFE,163120
199
200
  amsdal/cloud/services/auth/credentials.pyi,sha256=ghp3r8rDq5l5xxx7UKFkCASyQJbWChkF2PQDJrQmeW4,1417
200
- amsdal/cloud/services/actions/delete_env.cpython-312-darwin.so,sha256=6kzXC8RL8K-TZstjeb8gDx2jzlzvagD7RqWKilJzsfA,180840
201
- amsdal/cloud/services/actions/__init__.cpython-312-darwin.so,sha256=89LwcB9JBwPeFTGFdSnH8Kugz6GdFM5kIH44oBRdVXM,120800
201
+ amsdal/cloud/services/actions/delete_env.cpython-312-darwin.so,sha256=JJJQx7lDsvWXw70EAjgMh8kq1LBgp3RebhpUNX0ikDA,180840
202
+ amsdal/cloud/services/actions/__init__.cpython-312-darwin.so,sha256=XWbQk7j7gyot0LKC2GFRDhedyDm5xUUm7Vuwk98JvB8,120800
202
203
  amsdal/cloud/services/actions/list_envs.pyi,sha256=7PylFRd1Jb6nkTt8q8iy27rLj-Q5qcwfqW02_OlfDZs,878
203
204
  amsdal/cloud/services/actions/base.pyi,sha256=J98igdu3E9-mled_kbxerja4DTLM0OAW8cHtsVOQ_fc,5880
204
205
  amsdal/cloud/services/actions/manager.pyi,sha256=Tal5u1nMhi7MeuJ9lBIPYPLgKoIB6DUXPU2AokrusHI,15441
205
206
  amsdal/cloud/services/actions/delete_allowlist_ip.pyi,sha256=W5zVq7YKL_OVigZl58bqau3rvAzsLdItAZaqDO1HGJw,933
206
207
  amsdal/cloud/services/actions/add_basic_auth.pyi,sha256=4tyTci_k_xlJrkBd71sY0ivRr8alo3Bq0KCkjIfacu4,1106
207
208
  amsdal/cloud/services/actions/list_secrets.pyi,sha256=vF-EikAy7WHdkvkGikD_oDFDIgE1GEr8nxAQKYAs9rY,1079
208
- amsdal/cloud/services/actions/delete_secret.cpython-312-darwin.so,sha256=4eWRbnJ03RviMlys-s2Ot9vZfPJVEmwlIuhHJUlwM50,164312
209
+ amsdal/cloud/services/actions/delete_secret.cpython-312-darwin.so,sha256=uHKWva8feUSGGUz1ii_ZUtEV9IMqhaT7xivukL6YYNk,164312
209
210
  amsdal/cloud/services/actions/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
210
211
  amsdal/cloud/services/actions/get_basic_auth_credentials.pyi,sha256=1FU8BtDRaGTx8fSqdhmotQK-rR7gKr4Qav_E-T_23rc,1071
211
- amsdal/cloud/services/actions/add_basic_auth.cpython-312-darwin.so,sha256=-FCWv96Jsuo_8US-Dj_MccTew4gSGKU2K-PPWRS4Wxw,197512
212
+ amsdal/cloud/services/actions/add_basic_auth.cpython-312-darwin.so,sha256=-00IGJpWzIZZWwJ5JEAUn4anQAbSac3gfr0zmRNjZvo,197512
212
213
  amsdal/cloud/services/actions/delete_secret.pyi,sha256=gZi17MivNYBIfdPU2GjoJ2I2lWiefdvLuXTcxDss1P4,953
213
214
  amsdal/cloud/services/actions/delete_env.pyi,sha256=uyBHMOp_AprbpSfv6y6QfYW5FvK1-8jb2NxK_FmuPHE,969
214
- amsdal/cloud/services/actions/delete_allowlist_ip.cpython-312-darwin.so,sha256=A0WU0CwZBu01x50LSOcKbjpcOET-Bv3U6xPN4MInnI0,180848
215
- amsdal/cloud/services/actions/add_dependency.cpython-312-darwin.so,sha256=8jaCQYuEQmg3gcmZsDLSDd-_yrDw76AOLR_PBo_JTFo,164328
216
- amsdal/cloud/services/actions/create_env.cpython-312-darwin.so,sha256=8o8EDdTDZgu39koPNRUtBjp7_Vbtklf7zA_yL-74Cys,180840
217
- amsdal/cloud/services/actions/update_deploy.cpython-312-darwin.so,sha256=UO4ljzwqQZNe93Ara7B55XXw4wA1GoNAS0_tAp6zwk8,181080
218
- amsdal/cloud/services/actions/get_monitoring_info.cpython-312-darwin.so,sha256=i6j1r0GouZzHIrB3sx6V-ybK8CcP2nMVA7D_20mCpBw,197376
215
+ amsdal/cloud/services/actions/delete_allowlist_ip.cpython-312-darwin.so,sha256=6b5zkaHJ6LiXNwUmPRYi5Z6aEdyJ5n8tTOkjQ_LBOnY,180848
216
+ amsdal/cloud/services/actions/add_dependency.cpython-312-darwin.so,sha256=sFTpcoh9lROjNeViUWkMO4enXaodE1s498a64pxL5CM,164328
217
+ amsdal/cloud/services/actions/create_env.cpython-312-darwin.so,sha256=LDcJvU5HWOdtEoWra5fg5I2ksUlcgemFWbfCSASHjGw,180840
218
+ amsdal/cloud/services/actions/update_deploy.cpython-312-darwin.so,sha256=4bGWhkLg_W_uEfH-LIMdLrZGD3GT9_GDozWlXGV_5_s,181080
219
+ amsdal/cloud/services/actions/get_monitoring_info.cpython-312-darwin.so,sha256=t-VHs0u6ELO9-g2T-ZZicm2cnowPafTyNOdBWufnHnQ,197376
219
220
  amsdal/cloud/services/actions/delete_dependency.pyi,sha256=VuT1w2qOpjR7I9mBi9tPXMXDPEeU8tG0vi9TXV82Frg,1021
220
- amsdal/cloud/services/actions/destroy_deploy.cpython-312-darwin.so,sha256=4Gty0UVhEgJQryuea2Bw8r9EfnQm3LUvonjVSjl_5_4,164168
221
- amsdal/cloud/services/actions/list_dependencies.cpython-312-darwin.so,sha256=FnQmbzhQHKz964VDQxjKcYfQnX-mRqhlbKvBfxcp9iM,197704
222
- amsdal/cloud/services/actions/list_envs.cpython-312-darwin.so,sha256=3l0sC87yVDim5O56tdjG74M5yUWv-M_GAQ_Al6ve9mQ,164384
223
- amsdal/cloud/services/actions/list_deploys.cpython-312-darwin.so,sha256=k1zbQobXtuQc7ynQiySZoEdK7epju_jRv2tvFWn6Xhc,181096
221
+ amsdal/cloud/services/actions/destroy_deploy.cpython-312-darwin.so,sha256=WmRBP1dpXSeXfP5lZOC4XQhVRi-8B7CDNQHRId5dnZM,164168
222
+ amsdal/cloud/services/actions/list_dependencies.cpython-312-darwin.so,sha256=OYpPN0HPDL8SkX0uZKdlINTTcwA04MzDv4pBWI0LSXA,197704
223
+ amsdal/cloud/services/actions/list_envs.cpython-312-darwin.so,sha256=U9MngUlEOv1uKvWKGCdTI5Bzr2CnTNg2yWshTEbai-8,164384
224
+ amsdal/cloud/services/actions/list_deploys.cpython-312-darwin.so,sha256=liuA79mHlH7iskdrqjZ8vEDQAT_z7jquHEN9FuiM1Cg,181096
224
225
  amsdal/cloud/services/actions/create_session.pyi,sha256=KUvx_vkhLQfGp_DM1ZvgszyT_G8LB28KoI1XpjNR7YY,674
225
226
  amsdal/cloud/services/actions/list_deploys.pyi,sha256=Q8da3PDPxICLP2V7L-A7p-9_a3qNKrARqgHhu0CA0nA,724
226
- amsdal/cloud/services/actions/create_deploy.cpython-312-darwin.so,sha256=bYOHazbsv-4omTcjVWmHLHWcpUlpk0w4TvG7WFn0V20,269176
227
- amsdal/cloud/services/actions/create_session.cpython-312-darwin.so,sha256=MdM6Dj9Yvq5zoQtsumybmCMqI0Ssahj7mVZsAmCq_KI,181000
227
+ amsdal/cloud/services/actions/create_deploy.cpython-312-darwin.so,sha256=MknZzr4veGINbT0_7j-YZ0SyLQ0Mc73QXRWxjtzXlG0,269176
228
+ amsdal/cloud/services/actions/create_session.cpython-312-darwin.so,sha256=BM9jZT5LIs-A9-IZdb5Ri30TLtbxYH05CR2C7gWg-jU,181000
228
229
  amsdal/cloud/services/actions/add_allowlist_ip.pyi,sha256=gB2NQVz8NcSsgXYiym2Suh1RPI8eHKIAFE13RmeTHkA,883
229
230
  amsdal/cloud/services/actions/get_monitoring_info.pyi,sha256=uvtBgWvtWf-Mq4vZq_q-q8Z8hJh5voAY61KRJQPGWFk,1045
230
231
  amsdal/cloud/services/actions/add_dependency.pyi,sha256=uVEIhvDa4GRS0Lg6TkcYdOwezKcxrzL7A_Lh8BxcAeU,837
231
- amsdal/cloud/services/actions/manager.cpython-312-darwin.so,sha256=wjer2nkoym1eppbIBr_TbevPrCu9U_-nRXxgi3DR2k8,354848
232
+ amsdal/cloud/services/actions/manager.cpython-312-darwin.so,sha256=LEvvnZvNKk9c2Jq79uDaHU8WHdmuIy2WQs5GbCcGh3g,354848
232
233
  amsdal/cloud/services/actions/signup_action.pyi,sha256=VswHjhxw2eHYqXwc---F2LpwlD7GlIuL_Ev2DmA96_4,808
233
234
  amsdal/cloud/services/actions/add_secret.pyi,sha256=H6rS3PRwiktMfnoY8qwtmTplN9gG2yZgQKKCX8S8Q6c,890
234
- amsdal/cloud/services/actions/base.cpython-312-darwin.so,sha256=p1i1ffqxfI7URoxyeWZCdUXWd1nWD5nrnO5_k8R1qrw,307200
235
- amsdal/cloud/services/actions/get_basic_auth_credentials.cpython-312-darwin.so,sha256=sUl62jo3PuEq0BIeR-kN8wOPXhgWcpsNcJyZGYzEAgI,197512
235
+ amsdal/cloud/services/actions/base.cpython-312-darwin.so,sha256=IrTq2ULo7w8i-P0AB7EbYIp6HUkL7fKO4KCIneC_hlw,307200
236
+ amsdal/cloud/services/actions/get_basic_auth_credentials.cpython-312-darwin.so,sha256=iBK41DLSEDFsjMuDqH8MihVz3ZogiuR2ocK9vLCMGgA,197512
236
237
  amsdal/cloud/services/actions/destroy_deploy.pyi,sha256=VNb0J71B3gk4SVJwxlB9XTj4vCG-37ucojcGzsvKwe8,609
237
238
  amsdal/cloud/services/actions/update_deploy.pyi,sha256=alM1nquQZ5O8PYlDIqDdSuiyuc_aj9fkd01bL9KANEI,766
238
- amsdal/cloud/services/actions/add_secret.cpython-312-darwin.so,sha256=bCb7_3Jg3IypMEtS2Q0dxVQZxaYNKnaU8z9OmSRMnjY,164264
239
- amsdal/cloud/services/actions/expose_db.cpython-312-darwin.so,sha256=UHFns-5lCvZGGbg_AXhVYmShntd2O0UCmbWkP-66Fnw,197568
240
- amsdal/cloud/services/actions/delete_dependency.cpython-312-darwin.so,sha256=mnXJXlzFfKQ5pMwTXZJxyReX9AHtf81svNq0D4gdJuA,164376
241
- amsdal/cloud/services/actions/add_allowlist_ip.cpython-312-darwin.so,sha256=lOq9cXK1t77DhbLXAkl3kqDhvLjY2-KG0tbRd8PWsEE,180792
242
- amsdal/cloud/services/actions/signup_action.cpython-312-darwin.so,sha256=Be5wskpzo0xiJgOfwYunIpUlfReeLtnzk4W2SCJsbvw,164216
243
- amsdal/cloud/services/actions/delete_basic_auth.cpython-312-darwin.so,sha256=tuOFR0SeJSN5eP_oddRDl3ZeNm6eae5IJaI0tdjWxeA,164376
244
- amsdal/cloud/services/actions/list_secrets.cpython-312-darwin.so,sha256=LFnEQKZfwY56m0NK9ZwIHnTLv801YmnckUmyv3MxaHk,197688
239
+ amsdal/cloud/services/actions/add_secret.cpython-312-darwin.so,sha256=IVJ2DrSg3cdqMLUeZKSmplHdLuVB79HXFIjLgrHAxIk,164264
240
+ amsdal/cloud/services/actions/expose_db.cpython-312-darwin.so,sha256=gTem17M4C4K1TJa5qxzVB8p-HqC07nhsR-4lro009hY,197568
241
+ amsdal/cloud/services/actions/delete_dependency.cpython-312-darwin.so,sha256=wG94GgZwFfqN40pV4aOT-Z5y_TnKxkaRsTOVVcH-l4M,164376
242
+ amsdal/cloud/services/actions/add_allowlist_ip.cpython-312-darwin.so,sha256=PghvXUUXs3Y1CLr4QOu5nPBfXTsQ8NdCWER_B3fQZWI,180792
243
+ amsdal/cloud/services/actions/signup_action.cpython-312-darwin.so,sha256=AgREv1mfcw4tVOarrWDOrPbX9lXyYuJS9qpSqUuceOg,164216
244
+ amsdal/cloud/services/actions/delete_basic_auth.cpython-312-darwin.so,sha256=970vr8z9EIGvoIV_VkdFFvEC8hpU9hrMgSjbcM8cia4,164376
245
+ amsdal/cloud/services/actions/list_secrets.cpython-312-darwin.so,sha256=erbUje2jCbI4VjsNEdgBoySesuYybGuCuBjlT1Gz2oU,197688
245
246
  amsdal/cloud/services/actions/create_deploy.pyi,sha256=VmVMYJQmjPZce6Cm8sMQ27HomhfdzZc_0X57ZWZmCt0,1988
246
247
  amsdal/cloud/services/actions/delete_basic_auth.pyi,sha256=-I1YoOMFi0LaRsZL2JBGH_sg18PZoUL1PP9YetboDJA,915
247
248
  amsdal/cloud/services/actions/list_dependencies.pyi,sha256=C37VamSyRT-uNLuwQJ0OrHKavs8Jt0bfPbAsE5BQEvE,1035
248
249
  amsdal/cloud/services/actions/create_env.pyi,sha256=ITvyLrvwt6H36JNYURHZ_PbmGZquc5Fm07dVo7H6ll0,910
249
250
  amsdal/cloud/services/actions/expose_db.pyi,sha256=uk2zuz1SiXwjDFxtKF-yyWGNEONOgfm7EcrEyVT0cMM,1049
250
- amsdal/fixtures/__init__.cpython-312-darwin.so,sha256=tUTOYLiEwe_2GLRoxp7jFfk1kSXFbAAabV5-IyHbxKw,120736
251
+ amsdal/fixtures/__init__.cpython-312-darwin.so,sha256=jDFXrsb2xinTn-eLjZtQ4LiMisEqVlYwJhNm1udtol4,120736
251
252
  amsdal/fixtures/manager.pyi,sha256=fMl3nNa2A9jiZanZ_7tnUGaPigk_03KMmdcUGPoX9kI,7077
252
253
  amsdal/fixtures/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
253
- amsdal/fixtures/utils.cpython-312-darwin.so,sha256=fL2rBxsC0x2V1Z46ynuxh4FzmGNnXRz8NmqjVvR1jek,290128
254
+ amsdal/fixtures/utils.cpython-312-darwin.so,sha256=WVMYy_bgBzg_x66Wi410eUanuOYs3OhGl48GMjfDEG4,290128
254
255
  amsdal/fixtures/utils.pyi,sha256=OnFn7opJscOydj-rlcXQIdDodlIKGCt79TRy5zAUkqg,457
255
- amsdal/fixtures/manager.cpython-312-darwin.so,sha256=DpPZVSRd_wVBsjaNeXE-soEcLueqmwF3YQ4RK5MS2fM,655712
256
- amsdal/services/__init__.cpython-312-darwin.so,sha256=egxD91ODy2CztcnQp1C7c4ar5UDwnR_TQuIYBIszMYk,120736
256
+ amsdal/fixtures/manager.cpython-312-darwin.so,sha256=bWeSElj9x30X0d_eh2OZR0rL9D_c90wRgPXLJiyy_a0,655648
257
+ amsdal/services/__init__.cpython-312-darwin.so,sha256=O6eQXLyIj4So_7OfN6mr1uq_Yk5VQ-JsUEjYm5YTPHY,120736
257
258
  amsdal/services/transaction_execution.pyi,sha256=TwCuurOoqSHgNu9GCYYZPSpGjxXssF2eNygQ5KVwAZM,4374
258
- amsdal/services/transaction_execution.cpython-312-darwin.so,sha256=JWqbbr_Mf-wmtWAn-KZawkXsBAVP4zpJTsPO6ya49BE,435344
259
+ amsdal/services/transaction_execution.cpython-312-darwin.so,sha256=4iIWWvZpVgcZwUbx7E6j5kfh_pHuHlCVBLeRzKWY_Ac,435344
259
260
  amsdal/services/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
260
- amsdal-0.5.0.dist-info/RECORD,,
261
- amsdal-0.5.0.dist-info/WHEEL,sha256=iNRuDvb-mVB1M8Pwj3WfMihRe4bgKKzTZc43OG9yWzc,115
262
- amsdal-0.5.0.dist-info/top_level.txt,sha256=VPQLnOP3mf7q0JuQ_vPZYQyPNGKd_uc6ouz-hZRkhSk,7
263
- amsdal-0.5.0.dist-info/METADATA,sha256=6jzhSpO5-Wd82gzfLlQh-MpVG4zCz6jiTMTBR3Zx9OY,57432
264
- amsdal-0.5.0.dist-info/licenses/LICENSE.txt,sha256=hG-541PFYfNJi9WRZi_hno91UyqNg7YLK8LR3vLblZA,27355
261
+ amsdal-0.5.1.dist-info/RECORD,,
262
+ amsdal-0.5.1.dist-info/WHEEL,sha256=_N1vyLgwJ10g4JxFsp-IfU42zGJgf-DUqwfdbV1YvEM,115
263
+ amsdal-0.5.1.dist-info/top_level.txt,sha256=VPQLnOP3mf7q0JuQ_vPZYQyPNGKd_uc6ouz-hZRkhSk,7
264
+ amsdal-0.5.1.dist-info/METADATA,sha256=Flo1srJS2UkWBdNq4eEqlq8CI__w3qyzAsyEFMgmsP0,57432
265
+ amsdal-0.5.1.dist-info/licenses/LICENSE.txt,sha256=hG-541PFYfNJi9WRZi_hno91UyqNg7YLK8LR3vLblZA,27355
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (80.8.0)
2
+ Generator: setuptools (80.9.0)
3
3
  Root-Is-Purelib: false
4
4
  Tag: cp312-cp312-macosx_10_13_universal2
5
5