zrb 1.3.0__py3-none-any.whl → 1.3.1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -8,7 +8,7 @@ from my_app_name._zrb.column.add_column_util import (
8
8
  update_my_app_name_test_update,
9
9
  update_my_app_name_ui,
10
10
  )
11
- from my_app_name._zrb.config import APP_DIR
11
+ from my_app_name._zrb.config import ACTIVATE_VENV_SCRIPT, APP_DIR
12
12
  from my_app_name._zrb.format_task import format_my_app_name_code
13
13
  from my_app_name._zrb.group import app_create_group
14
14
  from my_app_name._zrb.input import (
@@ -17,9 +17,16 @@ from my_app_name._zrb.input import (
17
17
  new_column_input,
18
18
  new_column_type_input,
19
19
  )
20
- from my_app_name._zrb.util import get_existing_module_names, get_existing_schema_names
20
+ from my_app_name._zrb.util import (
21
+ cd_module_script,
22
+ get_existing_module_names,
23
+ get_existing_schema_names,
24
+ set_create_migration_db_url_env,
25
+ set_env,
26
+ )
27
+ from my_app_name._zrb.venv_task import prepare_venv
21
28
 
22
- from zrb import AnyContext, Task, make_task
29
+ from zrb import AnyContext, Cmd, CmdTask, EnvFile, Task, make_task
23
30
 
24
31
 
25
32
  @make_task(
@@ -118,6 +125,34 @@ update_my_app_name_test_delete_task = Task(
118
125
  )
119
126
 
120
127
 
128
+ create_my_app_name_entity_migration = CmdTask(
129
+ name="create-my-app-name-entity-migration",
130
+ input=[
131
+ existing_module_input,
132
+ existing_entity_input,
133
+ new_column_input,
134
+ ],
135
+ env=EnvFile(path=os.path.join(APP_DIR, "template.env")),
136
+ cwd=APP_DIR,
137
+ cmd=[
138
+ ACTIVATE_VENV_SCRIPT,
139
+ Cmd(lambda ctx: set_create_migration_db_url_env(ctx.input.module)),
140
+ Cmd(lambda ctx: set_env("MY_APP_NAME_MODULES", ctx.input.module)),
141
+ Cmd(lambda ctx: cd_module_script(ctx.input.module)),
142
+ "alembic upgrade head",
143
+ Cmd(
144
+ 'alembic revision --autogenerate -m "create_{to_snake_case(ctx.input.entity)}_{to_snake_case(ctx.input.column)}_column"', # noqa
145
+ ),
146
+ ],
147
+ render_cmd=False,
148
+ retries=0,
149
+ upstream=[
150
+ prepare_venv,
151
+ update_my_app_name_schema_task,
152
+ ],
153
+ )
154
+
155
+
121
156
  add_my_app_name_column = app_create_group.add_task(
122
157
  Task(
123
158
  name="add-my-app-name-column",
@@ -129,6 +164,7 @@ add_my_app_name_column = app_create_group.add_task(
129
164
  update_my_app_name_test_read_task,
130
165
  update_my_app_name_test_update_task,
131
166
  update_my_app_name_test_delete_task,
167
+ create_my_app_name_entity_migration,
132
168
  ],
133
169
  successor=format_my_app_name_code,
134
170
  retries=0,
@@ -2,13 +2,13 @@
2
2
 
3
3
  <main id="crud-app"
4
4
  class="container"
5
- data-page-size='{{ page_size | tojson }}'
6
- data-page='{{ page | tojson }}'
7
- data-sort='{{ sort | tojson }}'
8
- data-filter='{{ filter | tojson }}'
9
- data-allow-create='{{ allow_create | tojson }}'
10
- data-allow-update='{{ allow_update | tojson }}'
11
- data-allow-delete='{{ allow_delete | tojson }}'>
5
+ data-page-size='{{ page_size | tojson | safe }}'
6
+ data-page='{{ page | tojson | safe }}'
7
+ data-sort='{{ sort | tojson | safe }}'
8
+ data-filter='{{ filter | tojson | safe }}'
9
+ data-allow-create='{{ allow_create | tojson | safe }}'
10
+ data-allow-update='{{ allow_update | tojson | safe }}'
11
+ data-allow-delete='{{ allow_delete | tojson | safe }}'>
12
12
  <article>
13
13
  <h1>My Entity</h1>
14
14
 
@@ -311,13 +311,13 @@
311
311
  document.addEventListener("DOMContentLoaded", () => {
312
312
  const app = document.getElementById("crud-app");
313
313
  new CrudApp("/api/v1/my-entities", {
314
- pageSize: JSON.parse(app.dataset.pageSize),
315
- currentPage: JSON.parse(app.dataset.page),
316
- sort: JSON.parse(app.dataset.sort),
317
- filter: JSON.parse(app.dataset.filter),
318
- allowCreate: JSON.parse(app.dataset.allowCreate),
319
- allowUpdate: JSON.parse(app.dataset.allowUpdate),
320
- allowDelete: JSON.parse(app.dataset.allowDelete),
314
+ pageSize: UTIL.tryParseJSON(app.dataset.pageSize),
315
+ currentPage: UTIL.tryParseJSON(app.dataset.page),
316
+ sort: UTIL.tryParseJSON(app.dataset.sort),
317
+ filter: UTIL.tryParseJSON(app.dataset.filter),
318
+ allowCreate: UTIL.tryParseJSON(app.dataset.allowCreate),
319
+ allowUpdate: UTIL.tryParseJSON(app.dataset.allowUpdate),
320
+ allowDelete: UTIL.tryParseJSON(app.dataset.allowDelete),
321
321
  updatedRowId: null,
322
322
  deletedRowId: null,
323
323
  });
@@ -2,13 +2,13 @@
2
2
 
3
3
  <main id="crud-app"
4
4
  class="container"
5
- data-page-size='{{ page_size | tojson }}'
6
- data-page='{{ page | tojson }}'
7
- data-sort='{{ sort | tojson }}'
8
- data-filter='{{ filter | tojson }}'
9
- data-allow-create='{{ allow_create | tojson }}'
10
- data-allow-update='{{ allow_update | tojson }}'
11
- data-allow-delete='{{ allow_delete | tojson }}'>
5
+ data-page-size='{{ page_size | tojson | safe }}'
6
+ data-page='{{ page | tojson | safe }}'
7
+ data-sort='{{ sort | tojson | safe }}'
8
+ data-filter='{{ filter | tojson | safe }}'
9
+ data-allow-create='{{ allow_create | tojson | safe }}'
10
+ data-allow-update='{{ allow_update | tojson | safe }}'
11
+ data-allow-delete='{{ allow_delete | tojson | safe }}'>
12
12
  <article>
13
13
  <h1>Permission</h1>
14
14
 
@@ -326,13 +326,13 @@
326
326
  document.addEventListener("DOMContentLoaded", () => {
327
327
  const app = document.getElementById("crud-app");
328
328
  new CrudApp("/api/v1/permissions", {
329
- pageSize: JSON.parse(app.dataset.pageSize),
330
- currentPage: JSON.parse(app.dataset.page),
331
- sort: JSON.parse(app.dataset.sort),
332
- filter: JSON.parse(app.dataset.filter),
333
- allowCreate: JSON.parse(app.dataset.allowCreate),
334
- allowUpdate: JSON.parse(app.dataset.allowUpdate),
335
- allowDelete: JSON.parse(app.dataset.allowDelete),
329
+ pageSize: UTIL.tryParseJSON(app.dataset.pageSize),
330
+ currentPage: UTIL.tryParseJSON(app.dataset.page),
331
+ sort: UTIL.tryParseJSON(app.dataset.sort),
332
+ filter: UTIL.tryParseJSON(app.dataset.filter),
333
+ allowCreate: UTIL.tryParseJSON(app.dataset.allowCreate),
334
+ allowUpdate: UTIL.tryParseJSON(app.dataset.allowUpdate),
335
+ allowDelete: UTIL.tryParseJSON(app.dataset.allowDelete),
336
336
  updatedRowId: null,
337
337
  deletedRowId: null,
338
338
  });
@@ -2,13 +2,13 @@
2
2
 
3
3
  <main id="crud-app"
4
4
  class="container"
5
- data-page-size='{{ page_size | tojson }}'
6
- data-page='{{ page | tojson }}'
7
- data-sort='{{ sort | tojson }}'
8
- data-filter='{{ filter | tojson }}'
9
- data-allow-create='{{ allow_create | tojson }}'
10
- data-allow-update='{{ allow_update | tojson }}'
11
- data-allow-delete='{{ allow_delete | tojson }}'>
5
+ data-page-size='{{ page_size | tojson | safe }}'
6
+ data-page='{{ page | tojson | safe }}'
7
+ data-sort='{{ sort | tojson | safe }}'
8
+ data-filter='{{ filter | tojson | safe }}'
9
+ data-allow-create='{{ allow_create | tojson | safe }}'
10
+ data-allow-update='{{ allow_update | tojson | safe }}'
11
+ data-allow-delete='{{ allow_delete | tojson | safe }}'>
12
12
  <article>
13
13
  <h1>Role</h1>
14
14
 
@@ -251,7 +251,7 @@
251
251
  try {
252
252
  const createForm = document.getElementById("crud-create-form");
253
253
  const formData = UTIL.getFormData(createForm);
254
- formData.permission_names = JSON.parse(formData.permission_names);
254
+ formData.permission_names = UTIL.tryParseJSON(formData.permission_names);
255
255
  await UTIL.fetchAPI(this.apiUrl, { method: "POST", body: JSON.stringify(formData) });
256
256
  await this.fetchRows();
257
257
  this.hideCreateForm();
@@ -283,7 +283,7 @@
283
283
  try {
284
284
  const updateForm = document.getElementById("crud-update-form");
285
285
  const formData = UTIL.getFormData(updateForm);
286
- formData.permission_names = JSON.parse(formData.permission_names);
286
+ formData.permission_names = UTIL.tryParseJSON(formData.permission_names);
287
287
  await UTIL.fetchAPI(`${this.apiUrl}/${this.state.updatedRowId}`, {
288
288
  method: "PUT",
289
289
  body: JSON.stringify(formData)
@@ -348,13 +348,13 @@
348
348
  document.addEventListener("DOMContentLoaded", () => {
349
349
  const app = document.getElementById("crud-app");
350
350
  new CrudApp("/api/v1/roles", {
351
- pageSize: JSON.parse(app.dataset.pageSize),
352
- currentPage: JSON.parse(app.dataset.page),
353
- sort: JSON.parse(app.dataset.sort),
354
- filter: JSON.parse(app.dataset.filter),
355
- allowCreate: JSON.parse(app.dataset.allowCreate),
356
- allowUpdate: JSON.parse(app.dataset.allowUpdate),
357
- allowDelete: JSON.parse(app.dataset.allowDelete),
351
+ pageSize: UTIL.tryParseJSON(app.dataset.pageSize),
352
+ currentPage: UTIL.tryParseJSON(app.dataset.page),
353
+ sort: UTIL.tryParseJSON(app.dataset.sort),
354
+ filter: UTIL.tryParseJSON(app.dataset.filter),
355
+ allowCreate: UTIL.tryParseJSON(app.dataset.allowCreate),
356
+ allowUpdate: UTIL.tryParseJSON(app.dataset.allowUpdate),
357
+ allowDelete: UTIL.tryParseJSON(app.dataset.allowDelete),
358
358
  updatedRowId: null,
359
359
  deletedRowId: null,
360
360
  });
@@ -2,13 +2,13 @@
2
2
 
3
3
  <main id="crud-app"
4
4
  class="container"
5
- data-page-size='{{ page_size | tojson }}'
6
- data-page='{{ page | tojson }}'
7
- data-sort='{{ sort | tojson }}'
8
- data-filter='{{ filter | tojson }}'
9
- data-allow-create='{{ allow_create | tojson }}'
10
- data-allow-update='{{ allow_update | tojson }}'
11
- data-allow-delete='{{ allow_delete | tojson }}'>
5
+ data-page-size='{{ page_size | tojson | safe }}'
6
+ data-page='{{ page | tojson | safe }}'
7
+ data-sort='{{ sort | tojson | safe }}'
8
+ data-filter='{{ filter | tojson | safe }}'
9
+ data-allow-create='{{ allow_create | tojson | safe }}'
10
+ data-allow-update='{{ allow_update | tojson | safe }}'
11
+ data-allow-delete='{{ allow_delete | tojson | safe }}'>
12
12
  <article>
13
13
  <h1>User</h1>
14
14
 
@@ -263,7 +263,7 @@
263
263
  try {
264
264
  const createForm = document.getElementById("crud-create-form");
265
265
  const formData = UTIL.getFormData(createForm);
266
- formData.role_names = JSON.parse(formData.role_names);
266
+ formData.role_names = UTIL.tryParseJSON(formData.role_names);
267
267
  await UTIL.fetchAPI(this.apiUrl, { method: "POST", body: JSON.stringify(formData) });
268
268
  await this.fetchRows();
269
269
  this.hideCreateForm();
@@ -298,7 +298,7 @@
298
298
  if (!formData.password) {
299
299
  delete formData.password;
300
300
  }
301
- formData.role_names = JSON.parse(formData.role_names);
301
+ formData.role_names = UTIL.tryParseJSON(formData.role_names);
302
302
  await UTIL.fetchAPI(`${this.apiUrl}/${this.state.updatedRowId}`, {
303
303
  method: "PUT",
304
304
  body: JSON.stringify(formData)
@@ -363,13 +363,13 @@
363
363
  document.addEventListener("DOMContentLoaded", () => {
364
364
  const app = document.getElementById("crud-app");
365
365
  new CrudApp("/api/v1/users", {
366
- pageSize: JSON.parse(app.dataset.pageSize),
367
- currentPage: JSON.parse(app.dataset.page),
368
- sort: JSON.parse(app.dataset.sort),
369
- filter: JSON.parse(app.dataset.filter),
370
- allowCreate: JSON.parse(app.dataset.allowCreate),
371
- allowUpdate: JSON.parse(app.dataset.allowUpdate),
372
- allowDelete: JSON.parse(app.dataset.allowDelete),
366
+ pageSize: UTIL.tryParseJSON(app.dataset.pageSize),
367
+ currentPage: UTIL.tryParseJSON(app.dataset.page),
368
+ sort: UTIL.tryParseJSON(app.dataset.sort),
369
+ filter: UTIL.tryParseJSON(app.dataset.filter),
370
+ allowCreate: UTIL.tryParseJSON(app.dataset.allowCreate),
371
+ allowUpdate: UTIL.tryParseJSON(app.dataset.allowUpdate),
372
+ allowDelete: UTIL.tryParseJSON(app.dataset.allowDelete),
373
373
  updatedRowId: null,
374
374
  deletedRowId: null,
375
375
  });
@@ -212,4 +212,12 @@ const UTIL = {
212
212
  return data;
213
213
  },
214
214
 
215
+ tryParseJSON(value) {
216
+ try {
217
+ return JSON.parse(value);
218
+ } catch {
219
+ return value;
220
+ }
221
+ },
222
+
215
223
  };
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: zrb
3
- Version: 1.3.0
3
+ Version: 1.3.1
4
4
  Summary: Your Automation Powerhouse
5
5
  Home-page: https://github.com/state-alchemists/zrb
6
6
  License: AGPL-3.0-or-later
@@ -23,12 +23,12 @@ zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/.flake8,sha256=fgvH
23
23
  zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/.gitignore,sha256=D-ISOzaKlN_VzeZP5f8aznDSJX4p8PCtaK2JWM5yY1c,61
24
24
  zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/README.md,sha256=MAo7ZFbg7LLiAfQbXcippMgjJ2-VXMKtiTDEZ3I4AAg,221
25
25
  zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
26
- zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/column/add_column_task.py,sha256=j24bFnqMCZrYx67HMtOAJMBb2P1-ymvo8_oFjP0uTxg,3726
26
+ zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/column/add_column_task.py,sha256=PxKS3azBnKMTZdStz1OTEr-7sCK_WMeCLiDd1gDoGHA,4819
27
27
  zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/column/add_column_util.py,sha256=GycuEtcvO02OwqULfP-qRxnAnJDDhWx_hdRSmbfx5bo,10952
28
28
  zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/config.py,sha256=uviB4q2iZjoU9_fA1O4VrjpuVAqx2gj5hjospJ0Xzeg,885
29
29
  zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/add_entity_task.py,sha256=W0ziCIhSwUbu8vBABEcTvLrTAegJmRbqui6TzG1xqlo,11183
30
30
  zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/add_entity_util.py,sha256=M7FSCdq-dzXqa22kFO6HwMIJ2XlHMSys-I0-K1_90xE,16683
31
- zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/template/app_template/module/gateway/view/content/my-module/my-entity.html,sha256=AFriF9Vz5889nfIIZbqaNXREMiShPcEiHBvO3aWs-ao,13240
31
+ zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/template/app_template/module/gateway/view/content/my-module/my-entity.html,sha256=hcF-HZ_7vDyod-Rn_7ODqCjsNOwHvH1ICZC0AMzis5s,13338
32
32
  zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/template/app_template/module/my_module/service/my_entity/my_entity_service.py,sha256=PgwTsHMHRiFS7JQeAe6wWmIHk6s-OfIybx_mJfuT_G4,3918
33
33
  zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/template/app_template/module/my_module/service/my_entity/my_entity_service_factory.py,sha256=lnhhpc_AflWnCQbLkYORrshiqIA5wy4SdxDuUxmn7Ts,372
34
34
  zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/template/app_template/module/my_module/service/my_entity/repository/my_entity_db_repository.py,sha256=GrMxMb98-XD7Rue1v14jBu6HRb8Gy5DywBSKnMhN0iY,770
@@ -125,14 +125,14 @@ zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/sche
125
125
  zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/subroute/auth.py,sha256=KXwia0eexjoxa7OK_VT7NuUL6snxxtOpMIgSjRRbBD0,17678
126
126
  zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/util/auth.py,sha256=zThjspTe-pu0r73vXwNb9Se4vCbX2HquTZKg2h9AMY0,2643
127
127
  zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/util/view.py,sha256=7C0KlvpUwlQ27p_zyFFxVZZNaQnZ9k2i3yit1cNZHoo,3192
128
- zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/content/auth/permission.html,sha256=l2j1GCDIrSTUn1PY8cLf3sLJdVe8D1gjGUShUG20zUA,13782
129
- zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/content/auth/role.html,sha256=uVL7ZmbsIuya_RbZLL2qSfc7jJM_FPn2Mg8gten_ZUc,14980
130
- zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/content/auth/user.html,sha256=CDeYHfcbThjraIzNIaOnnd7Wpk1Y5vz9eTLJCKiiyyk,15502
128
+ zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/content/auth/permission.html,sha256=o0TtDcZ_pDcHFSX3kEU9nninbNQAUbN_O4VqXZ8875s,13880
129
+ zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/content/auth/role.html,sha256=NYS1SIC8hNJyKt1SW3AzIqibr8igAg51-T4XuDkSaRo,15092
130
+ zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/content/auth/user.html,sha256=s6ziDxsoavMIp4IB2bSWFViQZw62SyC4jRsx5uvUy6I,15614
131
131
  zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/content/error.html,sha256=FISZNhjhfIuoBWI0GR-c5XQxLniy0euWOjKgbtnVlt8,239
132
132
  zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/content/homepage.html,sha256=Q8jEwRraYJmn0rJIT1Ct4Dz2NB4S-NWJ1ZrU46oZkkw,126
133
133
  zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/content/login.html,sha256=OanTVSQG5T03AX4eformFN69qeSMh5jiWERNth1EAMw,2301
134
134
  zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/content/logout.html,sha256=HQnUPE_I9l-aF8LqpKuHCp6zsjYplTfbLfKbxn4hdXo,1571
135
- zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/common/util.js,sha256=-O3c441oaxIu9-6i2Foe6PSvdC5ycK_I3gKmTP4fNq8,8407
135
+ zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/common/util.js,sha256=4wEtVKhNTrKsRGXEQvMkC5gd_GDS_ZuGGAmhJl8AHzQ,8547
136
136
  zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/crud/style.css,sha256=UzmYDiz4dlxKPPKXwTjybK1nrwkk-3DmFEmlpWnnqfo,206
137
137
  zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/crud/util.js,sha256=7TQftOjZGmx6POLCHzmh08m4q-sc01BRtmcZCQQ5JU8,4376
138
138
  zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/default/pico-style.css,sha256=7VEhpZWXz8pcKtTULorjQlWX1fMs7Bcbn1QBDJiJZfY,233
@@ -340,7 +340,7 @@ zrb/util/string/name.py,sha256=8picJfUBXNpdh64GNaHv3om23QHhUZux7DguFLrXHp8,1163
340
340
  zrb/util/todo.py,sha256=1nDdwPc22oFoK_1ZTXyf3638Bg6sqE2yp_U4_-frHoc,16015
341
341
  zrb/xcom/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
342
342
  zrb/xcom/xcom.py,sha256=o79rxR9wphnShrcIushA0Qt71d_p3ZTxjNf7x9hJB78,1571
343
- zrb-1.3.0.dist-info/METADATA,sha256=3wbbvRet-OzX0DonamEcOLlFxXCVclJufAhAhH28m7U,6303
344
- zrb-1.3.0.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
345
- zrb-1.3.0.dist-info/entry_points.txt,sha256=-Pg3ElWPfnaSM-XvXqCxEAa-wfVI6BEgcs386s8C8v8,46
346
- zrb-1.3.0.dist-info/RECORD,,
343
+ zrb-1.3.1.dist-info/METADATA,sha256=xYoLV2fDDSGBjJdgYOjXNy1rfAifx7VsGxIAGHCpBns,6303
344
+ zrb-1.3.1.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
345
+ zrb-1.3.1.dist-info/entry_points.txt,sha256=-Pg3ElWPfnaSM-XvXqCxEAa-wfVI6BEgcs386s8C8v8,46
346
+ zrb-1.3.1.dist-info/RECORD,,
File without changes