mdify-cli 3.0.6__tar.gz → 3.0.7__tar.gz

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 (27) hide show
  1. {mdify_cli-3.0.6 → mdify_cli-3.0.7}/PKG-INFO +1 -1
  2. {mdify_cli-3.0.6 → mdify_cli-3.0.7}/mdify/__init__.py +1 -1
  3. {mdify_cli-3.0.6 → mdify_cli-3.0.7}/mdify/cli.py +15 -26
  4. {mdify_cli-3.0.6 → mdify_cli-3.0.7}/mdify_cli.egg-info/PKG-INFO +1 -1
  5. {mdify_cli-3.0.6 → mdify_cli-3.0.7}/pyproject.toml +1 -1
  6. {mdify_cli-3.0.6 → mdify_cli-3.0.7}/LICENSE +0 -0
  7. {mdify_cli-3.0.6 → mdify_cli-3.0.7}/README.md +0 -0
  8. {mdify_cli-3.0.6 → mdify_cli-3.0.7}/assets/mdify.png +0 -0
  9. {mdify_cli-3.0.6 → mdify_cli-3.0.7}/mdify/__main__.py +0 -0
  10. {mdify_cli-3.0.6 → mdify_cli-3.0.7}/mdify/container.py +0 -0
  11. {mdify_cli-3.0.6 → mdify_cli-3.0.7}/mdify/docling_client.py +0 -0
  12. {mdify_cli-3.0.6 → mdify_cli-3.0.7}/mdify/formatting.py +0 -0
  13. {mdify_cli-3.0.6 → mdify_cli-3.0.7}/mdify/ssh/__init__.py +0 -0
  14. {mdify_cli-3.0.6 → mdify_cli-3.0.7}/mdify/ssh/client.py +0 -0
  15. {mdify_cli-3.0.6 → mdify_cli-3.0.7}/mdify/ssh/models.py +0 -0
  16. {mdify_cli-3.0.6 → mdify_cli-3.0.7}/mdify/ssh/remote_container.py +0 -0
  17. {mdify_cli-3.0.6 → mdify_cli-3.0.7}/mdify/ssh/transfer.py +0 -0
  18. {mdify_cli-3.0.6 → mdify_cli-3.0.7}/mdify_cli.egg-info/SOURCES.txt +0 -0
  19. {mdify_cli-3.0.6 → mdify_cli-3.0.7}/mdify_cli.egg-info/dependency_links.txt +0 -0
  20. {mdify_cli-3.0.6 → mdify_cli-3.0.7}/mdify_cli.egg-info/entry_points.txt +0 -0
  21. {mdify_cli-3.0.6 → mdify_cli-3.0.7}/mdify_cli.egg-info/requires.txt +0 -0
  22. {mdify_cli-3.0.6 → mdify_cli-3.0.7}/mdify_cli.egg-info/top_level.txt +0 -0
  23. {mdify_cli-3.0.6 → mdify_cli-3.0.7}/setup.cfg +0 -0
  24. {mdify_cli-3.0.6 → mdify_cli-3.0.7}/tests/test_cli.py +0 -0
  25. {mdify_cli-3.0.6 → mdify_cli-3.0.7}/tests/test_container.py +0 -0
  26. {mdify_cli-3.0.6 → mdify_cli-3.0.7}/tests/test_docling_client.py +0 -0
  27. {mdify_cli-3.0.6 → mdify_cli-3.0.7}/tests/test_ssh_client.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mdify-cli
3
- Version: 3.0.6
3
+ Version: 3.0.7
4
4
  Summary: Convert PDFs and document images into structured Markdown for LLM workflows
5
5
  Author: tiroq
6
6
  License-Expression: MIT
@@ -1,3 +1,3 @@
1
1
  """mdify - Convert documents to Markdown via Docling container."""
2
2
 
3
- __version__ = "3.0.6"
3
+ __version__ = "3.0.7"
@@ -1322,42 +1322,31 @@ def main_async_remote(args) -> int:
1322
1322
  # Retry conversion command with exponential backoff
1323
1323
  conversion_attempt = 0
1324
1324
  conversion_success = False
1325
- while conversion_attempt < 3:
1325
+ conversion_output = None
1326
+ while conversion_attempt < 3 and not conversion_success:
1326
1327
  try:
1327
- stdout, stderr, code = await ssh_client.run_command(convert_cmd, timeout=timeout)
1328
+ if conversion_attempt > 0 and not args.quiet:
1329
+ print(f" ↻ Conversion retry {conversion_attempt}...", file=sys.stderr)
1328
1330
 
1329
- if code == 0:
1331
+ conversion_output, _, conv_code = await ssh_client.run_command(convert_cmd, timeout=timeout)
1332
+
1333
+ if conv_code == 0:
1330
1334
  conversion_success = True
1331
1335
  break
1332
- elif is_connection_error(Exception(stderr)) and conversion_attempt < 2:
1333
- conversion_attempt += 1
1334
- if not args.quiet:
1335
- print(f" ↻ Conversion attempt {conversion_attempt}: reconnecting...", file=sys.stderr)
1336
- try:
1337
- await ssh_client.disconnect()
1338
- except Exception:
1339
- pass
1340
- await ssh_client.connect()
1341
- continue
1342
1336
  else:
1343
- if not args.quiet:
1344
- print(f" ✗ Conversion failed (curl error code {code}): {stderr}", file=sys.stderr)
1345
- break
1337
+ conversion_attempt += 1
1346
1338
  except Exception as conv_exc:
1347
1339
  if is_connection_error(conv_exc) and conversion_attempt < 2:
1348
1340
  conversion_attempt += 1
1349
1341
  if not args.quiet:
1350
- print(f" ↻ Conversion attempt {conversion_attempt}: reconnecting...", file=sys.stderr)
1342
+ print(f" ↻ Connection lost during conversion. Reconnecting (attempt {conversion_attempt})...", file=sys.stderr)
1351
1343
  try:
1352
1344
  await ssh_client.disconnect()
1353
1345
  except Exception:
1354
1346
  pass
1355
1347
  await ssh_client.connect()
1356
- continue
1357
1348
  else:
1358
- raise conv_exc
1359
-
1360
- conversion_attempt += 1
1349
+ conversion_attempt += 1
1361
1350
 
1362
1351
  if not conversion_success:
1363
1352
  print(f" ✗ Failed: Conversion failed after {conversion_attempt} attempt(s)", file=sys.stderr)
@@ -1366,7 +1355,7 @@ def main_async_remote(args) -> int:
1366
1355
 
1367
1356
  # Parse JSON response to extract markdown content
1368
1357
  try:
1369
- response_data = json.loads(stdout)
1358
+ response_data = json.loads(conversion_output)
1370
1359
 
1371
1360
  # Extract content from response structure
1372
1361
  # Actual format: {"document": {"md_content": "..."}, "status": "success"}
@@ -1395,7 +1384,7 @@ def main_async_remote(args) -> int:
1395
1384
  markdown_content = str(result)
1396
1385
  else:
1397
1386
  # Ultimate fallback
1398
- markdown_content = stdout
1387
+ markdown_content = conversion_output
1399
1388
 
1400
1389
  # Write markdown content to remote file
1401
1390
  write_cmd = f"cat > {remote_output_path} << 'MDIFY_EOF'\n{markdown_content}\nMDIFY_EOF"
@@ -1406,10 +1395,10 @@ def main_async_remote(args) -> int:
1406
1395
  failed += 1
1407
1396
  break
1408
1397
 
1409
- except (json.JSONDecodeError, KeyError, IndexError) as e:
1410
- print(f" ✗ Failed to parse conversion response: {e}", file=sys.stderr)
1398
+ except (json.JSONDecodeError, KeyError, IndexError):
1399
+ print(f" ✗ Failed to parse conversion response", file=sys.stderr)
1411
1400
  if DEBUG:
1412
- print(f" Response: {stdout[:500]}", file=sys.stderr)
1401
+ print(f" Response: {conversion_output[:500]}", file=sys.stderr)
1413
1402
  failed += 1
1414
1403
  break
1415
1404
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mdify-cli
3
- Version: 3.0.6
3
+ Version: 3.0.7
4
4
  Summary: Convert PDFs and document images into structured Markdown for LLM workflows
5
5
  Author: tiroq
6
6
  License-Expression: MIT
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "mdify-cli"
3
- version = "3.0.6"
3
+ version = "3.0.7"
4
4
  description = "Convert PDFs and document images into structured Markdown for LLM workflows"
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.10"
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes