mdify-cli 2.1.0__py3-none-any.whl → 2.3.0__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.
mdify/__init__.py CHANGED
@@ -1,3 +1,3 @@
1
1
  """mdify - Convert documents to Markdown via Docling container."""
2
2
 
3
- __version__ = "2.1.0"
3
+ __version__ = "2.3.0"
mdify/cli.py CHANGED
@@ -499,6 +499,13 @@ Examples:
499
499
  help="Image pull policy: always, missing, never (default: missing)",
500
500
  )
501
501
 
502
+ parser.add_argument(
503
+ "--timeout",
504
+ type=int,
505
+ default=None,
506
+ help="Conversion timeout in seconds (default: 1200, can be set via MDIFY_TIMEOUT env var)",
507
+ )
508
+
502
509
  # Utility options
503
510
  parser.add_argument(
504
511
  "--check-update",
@@ -532,6 +539,9 @@ def main() -> int:
532
539
  # Check for updates (daily, silent on errors)
533
540
  check_for_update(force=False)
534
541
 
542
+ # Resolve timeout value: CLI > env > default 1200
543
+ timeout = args.timeout or int(os.environ.get("MDIFY_TIMEOUT", 1200))
544
+
535
545
  # Validate input is provided
536
546
  if args.input is None:
537
547
  print("Error: Input file or directory is required", file=sys.stderr)
@@ -628,7 +638,7 @@ def main() -> int:
628
638
  print(f"Starting docling-serve container...")
629
639
  print()
630
640
 
631
- with DoclingContainer(runtime, image, args.port) as container:
641
+ with DoclingContainer(runtime, image, args.port, timeout=timeout) as container:
632
642
  # Convert files
633
643
  conversion_start = time.time()
634
644
  spinner = Spinner()
mdify/container.py CHANGED
@@ -20,17 +20,19 @@ class DoclingContainer:
20
20
  # Container automatically stopped and removed
21
21
  """
22
22
 
23
- def __init__(self, runtime: str, image: str, port: int = 5001):
23
+ def __init__(self, runtime: str, image: str, port: int = 5001, timeout: int = 1200):
24
24
  """Initialize container manager.
25
25
 
26
26
  Args:
27
27
  runtime: Container runtime ("docker" or "podman")
28
28
  image: Container image to use
29
29
  port: Host port to bind (default: 5001)
30
+ timeout: Conversion timeout in seconds (default: 1200)
30
31
  """
31
32
  self.runtime = runtime
32
33
  self.image = image
33
34
  self.port = port
35
+ self.timeout = timeout
34
36
  self.container_name = f"mdify-serve-{uuid.uuid4().hex[:8]}"
35
37
  self.container_id: Optional[str] = None
36
38
 
@@ -59,6 +61,8 @@ class DoclingContainer:
59
61
  self.container_name,
60
62
  "-p",
61
63
  f"{self.port}:5001",
64
+ "-e",
65
+ f"DOCLING_SERVE_MAX_SYNC_WAIT={self.timeout}",
62
66
  self.image,
63
67
  ]
64
68
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mdify-cli
3
- Version: 2.1.0
3
+ Version: 2.3.0
4
4
  Summary: Convert PDFs and document images into structured Markdown for LLM workflows
5
5
  Author: tiroq
6
6
  License-Expression: MIT
@@ -0,0 +1,12 @@
1
+ assets/mdify.png,sha256=qUj7WXWqNwpI2KNXOW79XJwqFqa-UI0JEkmt1mmy4Rg,1820418
2
+ mdify/__init__.py,sha256=FzoeSkFpZDcp937vaz9TNjscUbhK5z4MH3d6EMV_9fA,90
3
+ mdify/__main__.py,sha256=bhpJ00co6MfaVOdH4XLoW04NtLYDa_oJK7ODzfLrn9M,143
4
+ mdify/cli.py,sha256=5cplmrH8pk8VvW-bA6deAvGpkhH57KPLoajp4C0U7q8,22080
5
+ mdify/container.py,sha256=2oh9NyvFr9lCRb2YYpM_qKP3PPmAin0DbxvNP3m69jw,4158
6
+ mdify/docling_client.py,sha256=_9qjL5yOOeJahOg6an2P6Iii1xkeR6wmNJZG4Q6NRkk,6553
7
+ mdify_cli-2.3.0.dist-info/licenses/LICENSE,sha256=NWM66Uv-XuSMKaU-gaPmvfyk4WgE6zcIPr78wyg6GAo,1065
8
+ mdify_cli-2.3.0.dist-info/METADATA,sha256=gnebNztlcGOaJGG7zN9GE-4FUZvtfij2BUJG0VId3f0,7923
9
+ mdify_cli-2.3.0.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
10
+ mdify_cli-2.3.0.dist-info/entry_points.txt,sha256=0Xki8f5lADQUtwdt6Eq_FEaieI6Byhk8UE7BuDhChMg,41
11
+ mdify_cli-2.3.0.dist-info/top_level.txt,sha256=qltzf7h8owHq7dxCdfCkSHY8gT21hn1_E8P-VWS_OKM,6
12
+ mdify_cli-2.3.0.dist-info/RECORD,,
@@ -1,12 +0,0 @@
1
- assets/mdify.png,sha256=qUj7WXWqNwpI2KNXOW79XJwqFqa-UI0JEkmt1mmy4Rg,1820418
2
- mdify/__init__.py,sha256=OxKblQk_woS_-5Z6N5BMndbfQBdvopK1KrnSMAt-4A0,90
3
- mdify/__main__.py,sha256=bhpJ00co6MfaVOdH4XLoW04NtLYDa_oJK7ODzfLrn9M,143
4
- mdify/cli.py,sha256=0lRT1XCV9YMMJQ68kH93mrGfFtAC6GgXS-OGEn9mnGw,21742
5
- mdify/container.py,sha256=AVIhiq_wO5id5hQ_s83lUPkAPCsAoTs25azRT6JmKII,3962
6
- mdify/docling_client.py,sha256=_9qjL5yOOeJahOg6an2P6Iii1xkeR6wmNJZG4Q6NRkk,6553
7
- mdify_cli-2.1.0.dist-info/licenses/LICENSE,sha256=NWM66Uv-XuSMKaU-gaPmvfyk4WgE6zcIPr78wyg6GAo,1065
8
- mdify_cli-2.1.0.dist-info/METADATA,sha256=IaVJcjFLlyCKUIhWBntq47owI7Izrbj6t7Ce0EBrUwg,7923
9
- mdify_cli-2.1.0.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
10
- mdify_cli-2.1.0.dist-info/entry_points.txt,sha256=0Xki8f5lADQUtwdt6Eq_FEaieI6Byhk8UE7BuDhChMg,41
11
- mdify_cli-2.1.0.dist-info/top_level.txt,sha256=qltzf7h8owHq7dxCdfCkSHY8gT21hn1_E8P-VWS_OKM,6
12
- mdify_cli-2.1.0.dist-info/RECORD,,