nv-ingest-api 2025.4.17.dev20250417__tar.gz → 2025.4.18.dev20250418__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.

Potentially problematic release.


This version of nv-ingest-api might be problematic. Click here for more details.

Files changed (161) hide show
  1. {nv_ingest_api-2025.4.17.dev20250417/src/nv_ingest_api.egg-info → nv_ingest_api-2025.4.18.dev20250418}/PKG-INFO +1 -1
  2. {nv_ingest_api-2025.4.17.dev20250417 → nv_ingest_api-2025.4.18.dev20250418}/src/nv_ingest_api/util/message_brokers/simple_message_broker/simple_client.py +22 -6
  3. {nv_ingest_api-2025.4.17.dev20250417 → nv_ingest_api-2025.4.18.dev20250418}/src/nv_ingest_api/util/service_clients/client_base.py +16 -2
  4. nv_ingest_api-2025.4.18.dev20250418/src/nv_ingest_api/util/service_clients/redis/redis_client.py +823 -0
  5. nv_ingest_api-2025.4.18.dev20250418/src/nv_ingest_api/util/service_clients/rest/rest_client.py +531 -0
  6. {nv_ingest_api-2025.4.17.dev20250417 → nv_ingest_api-2025.4.18.dev20250418/src/nv_ingest_api.egg-info}/PKG-INFO +1 -1
  7. nv_ingest_api-2025.4.17.dev20250417/src/nv_ingest_api/util/service_clients/redis/redis_client.py +0 -334
  8. nv_ingest_api-2025.4.17.dev20250417/src/nv_ingest_api/util/service_clients/rest/rest_client.py +0 -398
  9. {nv_ingest_api-2025.4.17.dev20250417 → nv_ingest_api-2025.4.18.dev20250418}/LICENSE +0 -0
  10. {nv_ingest_api-2025.4.17.dev20250417 → nv_ingest_api-2025.4.18.dev20250418}/MANIFEST.in +0 -0
  11. {nv_ingest_api-2025.4.17.dev20250417 → nv_ingest_api-2025.4.18.dev20250418}/README.md +0 -0
  12. {nv_ingest_api-2025.4.17.dev20250417 → nv_ingest_api-2025.4.18.dev20250418}/pyproject.toml +0 -0
  13. {nv_ingest_api-2025.4.17.dev20250417 → nv_ingest_api-2025.4.18.dev20250418}/setup.cfg +0 -0
  14. {nv_ingest_api-2025.4.17.dev20250417 → nv_ingest_api-2025.4.18.dev20250418}/src/nv_ingest_api/__init__.py +0 -0
  15. {nv_ingest_api-2025.4.17.dev20250417 → nv_ingest_api-2025.4.18.dev20250418}/src/nv_ingest_api/interface/__init__.py +0 -0
  16. {nv_ingest_api-2025.4.17.dev20250417 → nv_ingest_api-2025.4.18.dev20250418}/src/nv_ingest_api/interface/extract.py +0 -0
  17. {nv_ingest_api-2025.4.17.dev20250417 → nv_ingest_api-2025.4.18.dev20250418}/src/nv_ingest_api/interface/mutate.py +0 -0
  18. {nv_ingest_api-2025.4.17.dev20250417 → nv_ingest_api-2025.4.18.dev20250418}/src/nv_ingest_api/interface/store.py +0 -0
  19. {nv_ingest_api-2025.4.17.dev20250417 → nv_ingest_api-2025.4.18.dev20250418}/src/nv_ingest_api/interface/transform.py +0 -0
  20. {nv_ingest_api-2025.4.17.dev20250417 → nv_ingest_api-2025.4.18.dev20250418}/src/nv_ingest_api/interface/utility.py +0 -0
  21. {nv_ingest_api-2025.4.17.dev20250417 → nv_ingest_api-2025.4.18.dev20250418}/src/nv_ingest_api/internal/__init__.py +0 -0
  22. {nv_ingest_api-2025.4.17.dev20250417 → nv_ingest_api-2025.4.18.dev20250418}/src/nv_ingest_api/internal/enums/__init__.py +0 -0
  23. {nv_ingest_api-2025.4.17.dev20250417 → nv_ingest_api-2025.4.18.dev20250418}/src/nv_ingest_api/internal/enums/common.py +0 -0
  24. {nv_ingest_api-2025.4.17.dev20250417 → nv_ingest_api-2025.4.18.dev20250418}/src/nv_ingest_api/internal/extract/__init__.py +0 -0
  25. {nv_ingest_api-2025.4.17.dev20250417 → nv_ingest_api-2025.4.18.dev20250418}/src/nv_ingest_api/internal/extract/audio/__init__.py +0 -0
  26. {nv_ingest_api-2025.4.17.dev20250417 → nv_ingest_api-2025.4.18.dev20250418}/src/nv_ingest_api/internal/extract/audio/audio_extraction.py +0 -0
  27. {nv_ingest_api-2025.4.17.dev20250417 → nv_ingest_api-2025.4.18.dev20250418}/src/nv_ingest_api/internal/extract/docx/__init__.py +0 -0
  28. {nv_ingest_api-2025.4.17.dev20250417 → nv_ingest_api-2025.4.18.dev20250418}/src/nv_ingest_api/internal/extract/docx/docx_extractor.py +0 -0
  29. {nv_ingest_api-2025.4.17.dev20250417 → nv_ingest_api-2025.4.18.dev20250418}/src/nv_ingest_api/internal/extract/docx/engines/__init__.py +0 -0
  30. {nv_ingest_api-2025.4.17.dev20250417 → nv_ingest_api-2025.4.18.dev20250418}/src/nv_ingest_api/internal/extract/docx/engines/docxreader_helpers/__init__.py +0 -0
  31. {nv_ingest_api-2025.4.17.dev20250417 → nv_ingest_api-2025.4.18.dev20250418}/src/nv_ingest_api/internal/extract/docx/engines/docxreader_helpers/docx_helper.py +0 -0
  32. {nv_ingest_api-2025.4.17.dev20250417 → nv_ingest_api-2025.4.18.dev20250418}/src/nv_ingest_api/internal/extract/docx/engines/docxreader_helpers/docxreader.py +0 -0
  33. {nv_ingest_api-2025.4.17.dev20250417 → nv_ingest_api-2025.4.18.dev20250418}/src/nv_ingest_api/internal/extract/image/__init__.py +0 -0
  34. {nv_ingest_api-2025.4.17.dev20250417 → nv_ingest_api-2025.4.18.dev20250418}/src/nv_ingest_api/internal/extract/image/chart_extractor.py +0 -0
  35. {nv_ingest_api-2025.4.17.dev20250417 → nv_ingest_api-2025.4.18.dev20250418}/src/nv_ingest_api/internal/extract/image/image_extractor.py +0 -0
  36. {nv_ingest_api-2025.4.17.dev20250417 → nv_ingest_api-2025.4.18.dev20250418}/src/nv_ingest_api/internal/extract/image/image_helpers/__init__.py +0 -0
  37. {nv_ingest_api-2025.4.17.dev20250417 → nv_ingest_api-2025.4.18.dev20250418}/src/nv_ingest_api/internal/extract/image/image_helpers/common.py +0 -0
  38. {nv_ingest_api-2025.4.17.dev20250417 → nv_ingest_api-2025.4.18.dev20250418}/src/nv_ingest_api/internal/extract/image/infographic_extractor.py +0 -0
  39. {nv_ingest_api-2025.4.17.dev20250417 → nv_ingest_api-2025.4.18.dev20250418}/src/nv_ingest_api/internal/extract/image/table_extractor.py +0 -0
  40. {nv_ingest_api-2025.4.17.dev20250417 → nv_ingest_api-2025.4.18.dev20250418}/src/nv_ingest_api/internal/extract/pdf/__init__.py +0 -0
  41. {nv_ingest_api-2025.4.17.dev20250417 → nv_ingest_api-2025.4.18.dev20250418}/src/nv_ingest_api/internal/extract/pdf/engines/__init__.py +0 -0
  42. {nv_ingest_api-2025.4.17.dev20250417 → nv_ingest_api-2025.4.18.dev20250418}/src/nv_ingest_api/internal/extract/pdf/engines/adobe.py +0 -0
  43. {nv_ingest_api-2025.4.17.dev20250417 → nv_ingest_api-2025.4.18.dev20250418}/src/nv_ingest_api/internal/extract/pdf/engines/llama.py +0 -0
  44. {nv_ingest_api-2025.4.17.dev20250417 → nv_ingest_api-2025.4.18.dev20250418}/src/nv_ingest_api/internal/extract/pdf/engines/nemoretriever.py +0 -0
  45. {nv_ingest_api-2025.4.17.dev20250417 → nv_ingest_api-2025.4.18.dev20250418}/src/nv_ingest_api/internal/extract/pdf/engines/pdf_helpers/__init__.py +0 -0
  46. {nv_ingest_api-2025.4.17.dev20250417 → nv_ingest_api-2025.4.18.dev20250418}/src/nv_ingest_api/internal/extract/pdf/engines/pdfium.py +0 -0
  47. {nv_ingest_api-2025.4.17.dev20250417 → nv_ingest_api-2025.4.18.dev20250418}/src/nv_ingest_api/internal/extract/pdf/engines/tika.py +0 -0
  48. {nv_ingest_api-2025.4.17.dev20250417 → nv_ingest_api-2025.4.18.dev20250418}/src/nv_ingest_api/internal/extract/pdf/engines/unstructured_io.py +0 -0
  49. {nv_ingest_api-2025.4.17.dev20250417 → nv_ingest_api-2025.4.18.dev20250418}/src/nv_ingest_api/internal/extract/pdf/pdf_extractor.py +0 -0
  50. {nv_ingest_api-2025.4.17.dev20250417 → nv_ingest_api-2025.4.18.dev20250418}/src/nv_ingest_api/internal/extract/pptx/__init__.py +0 -0
  51. {nv_ingest_api-2025.4.17.dev20250417 → nv_ingest_api-2025.4.18.dev20250418}/src/nv_ingest_api/internal/extract/pptx/engines/__init__.py +0 -0
  52. {nv_ingest_api-2025.4.17.dev20250417 → nv_ingest_api-2025.4.18.dev20250418}/src/nv_ingest_api/internal/extract/pptx/engines/pptx_helper.py +0 -0
  53. {nv_ingest_api-2025.4.17.dev20250417 → nv_ingest_api-2025.4.18.dev20250418}/src/nv_ingest_api/internal/extract/pptx/pptx_extractor.py +0 -0
  54. {nv_ingest_api-2025.4.17.dev20250417 → nv_ingest_api-2025.4.18.dev20250418}/src/nv_ingest_api/internal/mutate/__init__.py +0 -0
  55. {nv_ingest_api-2025.4.17.dev20250417 → nv_ingest_api-2025.4.18.dev20250418}/src/nv_ingest_api/internal/mutate/deduplicate.py +0 -0
  56. {nv_ingest_api-2025.4.17.dev20250417 → nv_ingest_api-2025.4.18.dev20250418}/src/nv_ingest_api/internal/mutate/filter.py +0 -0
  57. {nv_ingest_api-2025.4.17.dev20250417 → nv_ingest_api-2025.4.18.dev20250418}/src/nv_ingest_api/internal/primitives/__init__.py +0 -0
  58. {nv_ingest_api-2025.4.17.dev20250417 → nv_ingest_api-2025.4.18.dev20250418}/src/nv_ingest_api/internal/primitives/control_message_task.py +0 -0
  59. {nv_ingest_api-2025.4.17.dev20250417 → nv_ingest_api-2025.4.18.dev20250418}/src/nv_ingest_api/internal/primitives/ingest_control_message.py +0 -0
  60. {nv_ingest_api-2025.4.17.dev20250417 → nv_ingest_api-2025.4.18.dev20250418}/src/nv_ingest_api/internal/primitives/nim/__init__.py +0 -0
  61. {nv_ingest_api-2025.4.17.dev20250417 → nv_ingest_api-2025.4.18.dev20250418}/src/nv_ingest_api/internal/primitives/nim/default_values.py +0 -0
  62. {nv_ingest_api-2025.4.17.dev20250417 → nv_ingest_api-2025.4.18.dev20250418}/src/nv_ingest_api/internal/primitives/nim/model_interface/__init__.py +0 -0
  63. {nv_ingest_api-2025.4.17.dev20250417 → nv_ingest_api-2025.4.18.dev20250418}/src/nv_ingest_api/internal/primitives/nim/model_interface/cached.py +0 -0
  64. {nv_ingest_api-2025.4.17.dev20250417 → nv_ingest_api-2025.4.18.dev20250418}/src/nv_ingest_api/internal/primitives/nim/model_interface/decorators.py +0 -0
  65. {nv_ingest_api-2025.4.17.dev20250417 → nv_ingest_api-2025.4.18.dev20250418}/src/nv_ingest_api/internal/primitives/nim/model_interface/deplot.py +0 -0
  66. {nv_ingest_api-2025.4.17.dev20250417 → nv_ingest_api-2025.4.18.dev20250418}/src/nv_ingest_api/internal/primitives/nim/model_interface/helpers.py +0 -0
  67. {nv_ingest_api-2025.4.17.dev20250417 → nv_ingest_api-2025.4.18.dev20250418}/src/nv_ingest_api/internal/primitives/nim/model_interface/nemoretriever_parse.py +0 -0
  68. {nv_ingest_api-2025.4.17.dev20250417 → nv_ingest_api-2025.4.18.dev20250418}/src/nv_ingest_api/internal/primitives/nim/model_interface/paddle.py +0 -0
  69. {nv_ingest_api-2025.4.17.dev20250417 → nv_ingest_api-2025.4.18.dev20250418}/src/nv_ingest_api/internal/primitives/nim/model_interface/parakeet.py +0 -0
  70. {nv_ingest_api-2025.4.17.dev20250417 → nv_ingest_api-2025.4.18.dev20250418}/src/nv_ingest_api/internal/primitives/nim/model_interface/text_embedding.py +0 -0
  71. {nv_ingest_api-2025.4.17.dev20250417 → nv_ingest_api-2025.4.18.dev20250418}/src/nv_ingest_api/internal/primitives/nim/model_interface/vlm.py +0 -0
  72. {nv_ingest_api-2025.4.17.dev20250417 → nv_ingest_api-2025.4.18.dev20250418}/src/nv_ingest_api/internal/primitives/nim/model_interface/yolox.py +0 -0
  73. {nv_ingest_api-2025.4.17.dev20250417 → nv_ingest_api-2025.4.18.dev20250418}/src/nv_ingest_api/internal/primitives/nim/nim_client.py +0 -0
  74. {nv_ingest_api-2025.4.17.dev20250417 → nv_ingest_api-2025.4.18.dev20250418}/src/nv_ingest_api/internal/primitives/nim/nim_model_interface.py +0 -0
  75. {nv_ingest_api-2025.4.17.dev20250417 → nv_ingest_api-2025.4.18.dev20250418}/src/nv_ingest_api/internal/primitives/tracing/__init__.py +0 -0
  76. {nv_ingest_api-2025.4.17.dev20250417 → nv_ingest_api-2025.4.18.dev20250418}/src/nv_ingest_api/internal/primitives/tracing/latency.py +0 -0
  77. {nv_ingest_api-2025.4.17.dev20250417 → nv_ingest_api-2025.4.18.dev20250418}/src/nv_ingest_api/internal/primitives/tracing/logging.py +0 -0
  78. {nv_ingest_api-2025.4.17.dev20250417 → nv_ingest_api-2025.4.18.dev20250418}/src/nv_ingest_api/internal/primitives/tracing/tagging.py +0 -0
  79. {nv_ingest_api-2025.4.17.dev20250417 → nv_ingest_api-2025.4.18.dev20250418}/src/nv_ingest_api/internal/schemas/__init__.py +0 -0
  80. {nv_ingest_api-2025.4.17.dev20250417 → nv_ingest_api-2025.4.18.dev20250418}/src/nv_ingest_api/internal/schemas/extract/__init__.py +0 -0
  81. {nv_ingest_api-2025.4.17.dev20250417 → nv_ingest_api-2025.4.18.dev20250418}/src/nv_ingest_api/internal/schemas/extract/extract_audio_schema.py +0 -0
  82. {nv_ingest_api-2025.4.17.dev20250417 → nv_ingest_api-2025.4.18.dev20250418}/src/nv_ingest_api/internal/schemas/extract/extract_chart_schema.py +0 -0
  83. {nv_ingest_api-2025.4.17.dev20250417 → nv_ingest_api-2025.4.18.dev20250418}/src/nv_ingest_api/internal/schemas/extract/extract_docx_schema.py +0 -0
  84. {nv_ingest_api-2025.4.17.dev20250417 → nv_ingest_api-2025.4.18.dev20250418}/src/nv_ingest_api/internal/schemas/extract/extract_image_schema.py +0 -0
  85. {nv_ingest_api-2025.4.17.dev20250417 → nv_ingest_api-2025.4.18.dev20250418}/src/nv_ingest_api/internal/schemas/extract/extract_infographic_schema.py +0 -0
  86. {nv_ingest_api-2025.4.17.dev20250417 → nv_ingest_api-2025.4.18.dev20250418}/src/nv_ingest_api/internal/schemas/extract/extract_pdf_schema.py +0 -0
  87. {nv_ingest_api-2025.4.17.dev20250417 → nv_ingest_api-2025.4.18.dev20250418}/src/nv_ingest_api/internal/schemas/extract/extract_pptx_schema.py +0 -0
  88. {nv_ingest_api-2025.4.17.dev20250417 → nv_ingest_api-2025.4.18.dev20250418}/src/nv_ingest_api/internal/schemas/extract/extract_table_schema.py +0 -0
  89. {nv_ingest_api-2025.4.17.dev20250417 → nv_ingest_api-2025.4.18.dev20250418}/src/nv_ingest_api/internal/schemas/message_brokers/__init__.py +0 -0
  90. {nv_ingest_api-2025.4.17.dev20250417 → nv_ingest_api-2025.4.18.dev20250418}/src/nv_ingest_api/internal/schemas/message_brokers/message_broker_client_schema.py +0 -0
  91. {nv_ingest_api-2025.4.17.dev20250417 → nv_ingest_api-2025.4.18.dev20250418}/src/nv_ingest_api/internal/schemas/message_brokers/request_schema.py +0 -0
  92. {nv_ingest_api-2025.4.17.dev20250417 → nv_ingest_api-2025.4.18.dev20250418}/src/nv_ingest_api/internal/schemas/message_brokers/response_schema.py +0 -0
  93. {nv_ingest_api-2025.4.17.dev20250417 → nv_ingest_api-2025.4.18.dev20250418}/src/nv_ingest_api/internal/schemas/meta/__init__.py +0 -0
  94. {nv_ingest_api-2025.4.17.dev20250417 → nv_ingest_api-2025.4.18.dev20250418}/src/nv_ingest_api/internal/schemas/meta/base_model_noext.py +0 -0
  95. {nv_ingest_api-2025.4.17.dev20250417 → nv_ingest_api-2025.4.18.dev20250418}/src/nv_ingest_api/internal/schemas/meta/ingest_job_schema.py +0 -0
  96. {nv_ingest_api-2025.4.17.dev20250417 → nv_ingest_api-2025.4.18.dev20250418}/src/nv_ingest_api/internal/schemas/meta/metadata_schema.py +0 -0
  97. {nv_ingest_api-2025.4.17.dev20250417 → nv_ingest_api-2025.4.18.dev20250418}/src/nv_ingest_api/internal/schemas/mutate/__init__.py +0 -0
  98. {nv_ingest_api-2025.4.17.dev20250417 → nv_ingest_api-2025.4.18.dev20250418}/src/nv_ingest_api/internal/schemas/mutate/mutate_image_dedup_schema.py +0 -0
  99. {nv_ingest_api-2025.4.17.dev20250417 → nv_ingest_api-2025.4.18.dev20250418}/src/nv_ingest_api/internal/schemas/store/__init__.py +0 -0
  100. {nv_ingest_api-2025.4.17.dev20250417 → nv_ingest_api-2025.4.18.dev20250418}/src/nv_ingest_api/internal/schemas/store/store_embedding_schema.py +0 -0
  101. {nv_ingest_api-2025.4.17.dev20250417 → nv_ingest_api-2025.4.18.dev20250418}/src/nv_ingest_api/internal/schemas/store/store_image_schema.py +0 -0
  102. {nv_ingest_api-2025.4.17.dev20250417 → nv_ingest_api-2025.4.18.dev20250418}/src/nv_ingest_api/internal/schemas/transform/__init__.py +0 -0
  103. {nv_ingest_api-2025.4.17.dev20250417 → nv_ingest_api-2025.4.18.dev20250418}/src/nv_ingest_api/internal/schemas/transform/transform_image_caption_schema.py +0 -0
  104. {nv_ingest_api-2025.4.17.dev20250417 → nv_ingest_api-2025.4.18.dev20250418}/src/nv_ingest_api/internal/schemas/transform/transform_image_filter_schema.py +0 -0
  105. {nv_ingest_api-2025.4.17.dev20250417 → nv_ingest_api-2025.4.18.dev20250418}/src/nv_ingest_api/internal/schemas/transform/transform_text_embedding_schema.py +0 -0
  106. {nv_ingest_api-2025.4.17.dev20250417 → nv_ingest_api-2025.4.18.dev20250418}/src/nv_ingest_api/internal/schemas/transform/transform_text_splitter_schema.py +0 -0
  107. {nv_ingest_api-2025.4.17.dev20250417 → nv_ingest_api-2025.4.18.dev20250418}/src/nv_ingest_api/internal/store/__init__.py +0 -0
  108. {nv_ingest_api-2025.4.17.dev20250417 → nv_ingest_api-2025.4.18.dev20250418}/src/nv_ingest_api/internal/store/embed_text_upload.py +0 -0
  109. {nv_ingest_api-2025.4.17.dev20250417 → nv_ingest_api-2025.4.18.dev20250418}/src/nv_ingest_api/internal/store/image_upload.py +0 -0
  110. {nv_ingest_api-2025.4.17.dev20250417 → nv_ingest_api-2025.4.18.dev20250418}/src/nv_ingest_api/internal/transform/__init__.py +0 -0
  111. {nv_ingest_api-2025.4.17.dev20250417 → nv_ingest_api-2025.4.18.dev20250418}/src/nv_ingest_api/internal/transform/caption_image.py +0 -0
  112. {nv_ingest_api-2025.4.17.dev20250417 → nv_ingest_api-2025.4.18.dev20250418}/src/nv_ingest_api/internal/transform/embed_text.py +0 -0
  113. {nv_ingest_api-2025.4.17.dev20250417 → nv_ingest_api-2025.4.18.dev20250418}/src/nv_ingest_api/internal/transform/split_text.py +0 -0
  114. {nv_ingest_api-2025.4.17.dev20250417 → nv_ingest_api-2025.4.18.dev20250418}/src/nv_ingest_api/util/__init__.py +0 -0
  115. {nv_ingest_api-2025.4.17.dev20250417 → nv_ingest_api-2025.4.18.dev20250418}/src/nv_ingest_api/util/control_message/__init__.py +0 -0
  116. {nv_ingest_api-2025.4.17.dev20250417 → nv_ingest_api-2025.4.18.dev20250418}/src/nv_ingest_api/util/control_message/validators.py +0 -0
  117. {nv_ingest_api-2025.4.17.dev20250417 → nv_ingest_api-2025.4.18.dev20250418}/src/nv_ingest_api/util/converters/__init__.py +0 -0
  118. {nv_ingest_api-2025.4.17.dev20250417 → nv_ingest_api-2025.4.18.dev20250418}/src/nv_ingest_api/util/converters/bytetools.py +0 -0
  119. {nv_ingest_api-2025.4.17.dev20250417 → nv_ingest_api-2025.4.18.dev20250418}/src/nv_ingest_api/util/converters/containers.py +0 -0
  120. {nv_ingest_api-2025.4.17.dev20250417 → nv_ingest_api-2025.4.18.dev20250418}/src/nv_ingest_api/util/converters/datetools.py +0 -0
  121. {nv_ingest_api-2025.4.17.dev20250417 → nv_ingest_api-2025.4.18.dev20250418}/src/nv_ingest_api/util/converters/dftools.py +0 -0
  122. {nv_ingest_api-2025.4.17.dev20250417 → nv_ingest_api-2025.4.18.dev20250418}/src/nv_ingest_api/util/converters/formats.py +0 -0
  123. {nv_ingest_api-2025.4.17.dev20250417 → nv_ingest_api-2025.4.18.dev20250418}/src/nv_ingest_api/util/converters/type_mappings.py +0 -0
  124. {nv_ingest_api-2025.4.17.dev20250417 → nv_ingest_api-2025.4.18.dev20250418}/src/nv_ingest_api/util/detectors/__init__.py +0 -0
  125. {nv_ingest_api-2025.4.17.dev20250417 → nv_ingest_api-2025.4.18.dev20250418}/src/nv_ingest_api/util/detectors/language.py +0 -0
  126. {nv_ingest_api-2025.4.17.dev20250417 → nv_ingest_api-2025.4.18.dev20250418}/src/nv_ingest_api/util/exception_handlers/__init__.py +0 -0
  127. {nv_ingest_api-2025.4.17.dev20250417 → nv_ingest_api-2025.4.18.dev20250418}/src/nv_ingest_api/util/exception_handlers/converters.py +0 -0
  128. {nv_ingest_api-2025.4.17.dev20250417 → nv_ingest_api-2025.4.18.dev20250418}/src/nv_ingest_api/util/exception_handlers/decorators.py +0 -0
  129. {nv_ingest_api-2025.4.17.dev20250417 → nv_ingest_api-2025.4.18.dev20250418}/src/nv_ingest_api/util/exception_handlers/detectors.py +0 -0
  130. {nv_ingest_api-2025.4.17.dev20250417 → nv_ingest_api-2025.4.18.dev20250418}/src/nv_ingest_api/util/exception_handlers/pdf.py +0 -0
  131. {nv_ingest_api-2025.4.17.dev20250417 → nv_ingest_api-2025.4.18.dev20250418}/src/nv_ingest_api/util/exception_handlers/schemas.py +0 -0
  132. {nv_ingest_api-2025.4.17.dev20250417 → nv_ingest_api-2025.4.18.dev20250418}/src/nv_ingest_api/util/image_processing/__init__.py +0 -0
  133. {nv_ingest_api-2025.4.17.dev20250417 → nv_ingest_api-2025.4.18.dev20250418}/src/nv_ingest_api/util/image_processing/clustering.py +0 -0
  134. {nv_ingest_api-2025.4.17.dev20250417 → nv_ingest_api-2025.4.18.dev20250418}/src/nv_ingest_api/util/image_processing/processing.py +0 -0
  135. {nv_ingest_api-2025.4.17.dev20250417 → nv_ingest_api-2025.4.18.dev20250418}/src/nv_ingest_api/util/image_processing/table_and_chart.py +0 -0
  136. {nv_ingest_api-2025.4.17.dev20250417 → nv_ingest_api-2025.4.18.dev20250418}/src/nv_ingest_api/util/image_processing/transforms.py +0 -0
  137. {nv_ingest_api-2025.4.17.dev20250417 → nv_ingest_api-2025.4.18.dev20250418}/src/nv_ingest_api/util/logging/__init__.py +0 -0
  138. {nv_ingest_api-2025.4.17.dev20250417 → nv_ingest_api-2025.4.18.dev20250418}/src/nv_ingest_api/util/logging/configuration.py +0 -0
  139. {nv_ingest_api-2025.4.17.dev20250417 → nv_ingest_api-2025.4.18.dev20250418}/src/nv_ingest_api/util/message_brokers/__init__.py +0 -0
  140. {nv_ingest_api-2025.4.17.dev20250417 → nv_ingest_api-2025.4.18.dev20250418}/src/nv_ingest_api/util/message_brokers/simple_message_broker/__init__.py +0 -0
  141. {nv_ingest_api-2025.4.17.dev20250417 → nv_ingest_api-2025.4.18.dev20250418}/src/nv_ingest_api/util/message_brokers/simple_message_broker/broker.py +0 -0
  142. {nv_ingest_api-2025.4.17.dev20250417 → nv_ingest_api-2025.4.18.dev20250418}/src/nv_ingest_api/util/message_brokers/simple_message_broker/ordered_message_queue.py +0 -0
  143. {nv_ingest_api-2025.4.17.dev20250417 → nv_ingest_api-2025.4.18.dev20250418}/src/nv_ingest_api/util/metadata/__init__.py +0 -0
  144. {nv_ingest_api-2025.4.17.dev20250417 → nv_ingest_api-2025.4.18.dev20250418}/src/nv_ingest_api/util/metadata/aggregators.py +0 -0
  145. {nv_ingest_api-2025.4.17.dev20250417 → nv_ingest_api-2025.4.18.dev20250418}/src/nv_ingest_api/util/multi_processing/__init__.py +0 -0
  146. {nv_ingest_api-2025.4.17.dev20250417 → nv_ingest_api-2025.4.18.dev20250418}/src/nv_ingest_api/util/multi_processing/mp_pool_singleton.py +0 -0
  147. {nv_ingest_api-2025.4.17.dev20250417 → nv_ingest_api-2025.4.18.dev20250418}/src/nv_ingest_api/util/nim/__init__.py +0 -0
  148. {nv_ingest_api-2025.4.17.dev20250417 → nv_ingest_api-2025.4.18.dev20250418}/src/nv_ingest_api/util/pdf/__init__.py +0 -0
  149. {nv_ingest_api-2025.4.17.dev20250417 → nv_ingest_api-2025.4.18.dev20250418}/src/nv_ingest_api/util/pdf/pdfium.py +0 -0
  150. {nv_ingest_api-2025.4.17.dev20250417 → nv_ingest_api-2025.4.18.dev20250418}/src/nv_ingest_api/util/schema/__init__.py +0 -0
  151. {nv_ingest_api-2025.4.17.dev20250417 → nv_ingest_api-2025.4.18.dev20250418}/src/nv_ingest_api/util/schema/schema_validator.py +0 -0
  152. {nv_ingest_api-2025.4.17.dev20250417 → nv_ingest_api-2025.4.18.dev20250418}/src/nv_ingest_api/util/service_clients/__init__.py +0 -0
  153. {nv_ingest_api-2025.4.17.dev20250417 → nv_ingest_api-2025.4.18.dev20250418}/src/nv_ingest_api/util/service_clients/kafka/__init__.py +0 -0
  154. {nv_ingest_api-2025.4.17.dev20250417 → nv_ingest_api-2025.4.18.dev20250418}/src/nv_ingest_api/util/service_clients/redis/__init__.py +0 -0
  155. {nv_ingest_api-2025.4.17.dev20250417 → nv_ingest_api-2025.4.18.dev20250418}/src/nv_ingest_api/util/service_clients/rest/__init__.py +0 -0
  156. {nv_ingest_api-2025.4.17.dev20250417 → nv_ingest_api-2025.4.18.dev20250418}/src/nv_ingest_api/util/string_processing/__init__.py +0 -0
  157. {nv_ingest_api-2025.4.17.dev20250417 → nv_ingest_api-2025.4.18.dev20250418}/src/nv_ingest_api.egg-info/SOURCES.txt +0 -0
  158. {nv_ingest_api-2025.4.17.dev20250417 → nv_ingest_api-2025.4.18.dev20250418}/src/nv_ingest_api.egg-info/dependency_links.txt +0 -0
  159. {nv_ingest_api-2025.4.17.dev20250417 → nv_ingest_api-2025.4.18.dev20250418}/src/nv_ingest_api.egg-info/requires.txt +0 -0
  160. {nv_ingest_api-2025.4.17.dev20250417 → nv_ingest_api-2025.4.18.dev20250418}/src/nv_ingest_api.egg-info/top_level.txt +0 -0
  161. {nv_ingest_api-2025.4.17.dev20250417 → nv_ingest_api-2025.4.18.dev20250418}/src/version.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: nv-ingest-api
3
- Version: 2025.4.17.dev20250417
3
+ Version: 2025.4.18.dev20250418
4
4
  Summary: Python module with core document ingestion functions.
5
5
  Author-email: Jeremy Dyer <jdyer@nvidia.com>
6
6
  License: Apache License
@@ -11,10 +11,10 @@ import socket
11
11
  import json
12
12
  import time
13
13
  import logging
14
- from typing import Optional
14
+ from typing import Optional, Tuple, Union
15
15
 
16
16
  from nv_ingest_api.internal.schemas.message_brokers.response_schema import ResponseSchema
17
- from nv_ingest_api.util.service_clients.client_base import MessageBrokerClientBase
17
+ from nv_ingest_api.util.service_clients.client_base import MessageBrokerClientBase, FetchMode
18
18
 
19
19
  logger = logging.getLogger(__name__)
20
20
 
@@ -80,7 +80,11 @@ class SimpleClient(MessageBrokerClientBase):
80
80
  return self
81
81
 
82
82
  def submit_message(
83
- self, queue_name: str, message: str, timeout: Optional[float] = None, for_nv_ingest: bool = False
83
+ self,
84
+ queue_name: str,
85
+ message: str,
86
+ timeout: Optional[Tuple[int, Union[float]]] = (100, None),
87
+ for_nv_ingest: bool = False,
84
88
  ) -> ResponseSchema:
85
89
  """
86
90
  Submit a message to the specified queue.
@@ -103,7 +107,12 @@ class SimpleClient(MessageBrokerClientBase):
103
107
  """
104
108
  return self._handle_push(queue_name, message, timeout, for_nv_ingest)
105
109
 
106
- def fetch_message(self, queue_name: str, timeout: Optional[float] = None) -> ResponseSchema:
110
+ def fetch_message(
111
+ self,
112
+ queue_name: str,
113
+ timeout: Optional[Tuple[int, Union[float]]] = (100, None),
114
+ override_fetch_mode: FetchMode = None,
115
+ ) -> ResponseSchema:
107
116
  """
108
117
  Fetch a message from the specified queue.
109
118
 
@@ -119,6 +128,9 @@ class SimpleClient(MessageBrokerClientBase):
119
128
  ResponseSchema
120
129
  The response containing the fetched message.
121
130
  """
131
+ if isinstance(timeout, int):
132
+ timeout = (timeout, None)
133
+
122
134
  return self._handle_pop(queue_name, timeout)
123
135
 
124
136
  def ping(self) -> ResponseSchema:
@@ -151,7 +163,7 @@ class SimpleClient(MessageBrokerClientBase):
151
163
  return self._execute_simple_command(command)
152
164
 
153
165
  def _handle_push(
154
- self, queue_name: str, message: str, timeout: Optional[float], for_nv_ingest: bool
166
+ self, queue_name: str, message: str, timeout: Optional[Tuple[int, Union[float, None]]], for_nv_ingest: bool
155
167
  ) -> ResponseSchema:
156
168
  """
157
169
  Push a message to the queue with optional timeout.
@@ -183,6 +195,7 @@ class SimpleClient(MessageBrokerClientBase):
183
195
  else:
184
196
  command = {"command": "PUSH", "queue_name": queue_name, "message": message}
185
197
 
198
+ timeout = int(timeout[0])
186
199
  if timeout is not None:
187
200
  command["timeout"] = timeout
188
201
 
@@ -237,7 +250,7 @@ class SimpleClient(MessageBrokerClientBase):
237
250
 
238
251
  time.sleep(0.5) # Backoff delay before retry
239
252
 
240
- def _handle_pop(self, queue_name: str, timeout: Optional[float]) -> ResponseSchema:
253
+ def _handle_pop(self, queue_name: str, timeout: Optional[Tuple[int, Union[float, None]]]) -> ResponseSchema:
241
254
  """
242
255
  Pop a message from the queue with optional timeout.
243
256
 
@@ -258,6 +271,9 @@ class SimpleClient(MessageBrokerClientBase):
258
271
  return ResponseSchema(response_code=1, response_reason="Invalid queue name.")
259
272
 
260
273
  command = {"command": "POP", "queue_name": queue_name}
274
+
275
+ timeout = int(timeout[0])
276
+
261
277
  if timeout is not None:
262
278
  command["timeout"] = timeout
263
279
 
@@ -4,6 +4,16 @@
4
4
 
5
5
  from abc import ABC
6
6
  from abc import abstractmethod
7
+ from enum import Enum, auto
8
+ from typing import Tuple
9
+
10
+ from nv_ingest_api.internal.schemas.message_brokers.response_schema import ResponseSchema
11
+
12
+
13
+ class FetchMode(Enum):
14
+ DESTRUCTIVE = auto() # Read and delete immediately (current behavior)
15
+ NON_DESTRUCTIVE = auto() # Read without deleting (requires TTL on Redis data)
16
+ CACHE_BEFORE_DELETE = auto() # Read, write to local cache, then delete from Redis
7
17
 
8
18
 
9
19
  class MessageBrokerClientBase(ABC):
@@ -49,24 +59,28 @@ class MessageBrokerClientBase(ABC):
49
59
  """
50
60
 
51
61
  @abstractmethod
52
- def fetch_message(self, job_index: str, timeout: float = 0) -> str:
62
+ def fetch_message(
63
+ self, job_index: str, timeout: Tuple[int, float] = (100, None), override_fetch_mode: FetchMode = None
64
+ ) -> ResponseSchema:
53
65
  """
54
66
  Fetches a message from the specified queue with retries on failure.
55
67
 
56
68
  Parameters:
57
69
  job_index (str): The index of the job to fetch the message for.
58
70
  timeout (float): The timeout in seconds for blocking until a message is available.
71
+ override_fetch_mode: Optional; overrides the default fetch mode.
59
72
 
60
73
  Returns:
61
74
  The fetched message, or None if no message could be fetched.
62
75
  """
63
76
 
64
77
  @abstractmethod
65
- def submit_message(self, channel_name: str, message: str) -> str:
78
+ def submit_message(self, channel_name: str, message: str, for_nv_ingest=False) -> ResponseSchema:
66
79
  """
67
80
  Submits a message to a specified queue with retries on failure.
68
81
 
69
82
  Parameters:
70
83
  channel_name (str): The name of the queue to submit the message to.
71
84
  message (str): The message to submit.
85
+ for_nv_ingest (bool): Whether the message is for NV Ingest.
72
86
  """