dmart 1.4.40.post22__py3-none-any.whl → 1.4.40.post24__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.
dmart/cxb/config.json CHANGED
@@ -6,6 +6,6 @@
6
6
  "description": "dmart unified data platform",
7
7
  "default_language": "en",
8
8
  "languages": { "ar": "العربية", "en": "English" },
9
- "backend": "http://127.0.0.1:8282",
10
- "websocket": "ws://127.0.0.1:8484/ws"
9
+ "backend": "http://0.0.0.0:8282",
10
+ "websocket": "ws://0.0.0.0:8484/ws"
11
11
  }
dmart/dmart.py CHANGED
@@ -17,13 +17,6 @@ from pathlib import Path
17
17
  from multiprocessing import freeze_support
18
18
 
19
19
 
20
- script_dir = str(Path(__file__).resolve().parent)
21
-
22
- from hypercorn.config import Config
23
- from hypercorn.run import run
24
- from dmart.utils.settings import settings
25
-
26
-
27
20
  commands = """
28
21
  serve
29
22
  hyper
@@ -48,13 +41,12 @@ sentinel = object()
48
41
 
49
42
 
50
43
  def hypercorn_main(args_list: list[str]) -> int:
51
- from dmart.utils.settings import settings
52
44
  parser = argparse.ArgumentParser()
53
45
  parser.add_argument(
54
46
  "application",
55
47
  help="The application to dispatch to as path.to.module:instance.path",
56
48
  nargs="?",
57
- default="main:app"
49
+ default="dmart.main:app"
58
50
  )
59
51
  parser.add_argument("--access-log", help="Deprecated, see access-logfile", default=sentinel)
60
52
  parser.add_argument(
@@ -256,20 +248,44 @@ def hypercorn_main(args_list: list[str]) -> int:
256
248
  )
257
249
  args = parser.parse_args(args_list)
258
250
 
251
+ # Allow child processes to find the application
252
+ dmart_dir = os.path.dirname(os.path.abspath(__file__))
253
+ dmart_pkg_parent = os.path.dirname(dmart_dir)
254
+
255
+ # Ensure dmart_pkg_parent is in sys.path
256
+ if dmart_pkg_parent not in sys.path:
257
+ sys.path.insert(0, dmart_pkg_parent)
258
+
259
+ # Ensure dmart_dir itself is NOT in sys.path to avoid module/package conflict
260
+ if dmart_dir in sys.path:
261
+ sys.path.remove(dmart_dir)
262
+
263
+ # If 'dmart' was imported as a module (due to shadowing), remove it
264
+ if "dmart" in sys.modules:
265
+ dmart_mod = sys.modules["dmart"]
266
+ if not hasattr(dmart_mod, "__path__"):
267
+ del sys.modules["dmart"]
268
+
269
+ # Handle the case where we are running from source and 'dmart' package is not available
270
+ # but the current directory contains 'main.py'
271
+ try:
272
+ from dmart import main as _unused
273
+ except ImportError:
274
+ if os.path.exists(os.path.join(dmart_dir, "main.py")):
275
+ if dmart_dir not in sys.path:
276
+ sys.path.insert(0, dmart_dir)
277
+ if args.application == "dmart.main:app":
278
+ args.application = "main:app"
279
+
280
+ from hypercorn.config import Config
281
+ from hypercorn.run import run
282
+ from dmart.utils.settings import settings
283
+
259
284
  if args.config == "hypercorn_config.toml" and not os.path.exists(args.config):
260
285
  config = Config()
261
286
  config.backlog = 2000
262
287
  config.workers = 1
263
288
  config.bind = ["localhost:8282"]
264
- # Allow child processes to find the application
265
- dmart_dir = os.path.dirname(os.path.abspath(__file__))
266
- dmart_pkg_parent = os.path.dirname(dmart_dir)
267
- if dmart_pkg_parent not in sys.path:
268
- sys.path.insert(0, dmart_pkg_parent)
269
-
270
- # Ensure dmart_dir itself is NOT in sys.path
271
- if dmart_dir in sys.path:
272
- sys.path.remove(dmart_dir)
273
289
  else:
274
290
  config = Config.from_toml(args.config)
275
291
 
@@ -418,6 +434,26 @@ def print_formatted(data):
418
434
 
419
435
 
420
436
  def main():
437
+ # Allow processes to find the dmart package
438
+ dmart_dir = os.path.dirname(os.path.abspath(__file__))
439
+ dmart_pkg_parent = os.path.dirname(dmart_dir)
440
+
441
+ if dmart_pkg_parent not in sys.path:
442
+ sys.path.insert(0, dmart_pkg_parent)
443
+
444
+ if dmart_dir in sys.path:
445
+ sys.path.remove(dmart_dir)
446
+
447
+ if "" in sys.path:
448
+ sys.path.remove("")
449
+
450
+ # If 'dmart' was imported as a module (due to shadowing), remove it
451
+ # so it can be correctly imported as a package from the fixed sys.path
452
+ if "dmart" in sys.modules:
453
+ dmart_mod = sys.modules["dmart"]
454
+ if not hasattr(dmart_mod, "__path__"):
455
+ del sys.modules["dmart"]
456
+
421
457
  if len(sys.argv) < 2:
422
458
  print("You must provide a command to run:")
423
459
  print(commands)
@@ -833,25 +869,4 @@ def main():
833
869
 
834
870
  if __name__ == "__main__":
835
871
  freeze_support()
836
- # If we are running as a script (e.g. during multiprocessing spawn),
837
- # we need to ensure the parent of dmart package is in sys.path
838
- # so that 'import dmart' works correctly.
839
- # However, we must NOT add the directory containing dmart.py itself
840
- # to sys.path, as that would make 'dmart' a module instead of a package.
841
-
842
- # Path to this file: .../site-packages/dmart/dmart.py
843
- # dmart_dir: .../site-packages/dmart
844
- # dmart_pkg_parent: .../site-packages
845
- dmart_dir = os.path.dirname(os.path.abspath(__file__))
846
- dmart_pkg_parent = os.path.dirname(dmart_dir)
847
-
848
- if dmart_pkg_parent not in sys.path:
849
- sys.path.append(dmart_pkg_parent)
850
-
851
- # Ensure dmart_dir itself is NOT in sys.path to avoid module/package conflict
852
- if dmart_dir in sys.path:
853
- sys.path.remove(dmart_dir)
854
- if "" in sys.path:
855
- sys.path.remove("")
856
-
857
872
  main()
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dmart
3
- Version: 1.4.40.post22
3
+ Version: 1.4.40.post24
4
4
  Requires-Python: >=3.11
5
5
  Requires-Dist: fastapi
6
6
  Requires-Dist: pydantic
@@ -8,7 +8,7 @@ dmart/conftest.py,sha256=0ry_zeCmdBNLbm5q115b-pkOrUFYxdsOUXbIMkr7E5Y,362
8
8
  dmart/curl.pypi.sh,sha256=KQ-kgV3_d5mwqoLd4XOwz5s2wRQ7LDVX3z-kvjvp9hA,15631
9
9
  dmart/curl.sh,sha256=lmHSFVr5ft-lc5Aq9LfvKyWfntrfYbnirhzx1EGjp_A,15743
10
10
  dmart/data_generator.py,sha256=CnE-VHEeX7-lAXtqCgbRqR9WHjTuOgeiZcviYrHAmho,2287
11
- dmart/dmart.py,sha256=AF_9WBX0bJwD7jc4J_w8DykWFfto4CjRIJwINb2RLuY,33668
11
+ dmart/dmart.py,sha256=5ACm3MWKltX-dP4cVz8jp6UpLVfcVGGOHtCcUdVLeZA,34135
12
12
  dmart/get_settings.py,sha256=Sbe2WCoiK398E7HY4SNLfDN_GmE8knR4M-YJWF31jcg,153
13
13
  dmart/hypercorn_config.toml,sha256=-eryppEG8HBOM_KbFc4dTQePnpyfoW9ZG5aUATU_6yM,50
14
14
  dmart/info.json,sha256=6Kb7MXzVS0PzDZOUXtBoAA3zpxvtRBR0PJnedjBE-v4,123
@@ -79,7 +79,7 @@ dmart/config/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
79
79
  dmart/config/channels.json,sha256=GepystGi0h_1fuakC_gdIc-YYxyy-a4TI619ygIpyyM,156
80
80
  dmart/config/notification.json,sha256=esrOaMUIqfcCHB0Tawp3t4cu7DQAA15X12OS-Gyenb0,361
81
81
  dmart/cxb/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
82
- dmart/cxb/config.json,sha256=WvhCcnJ9-uQ2raPuRBRSGO3iD7Hcaf8Cy49EXUu3KQw,358
82
+ dmart/cxb/config.json,sha256=xn55EmokYC8CgcLebxGsgp2ZLyUKmY2-587kf-66tEQ,354
83
83
  dmart/cxb/config.sample.json,sha256=fTYLbnTiUdbT_F7rcwI7CLSZ_KoX8EflfuyswRGW2x0,355
84
84
  dmart/cxb/favicon.ico,sha256=CD2FYyYYFNAbH7lGPnM5-2asMmhf-kwitAp99Kh0Wmc,4286
85
85
  dmart/cxb/favicon.png,sha256=gbSWS2UiKrUcy5Jt4gcncDrE5yvfAS00OgYzdNxPxlk,4164
@@ -483,8 +483,8 @@ dmart/utils/ticket_sys_utils.py,sha256=9QAlW2iiy8KyxQRBDj_WmzS5kKb0aYJmGwd4qzmGV
483
483
  dmart/utils/web_notifier.py,sha256=QM87VVid2grC5lK3NdS1yzz0z1wXljr4GChJOeK86W4,843
484
484
  dmart/utils/templates/activation.html.j2,sha256=XAMKCdoqONoc4ZQucD0yV-Pg5DlHHASZrTVItNS-iBE,640
485
485
  dmart/utils/templates/reminder.html.j2,sha256=aoS8bTs56q4hjAZKsb0jV9c-PIURBELuBOpT_qPZNVU,639
486
- dmart-1.4.40.post22.dist-info/METADATA,sha256=9YYBfmV4--BLFQwl3BZAolOVISR06FWRqAfXzn43Qf4,839
487
- dmart-1.4.40.post22.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
488
- dmart-1.4.40.post22.dist-info/entry_points.txt,sha256=N832M4wG8d2GDw1xztKRVM3TnxpY2QDzvdFE8XaWaG8,43
489
- dmart-1.4.40.post22.dist-info/top_level.txt,sha256=zJo4qk9fUW0BGIR9f4DCfpxaXbvQXH9izIOom6JsyAo,6
490
- dmart-1.4.40.post22.dist-info/RECORD,,
486
+ dmart-1.4.40.post24.dist-info/METADATA,sha256=urCqIjPP1uy_ayIMAKGYXsLFTt7j80VgSwCq7WzSr-g,839
487
+ dmart-1.4.40.post24.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
488
+ dmart-1.4.40.post24.dist-info/entry_points.txt,sha256=N832M4wG8d2GDw1xztKRVM3TnxpY2QDzvdFE8XaWaG8,43
489
+ dmart-1.4.40.post24.dist-info/top_level.txt,sha256=zJo4qk9fUW0BGIR9f4DCfpxaXbvQXH9izIOom6JsyAo,6
490
+ dmart-1.4.40.post24.dist-info/RECORD,,