dmart 1.4.35__py3-none-any.whl → 1.4.36__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (298) hide show
  1. dmart/__init__.py +8 -0
  2. dmart/alembic/README +1 -0
  3. dmart/alembic/notes.txt +11 -0
  4. dmart/alembic/script.py.mako +28 -0
  5. dmart/alembic.ini +117 -0
  6. dmart/config.env.sample +27 -0
  7. dmart/conftest.py +13 -0
  8. dmart/curl.sh +196 -0
  9. dmart/hypercorn_config.toml +3 -0
  10. dmart/info.json +1 -0
  11. dmart/login_creds.sh +7 -0
  12. dmart/login_creds.sh.sample +7 -0
  13. dmart/manifest.sh +12 -0
  14. dmart/plugins/action_log/config.json +13 -0
  15. dmart/plugins/admin_notification_sender/config.json +13 -0
  16. dmart/plugins/ldap_manager/config.json +12 -0
  17. dmart/plugins/ldap_manager/dmart.schema +146 -0
  18. dmart/plugins/ldap_manager/slapd.conf +53 -0
  19. dmart/plugins/local_notification/config.json +13 -0
  20. dmart/plugins/realtime_updates_notifier/config.json +12 -0
  21. dmart/plugins/redis_db_update/config.json +13 -0
  22. dmart/plugins/resource_folders_creation/config.json +12 -0
  23. dmart/plugins/system_notification_sender/config.json +13 -0
  24. dmart/plugins/update_access_controls/config.json +12 -0
  25. dmart/publish.sh +57 -0
  26. dmart/pylint.sh +16 -0
  27. dmart/pyrightconfig.json +7 -0
  28. dmart/redis_connections.sh +13 -0
  29. dmart/reload.sh +56 -0
  30. dmart/run.sh +3 -0
  31. dmart/test_utils.py +34 -0
  32. {dmart-1.4.35.dist-info → dmart-1.4.36.dist-info}/METADATA +1 -1
  33. dmart-1.4.36.dist-info/RECORD +285 -0
  34. dmart-1.4.36.dist-info/entry_points.txt +2 -0
  35. dmart-1.4.36.dist-info/top_level.txt +1 -0
  36. dmart-1.4.35.dist-info/RECORD +0 -264
  37. dmart-1.4.35.dist-info/entry_points.txt +0 -2
  38. dmart-1.4.35.dist-info/top_level.txt +0 -24
  39. pytests/api_user_models_erros_test.py +0 -16
  40. pytests/api_user_models_requests_test.py +0 -98
  41. pytests/archive_test.py +0 -72
  42. pytests/base_test.py +0 -300
  43. pytests/get_settings_test.py +0 -14
  44. pytests/json_to_db_migration_test.py +0 -237
  45. pytests/service_test.py +0 -26
  46. pytests/test_info.py +0 -55
  47. pytests/test_status.py +0 -15
  48. utils/__init__.py +0 -0
  49. {alembic → dmart/alembic}/__init__.py +0 -0
  50. {alembic → dmart/alembic}/env.py +0 -0
  51. {alembic → dmart/alembic}/scripts/__init__.py +0 -0
  52. {alembic → dmart/alembic}/scripts/calculate_checksums.py +0 -0
  53. {alembic → dmart/alembic}/scripts/migration_f7a4949eed19.py +0 -0
  54. {alembic → dmart/alembic}/versions/0f3d2b1a7c21_add_authz_materialized_views.py +0 -0
  55. {alembic → dmart/alembic}/versions/10d2041b94d4_last_checksum_history.py +0 -0
  56. {alembic → dmart/alembic}/versions/1cf4e1ee3cb8_ext_permission_with_filter_fields_values.py +0 -0
  57. {alembic → dmart/alembic}/versions/26bfe19b49d4_rm_failedloginattempts.py +0 -0
  58. {alembic → dmart/alembic}/versions/3c8bca2219cc_add_otp_table.py +0 -0
  59. {alembic → dmart/alembic}/versions/6675fd9dfe42_remove_unique_from_sessions_table.py +0 -0
  60. {alembic → dmart/alembic}/versions/71bc1df82e6a_adding_user_last_login_at.py +0 -0
  61. {alembic → dmart/alembic}/versions/74288ccbd3b5_initial.py +0 -0
  62. {alembic → dmart/alembic}/versions/7520a89a8467_rm_activesession_table.py +0 -0
  63. {alembic → dmart/alembic}/versions/848b623755a4_make_created_nd_updated_at_required.py +0 -0
  64. {alembic → dmart/alembic}/versions/8640dcbebf85_add_notes_to_users.py +0 -0
  65. {alembic → dmart/alembic}/versions/91c94250232a_adding_fk_on_owner_shortname.py +0 -0
  66. {alembic → dmart/alembic}/versions/98ecd6f56f9a_ext_meta_with_owner_group_shortname.py +0 -0
  67. {alembic → dmart/alembic}/versions/9aae9138c4ef_indexing_created_at_updated_at.py +0 -0
  68. {alembic → dmart/alembic}/versions/__init__.py +0 -0
  69. {alembic → dmart/alembic}/versions/b53f916b3f6d_json_to_jsonb.py +0 -0
  70. {alembic → dmart/alembic}/versions/eb5f1ec65156_adding_user_locked_to_device.py +0 -0
  71. {alembic → dmart/alembic}/versions/f7a4949eed19_adding_query_policies_to_meta.py +0 -0
  72. {api → dmart/api}/__init__.py +0 -0
  73. {api → dmart/api}/info/__init__.py +0 -0
  74. {api → dmart/api}/info/router.py +0 -0
  75. {api → dmart/api}/managed/__init__.py +0 -0
  76. {api → dmart/api}/managed/router.py +0 -0
  77. {api → dmart/api}/managed/utils.py +0 -0
  78. {api → dmart/api}/public/__init__.py +0 -0
  79. {api → dmart/api}/public/router.py +0 -0
  80. {api → dmart/api}/qr/__init__.py +0 -0
  81. {api → dmart/api}/qr/router.py +0 -0
  82. {api → dmart/api}/user/__init__.py +0 -0
  83. {api → dmart/api}/user/model/__init__.py +0 -0
  84. {api → dmart/api}/user/model/errors.py +0 -0
  85. {api → dmart/api}/user/model/requests.py +0 -0
  86. {api → dmart/api}/user/model/responses.py +0 -0
  87. {api → dmart/api}/user/router.py +0 -0
  88. {api → dmart/api}/user/service.py +0 -0
  89. /bundler.py → /dmart/bundler.py +0 -0
  90. {config → dmart/config}/__init__.py +0 -0
  91. {config → dmart/config}/channels.json +0 -0
  92. {config → dmart/config}/notification.json +0 -0
  93. {cxb → dmart/cxb}/__init__.py +0 -0
  94. {cxb → dmart/cxb}/assets/@codemirror-Rn7_6DkE.js +0 -0
  95. {cxb → dmart/cxb}/assets/@edraj-CS4NwVbD.js +0 -0
  96. {cxb → dmart/cxb}/assets/@floating-ui-BwwcF-xh.js +0 -0
  97. {cxb → dmart/cxb}/assets/@formatjs-yKEsAtjs.js +0 -0
  98. {cxb → dmart/cxb}/assets/@fortawesome-DRW1UCdr.js +0 -0
  99. {cxb → dmart/cxb}/assets/@jsonquerylang-laKNoFFq.js +0 -0
  100. {cxb → dmart/cxb}/assets/@lezer-za4Q-8Ew.js +0 -0
  101. {cxb → dmart/cxb}/assets/@marijn-DXwl3gUT.js +0 -0
  102. {cxb → dmart/cxb}/assets/@popperjs-l0sNRNKZ.js +0 -0
  103. {cxb → dmart/cxb}/assets/@replit--ERk53eB.js +0 -0
  104. {cxb → dmart/cxb}/assets/@roxi-CGMFK4i8.js +0 -0
  105. {cxb → dmart/cxb}/assets/@typewriter-cCzskkIv.js +0 -0
  106. {cxb → dmart/cxb}/assets/@zerodevx-BlBZjKxu.js +0 -0
  107. {cxb → dmart/cxb}/assets/@zerodevx-CVEpe6WZ.css +0 -0
  108. {cxb → dmart/cxb}/assets/BreadCrumbLite-DAhOx38v.js +0 -0
  109. {cxb → dmart/cxb}/assets/EntryRenderer-25YDhRen.js +0 -0
  110. {cxb → dmart/cxb}/assets/EntryRenderer-DXytdFp9.css +0 -0
  111. {cxb → dmart/cxb}/assets/ListView-BpAycA2h.js +0 -0
  112. {cxb → dmart/cxb}/assets/ListView-U8of-_c-.css +0 -0
  113. {cxb → dmart/cxb}/assets/Prism--hMplq-p.js +0 -0
  114. {cxb → dmart/cxb}/assets/Prism-Uh6uStUw.css +0 -0
  115. {cxb → dmart/cxb}/assets/Table2Cols-BsbwicQm.js +0 -0
  116. {cxb → dmart/cxb}/assets/_..-BvT6vdHa.css +0 -0
  117. {cxb → dmart/cxb}/assets/_...404_-fuLH_rX9.js +0 -0
  118. {cxb → dmart/cxb}/assets/_...fallback_-Ba_NLmAE.js +0 -0
  119. {cxb → dmart/cxb}/assets/_module-Bfk8MiCs.js +0 -0
  120. {cxb → dmart/cxb}/assets/_module-CEW0D5oI.js +0 -0
  121. {cxb → dmart/cxb}/assets/_module-Dgq0ZVtz.js +0 -0
  122. {cxb → dmart/cxb}/assets/ajv-Cpj98o6Y.js +0 -0
  123. {cxb → dmart/cxb}/assets/axios-CG2WSiiR.js +0 -0
  124. {cxb → dmart/cxb}/assets/clsx-B-dksMZM.js +0 -0
  125. {cxb → dmart/cxb}/assets/codemirror-wrapped-line-indent-DPhKvljI.js +0 -0
  126. {cxb → dmart/cxb}/assets/compare-C3AjiGFR.js +0 -0
  127. {cxb → dmart/cxb}/assets/compute-scroll-into-view-Bl8rNFhg.js +0 -0
  128. {cxb → dmart/cxb}/assets/consolite-DlCuI0F9.js +0 -0
  129. {cxb → dmart/cxb}/assets/crelt-C8TCjufn.js +0 -0
  130. {cxb → dmart/cxb}/assets/date-fns-l0sNRNKZ.js +0 -0
  131. {cxb → dmart/cxb}/assets/deepmerge-rn4rBaHU.js +0 -0
  132. {cxb → dmart/cxb}/assets/dmart_services-AL6-IdDE.js +0 -0
  133. {cxb → dmart/cxb}/assets/downloadFile-D08i0YDh.js +0 -0
  134. {cxb → dmart/cxb}/assets/easy-signal-BiPFIK3O.js +0 -0
  135. {cxb → dmart/cxb}/assets/esm-env-rsSWfq8L.js +0 -0
  136. {cxb → dmart/cxb}/assets/export-OF_rTiXu.js +0 -0
  137. {cxb → dmart/cxb}/assets/fast-deep-equal-l0sNRNKZ.js +0 -0
  138. {cxb → dmart/cxb}/assets/fast-diff-C-IidNf4.js +0 -0
  139. {cxb → dmart/cxb}/assets/fast-uri-l0sNRNKZ.js +0 -0
  140. {cxb → dmart/cxb}/assets/flowbite-svelte-BLvjb-sa.js +0 -0
  141. {cxb → dmart/cxb}/assets/flowbite-svelte-CD54FDqW.css +0 -0
  142. {cxb → dmart/cxb}/assets/flowbite-svelte-icons-BI8GVhw_.js +0 -0
  143. {cxb → dmart/cxb}/assets/github-slugger-CQ4oX9Ud.js +0 -0
  144. {cxb → dmart/cxb}/assets/global-igKv-1g9.js +0 -0
  145. {cxb → dmart/cxb}/assets/hookar-BMRD9G9H.js +0 -0
  146. {cxb → dmart/cxb}/assets/immutable-json-patch-DtRO2E_S.js +0 -0
  147. {cxb → dmart/cxb}/assets/import-1vE3gBat.js +0 -0
  148. {cxb → dmart/cxb}/assets/index-B-eTh-ZX.js +0 -0
  149. {cxb → dmart/cxb}/assets/index-BVyxzKtH.js +0 -0
  150. {cxb → dmart/cxb}/assets/index-BdeNM69f.js +0 -0
  151. {cxb → dmart/cxb}/assets/index-C6cPO4op.js +0 -0
  152. {cxb → dmart/cxb}/assets/index-CC-A1ipE.js +0 -0
  153. {cxb → dmart/cxb}/assets/index-CTxJ-lDp.js +0 -0
  154. {cxb → dmart/cxb}/assets/index-Cd-F5j_k.js +0 -0
  155. {cxb → dmart/cxb}/assets/index-D742rwaM.js +0 -0
  156. {cxb → dmart/cxb}/assets/index-DTfhnhwd.js +0 -0
  157. {cxb → dmart/cxb}/assets/index-DdXRK7n9.js +0 -0
  158. {cxb → dmart/cxb}/assets/index-DtiCmB4o.js +0 -0
  159. {cxb → dmart/cxb}/assets/index-NBrXBlLA.css +0 -0
  160. {cxb → dmart/cxb}/assets/index-ac-Buu_H.js +0 -0
  161. {cxb → dmart/cxb}/assets/index-iYkH7C67.js +0 -0
  162. {cxb → dmart/cxb}/assets/info-B986lRiM.js +0 -0
  163. {cxb → dmart/cxb}/assets/intl-messageformat-Dc5UU-HB.js +0 -0
  164. {cxb → dmart/cxb}/assets/jmespath-l0sNRNKZ.js +0 -0
  165. {cxb → dmart/cxb}/assets/json-schema-traverse-l0sNRNKZ.js +0 -0
  166. {cxb → dmart/cxb}/assets/json-source-map-DRgZidqy.js +0 -0
  167. {cxb → dmart/cxb}/assets/jsonpath-plus-l0sNRNKZ.js +0 -0
  168. {cxb → dmart/cxb}/assets/jsonrepair-B30Dx381.js +0 -0
  169. {cxb → dmart/cxb}/assets/lodash-es-DZVAA2ox.js +0 -0
  170. {cxb → dmart/cxb}/assets/marked-DKjyhwJX.js +0 -0
  171. {cxb → dmart/cxb}/assets/marked-gfm-heading-id-U5zO829x.js +0 -0
  172. {cxb → dmart/cxb}/assets/marked-mangle-CDMeiHC6.js +0 -0
  173. {cxb → dmart/cxb}/assets/memoize-one-BdPwpGay.js +0 -0
  174. {cxb → dmart/cxb}/assets/natural-compare-lite-Bg2Xcf-o.js +0 -0
  175. {cxb → dmart/cxb}/assets/pagination-svelte-D5CyoiE_.js +0 -0
  176. {cxb → dmart/cxb}/assets/pagination-svelte-v10nAbbM.css +0 -0
  177. {cxb → dmart/cxb}/assets/plantuml-encoder-C47mzt9T.js +0 -0
  178. {cxb → dmart/cxb}/assets/prismjs-DTUiLGJu.js +0 -0
  179. {cxb → dmart/cxb}/assets/profile-BUf-tKMe.js +0 -0
  180. {cxb → dmart/cxb}/assets/query-CNmXTsgf.js +0 -0
  181. {cxb → dmart/cxb}/assets/queryHelpers-C9iBWwqe.js +0 -0
  182. {cxb → dmart/cxb}/assets/scroll-into-view-if-needed-KR58zyjF.js +0 -0
  183. {cxb → dmart/cxb}/assets/spaces-0oyGvpii.js +0 -0
  184. {cxb → dmart/cxb}/assets/style-mod-Bs6eFhZE.js +0 -0
  185. {cxb → dmart/cxb}/assets/svelte-B2XmcTi_.js +0 -0
  186. {cxb → dmart/cxb}/assets/svelte-awesome-COLlx0DN.css +0 -0
  187. {cxb → dmart/cxb}/assets/svelte-awesome-DhnMA6Q_.js +0 -0
  188. {cxb → dmart/cxb}/assets/svelte-datatables-net-CY7LBj6I.js +0 -0
  189. {cxb → dmart/cxb}/assets/svelte-floating-ui-BlS3sOAQ.js +0 -0
  190. {cxb → dmart/cxb}/assets/svelte-i18n-CT2KkQaN.js +0 -0
  191. {cxb → dmart/cxb}/assets/svelte-jsoneditor-BzfX6Usi.css +0 -0
  192. {cxb → dmart/cxb}/assets/svelte-jsoneditor-CUGSvWId.js +0 -0
  193. {cxb → dmart/cxb}/assets/svelte-select-CegQKzqH.css +0 -0
  194. {cxb → dmart/cxb}/assets/svelte-select-CjHAt_85.js +0 -0
  195. {cxb → dmart/cxb}/assets/tailwind-merge-CJvxXMcu.js +0 -0
  196. {cxb → dmart/cxb}/assets/tailwind-variants-Cj20BoQ3.js +0 -0
  197. {cxb → dmart/cxb}/assets/toast-B9WDyfyI.js +0 -0
  198. {cxb → dmart/cxb}/assets/tslib-pJfR_DrR.js +0 -0
  199. {cxb → dmart/cxb}/assets/typewriter-editor-DkTVIJdm.js +0 -0
  200. {cxb → dmart/cxb}/assets/user-DeK_NB5v.js +0 -0
  201. {cxb → dmart/cxb}/assets/vanilla-picker-l5rcX3cq.js +0 -0
  202. {cxb → dmart/cxb}/assets/w3c-keyname-Vcq4gwWv.js +0 -0
  203. {cxb → dmart/cxb}/config.json +0 -0
  204. {cxb → dmart/cxb}/config.sample.json +0 -0
  205. {cxb → dmart/cxb}/favicon.ico +0 -0
  206. {cxb → dmart/cxb}/favicon.png +0 -0
  207. {cxb → dmart/cxb}/index.html +0 -0
  208. {data_adapters → dmart/data_adapters}/__init__.py +0 -0
  209. {data_adapters → dmart/data_adapters}/adapter.py +0 -0
  210. {data_adapters → dmart/data_adapters}/base_data_adapter.py +0 -0
  211. {data_adapters → dmart/data_adapters}/file/__init__.py +0 -0
  212. {data_adapters → dmart/data_adapters}/file/adapter.py +0 -0
  213. {data_adapters → dmart/data_adapters}/file/adapter_helpers.py +0 -0
  214. {data_adapters → dmart/data_adapters}/file/archive.py +0 -0
  215. {data_adapters → dmart/data_adapters}/file/create_index.py +0 -0
  216. {data_adapters → dmart/data_adapters}/file/create_users_folders.py +0 -0
  217. {data_adapters → dmart/data_adapters}/file/custom_validations.py +0 -0
  218. {data_adapters → dmart/data_adapters}/file/drop_index.py +0 -0
  219. {data_adapters → dmart/data_adapters}/file/health_check.py +0 -0
  220. {data_adapters → dmart/data_adapters}/file/redis_services.py +0 -0
  221. {data_adapters → dmart/data_adapters}/helpers.py +0 -0
  222. {data_adapters → dmart/data_adapters}/sql/__init__.py +0 -0
  223. {data_adapters → dmart/data_adapters}/sql/adapter.py +0 -0
  224. {data_adapters → dmart/data_adapters}/sql/adapter_helpers.py +0 -0
  225. {data_adapters → dmart/data_adapters}/sql/create_tables.py +0 -0
  226. {data_adapters → dmart/data_adapters}/sql/create_users_folders.py +0 -0
  227. {data_adapters → dmart/data_adapters}/sql/db_to_json_migration.py +0 -0
  228. {data_adapters → dmart/data_adapters}/sql/health_check_sql.py +0 -0
  229. {data_adapters → dmart/data_adapters}/sql/json_to_db_migration.py +0 -0
  230. {data_adapters → dmart/data_adapters}/sql/update_query_policies.py +0 -0
  231. /data_generator.py → /dmart/data_generator.py +0 -0
  232. /dmart.py → /dmart/dmart.py +0 -0
  233. /get_settings.py → /dmart/get_settings.py +0 -0
  234. {languages → dmart/languages}/__init__.py +0 -0
  235. {languages → dmart/languages}/arabic.json +0 -0
  236. {languages → dmart/languages}/english.json +0 -0
  237. {languages → dmart/languages}/kurdish.json +0 -0
  238. {languages → dmart/languages}/loader.py +0 -0
  239. /main.py → /dmart/main.py +0 -0
  240. /migrate.py → /dmart/migrate.py +0 -0
  241. {models → dmart/models}/__init__.py +0 -0
  242. {models → dmart/models}/api.py +0 -0
  243. {models → dmart/models}/core.py +0 -0
  244. {models → dmart/models}/enums.py +0 -0
  245. /password_gen.py → /dmart/password_gen.py +0 -0
  246. {plugins → dmart/plugins}/__init__.py +0 -0
  247. {plugins → dmart/plugins}/action_log/__init__.py +0 -0
  248. {plugins → dmart/plugins}/action_log/plugin.py +0 -0
  249. {plugins → dmart/plugins}/admin_notification_sender/__init__.py +0 -0
  250. {plugins → dmart/plugins}/admin_notification_sender/plugin.py +0 -0
  251. {plugins → dmart/plugins}/ldap_manager/__init__.py +0 -0
  252. {plugins → dmart/plugins}/ldap_manager/plugin.py +0 -0
  253. {plugins → dmart/plugins}/local_notification/__init__.py +0 -0
  254. {plugins → dmart/plugins}/local_notification/plugin.py +0 -0
  255. {plugins → dmart/plugins}/realtime_updates_notifier/__init__.py +0 -0
  256. {plugins → dmart/plugins}/realtime_updates_notifier/plugin.py +0 -0
  257. {plugins → dmart/plugins}/redis_db_update/__init__.py +0 -0
  258. {plugins → dmart/plugins}/redis_db_update/plugin.py +0 -0
  259. {plugins → dmart/plugins}/resource_folders_creation/__init__.py +0 -0
  260. {plugins → dmart/plugins}/resource_folders_creation/plugin.py +0 -0
  261. {plugins → dmart/plugins}/system_notification_sender/__init__.py +0 -0
  262. {plugins → dmart/plugins}/system_notification_sender/plugin.py +0 -0
  263. {plugins → dmart/plugins}/update_access_controls/__init__.py +0 -0
  264. {plugins → dmart/plugins}/update_access_controls/plugin.py +0 -0
  265. /run_notification_campaign.py → /dmart/run_notification_campaign.py +0 -0
  266. /scheduled_notification_handler.py → /dmart/scheduled_notification_handler.py +0 -0
  267. /schema_migration.py → /dmart/schema_migration.py +0 -0
  268. /schema_modulate.py → /dmart/schema_modulate.py +0 -0
  269. /set_admin_passwd.py → /dmart/set_admin_passwd.py +0 -0
  270. /sync.py → /dmart/sync.py +0 -0
  271. {pytests → dmart/utils}/__init__.py +0 -0
  272. {utils → dmart/utils}/access_control.py +0 -0
  273. {utils → dmart/utils}/async_request.py +0 -0
  274. {utils → dmart/utils}/exporter.py +0 -0
  275. {utils → dmart/utils}/firebase_notifier.py +0 -0
  276. {utils → dmart/utils}/generate_email.py +0 -0
  277. {utils → dmart/utils}/helpers.py +0 -0
  278. {utils → dmart/utils}/hypercorn_config.py +0 -0
  279. {utils → dmart/utils}/internal_error_code.py +0 -0
  280. {utils → dmart/utils}/jwt.py +0 -0
  281. {utils → dmart/utils}/logger.py +0 -0
  282. {utils → dmart/utils}/middleware.py +0 -0
  283. {utils → dmart/utils}/notification.py +0 -0
  284. {utils → dmart/utils}/password_hashing.py +0 -0
  285. {utils → dmart/utils}/plugin_manager.py +0 -0
  286. {utils → dmart/utils}/query_policies_helper.py +0 -0
  287. {utils → dmart/utils}/regex.py +0 -0
  288. {utils → dmart/utils}/repository.py +0 -0
  289. {utils → dmart/utils}/router_helper.py +0 -0
  290. {utils → dmart/utils}/settings.py +0 -0
  291. {utils → dmart/utils}/sms_notifier.py +0 -0
  292. {utils → dmart/utils}/social_sso.py +0 -0
  293. {utils → dmart/utils}/templates/activation.html.j2 +0 -0
  294. {utils → dmart/utils}/templates/reminder.html.j2 +0 -0
  295. {utils → dmart/utils}/ticket_sys_utils.py +0 -0
  296. {utils → dmart/utils}/web_notifier.py +0 -0
  297. /websocket.py → /dmart/websocket.py +0 -0
  298. {dmart-1.4.35.dist-info → dmart-1.4.36.dist-info}/WHEEL +0 -0
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes