nv-ingest 2025.12.11.dev20251211__tar.gz → 2025.12.13.dev20251213__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 (130) hide show
  1. {nv_ingest-2025.12.11.dev20251211 → nv_ingest-2025.12.13.dev20251213}/PKG-INFO +1 -1
  2. {nv_ingest-2025.12.11.dev20251211 → nv_ingest-2025.12.13.dev20251213}/nv_ingest/framework/orchestration/process/execution.py +6 -0
  3. {nv_ingest-2025.12.11.dev20251211 → nv_ingest-2025.12.13.dev20251213}/nv_ingest/framework/orchestration/ray/examples/pipeline_test_harness.py +9 -9
  4. {nv_ingest-2025.12.11.dev20251211 → nv_ingest-2025.12.13.dev20251213}/nv_ingest/framework/orchestration/ray/util/pipeline/pipeline_runners.py +40 -0
  5. {nv_ingest-2025.12.11.dev20251211 → nv_ingest-2025.12.13.dev20251213}/nv_ingest/pipeline/default_libmode_pipeline_impl.py +6 -6
  6. {nv_ingest-2025.12.11.dev20251211 → nv_ingest-2025.12.13.dev20251213}/nv_ingest/pipeline/default_pipeline_impl.py +6 -6
  7. {nv_ingest-2025.12.11.dev20251211 → nv_ingest-2025.12.13.dev20251213}/nv_ingest.egg-info/PKG-INFO +1 -1
  8. {nv_ingest-2025.12.11.dev20251211 → nv_ingest-2025.12.13.dev20251213}/LICENSE +0 -0
  9. {nv_ingest-2025.12.11.dev20251211 → nv_ingest-2025.12.13.dev20251213}/MANIFEST.in +0 -0
  10. {nv_ingest-2025.12.11.dev20251211 → nv_ingest-2025.12.13.dev20251213}/nv_ingest/__init__.py +0 -0
  11. {nv_ingest-2025.12.11.dev20251211 → nv_ingest-2025.12.13.dev20251213}/nv_ingest/api/__init__.py +0 -0
  12. {nv_ingest-2025.12.11.dev20251211 → nv_ingest-2025.12.13.dev20251213}/nv_ingest/api/main.py +0 -0
  13. {nv_ingest-2025.12.11.dev20251211 → nv_ingest-2025.12.13.dev20251213}/nv_ingest/api/tracing.py +0 -0
  14. {nv_ingest-2025.12.11.dev20251211 → nv_ingest-2025.12.13.dev20251213}/nv_ingest/api/v1/__init__.py +0 -0
  15. {nv_ingest-2025.12.11.dev20251211 → nv_ingest-2025.12.13.dev20251213}/nv_ingest/api/v1/health.py +0 -0
  16. {nv_ingest-2025.12.11.dev20251211 → nv_ingest-2025.12.13.dev20251213}/nv_ingest/api/v1/ingest.py +0 -0
  17. {nv_ingest-2025.12.11.dev20251211 → nv_ingest-2025.12.13.dev20251213}/nv_ingest/api/v1/metrics.py +0 -0
  18. {nv_ingest-2025.12.11.dev20251211 → nv_ingest-2025.12.13.dev20251213}/nv_ingest/api/v2/README.md +0 -0
  19. {nv_ingest-2025.12.11.dev20251211 → nv_ingest-2025.12.13.dev20251213}/nv_ingest/api/v2/__init__.py +0 -0
  20. {nv_ingest-2025.12.11.dev20251211 → nv_ingest-2025.12.13.dev20251213}/nv_ingest/api/v2/ingest.py +0 -0
  21. {nv_ingest-2025.12.11.dev20251211 → nv_ingest-2025.12.13.dev20251213}/nv_ingest/framework/__init__.py +0 -0
  22. {nv_ingest-2025.12.11.dev20251211 → nv_ingest-2025.12.13.dev20251213}/nv_ingest/framework/orchestration/__init__.py +0 -0
  23. {nv_ingest-2025.12.11.dev20251211 → nv_ingest-2025.12.13.dev20251213}/nv_ingest/framework/orchestration/execution/__init__.py +0 -0
  24. {nv_ingest-2025.12.11.dev20251211 → nv_ingest-2025.12.13.dev20251213}/nv_ingest/framework/orchestration/execution/helpers.py +0 -0
  25. {nv_ingest-2025.12.11.dev20251211 → nv_ingest-2025.12.13.dev20251213}/nv_ingest/framework/orchestration/execution/options.py +0 -0
  26. {nv_ingest-2025.12.11.dev20251211 → nv_ingest-2025.12.13.dev20251213}/nv_ingest/framework/orchestration/process/__init__.py +0 -0
  27. {nv_ingest-2025.12.11.dev20251211 → nv_ingest-2025.12.13.dev20251213}/nv_ingest/framework/orchestration/process/dependent_services.py +0 -0
  28. {nv_ingest-2025.12.11.dev20251211 → nv_ingest-2025.12.13.dev20251213}/nv_ingest/framework/orchestration/process/lifecycle.py +0 -0
  29. {nv_ingest-2025.12.11.dev20251211 → nv_ingest-2025.12.13.dev20251213}/nv_ingest/framework/orchestration/process/strategies.py +0 -0
  30. {nv_ingest-2025.12.11.dev20251211 → nv_ingest-2025.12.13.dev20251213}/nv_ingest/framework/orchestration/process/termination.py +0 -0
  31. {nv_ingest-2025.12.11.dev20251211 → nv_ingest-2025.12.13.dev20251213}/nv_ingest/framework/orchestration/ray/__init__.py +0 -0
  32. {nv_ingest-2025.12.11.dev20251211 → nv_ingest-2025.12.13.dev20251213}/nv_ingest/framework/orchestration/ray/edges/__init__.py +0 -0
  33. {nv_ingest-2025.12.11.dev20251211 → nv_ingest-2025.12.13.dev20251213}/nv_ingest/framework/orchestration/ray/edges/async_queue_edge.py +0 -0
  34. {nv_ingest-2025.12.11.dev20251211 → nv_ingest-2025.12.13.dev20251213}/nv_ingest/framework/orchestration/ray/edges/ray_queue_edge.py +0 -0
  35. {nv_ingest-2025.12.11.dev20251211 → nv_ingest-2025.12.13.dev20251213}/nv_ingest/framework/orchestration/ray/edges/threaded_queue_edge.py +0 -0
  36. {nv_ingest-2025.12.11.dev20251211 → nv_ingest-2025.12.13.dev20251213}/nv_ingest/framework/orchestration/ray/examples/__init__.py +0 -0
  37. {nv_ingest-2025.12.11.dev20251211 → nv_ingest-2025.12.13.dev20251213}/nv_ingest/framework/orchestration/ray/examples/task_source_harness.py +0 -0
  38. {nv_ingest-2025.12.11.dev20251211 → nv_ingest-2025.12.13.dev20251213}/nv_ingest/framework/orchestration/ray/examples/task_source_sink_harness.py +0 -0
  39. {nv_ingest-2025.12.11.dev20251211 → nv_ingest-2025.12.13.dev20251213}/nv_ingest/framework/orchestration/ray/primitives/__init__.py +0 -0
  40. {nv_ingest-2025.12.11.dev20251211 → nv_ingest-2025.12.13.dev20251213}/nv_ingest/framework/orchestration/ray/primitives/dataclasses.py +0 -0
  41. {nv_ingest-2025.12.11.dev20251211 → nv_ingest-2025.12.13.dev20251213}/nv_ingest/framework/orchestration/ray/primitives/pipeline_monitor.py +0 -0
  42. {nv_ingest-2025.12.11.dev20251211 → nv_ingest-2025.12.13.dev20251213}/nv_ingest/framework/orchestration/ray/primitives/pipeline_topology.py +0 -0
  43. {nv_ingest-2025.12.11.dev20251211 → nv_ingest-2025.12.13.dev20251213}/nv_ingest/framework/orchestration/ray/primitives/ray_pipeline.py +0 -0
  44. {nv_ingest-2025.12.11.dev20251211 → nv_ingest-2025.12.13.dev20251213}/nv_ingest/framework/orchestration/ray/primitives/ray_stat_collector.py +0 -0
  45. {nv_ingest-2025.12.11.dev20251211 → nv_ingest-2025.12.13.dev20251213}/nv_ingest/framework/orchestration/ray/stages/__init__.py +0 -0
  46. {nv_ingest-2025.12.11.dev20251211 → nv_ingest-2025.12.13.dev20251213}/nv_ingest/framework/orchestration/ray/stages/extractors/__init__.py +0 -0
  47. {nv_ingest-2025.12.11.dev20251211 → nv_ingest-2025.12.13.dev20251213}/nv_ingest/framework/orchestration/ray/stages/extractors/audio_extractor.py +0 -0
  48. {nv_ingest-2025.12.11.dev20251211 → nv_ingest-2025.12.13.dev20251213}/nv_ingest/framework/orchestration/ray/stages/extractors/chart_extractor.py +0 -0
  49. {nv_ingest-2025.12.11.dev20251211 → nv_ingest-2025.12.13.dev20251213}/nv_ingest/framework/orchestration/ray/stages/extractors/docx_extractor.py +0 -0
  50. {nv_ingest-2025.12.11.dev20251211 → nv_ingest-2025.12.13.dev20251213}/nv_ingest/framework/orchestration/ray/stages/extractors/html_extractor.py +0 -0
  51. {nv_ingest-2025.12.11.dev20251211 → nv_ingest-2025.12.13.dev20251213}/nv_ingest/framework/orchestration/ray/stages/extractors/image_extractor.py +0 -0
  52. {nv_ingest-2025.12.11.dev20251211 → nv_ingest-2025.12.13.dev20251213}/nv_ingest/framework/orchestration/ray/stages/extractors/infographic_extractor.py +0 -0
  53. {nv_ingest-2025.12.11.dev20251211 → nv_ingest-2025.12.13.dev20251213}/nv_ingest/framework/orchestration/ray/stages/extractors/ocr_extractor.py +0 -0
  54. {nv_ingest-2025.12.11.dev20251211 → nv_ingest-2025.12.13.dev20251213}/nv_ingest/framework/orchestration/ray/stages/extractors/pdf_extractor.py +0 -0
  55. {nv_ingest-2025.12.11.dev20251211 → nv_ingest-2025.12.13.dev20251213}/nv_ingest/framework/orchestration/ray/stages/extractors/pptx_extractor.py +0 -0
  56. {nv_ingest-2025.12.11.dev20251211 → nv_ingest-2025.12.13.dev20251213}/nv_ingest/framework/orchestration/ray/stages/extractors/table_extractor.py +0 -0
  57. {nv_ingest-2025.12.11.dev20251211 → nv_ingest-2025.12.13.dev20251213}/nv_ingest/framework/orchestration/ray/stages/injectors/__init__.py +0 -0
  58. {nv_ingest-2025.12.11.dev20251211 → nv_ingest-2025.12.13.dev20251213}/nv_ingest/framework/orchestration/ray/stages/injectors/metadata_injector.py +0 -0
  59. {nv_ingest-2025.12.11.dev20251211 → nv_ingest-2025.12.13.dev20251213}/nv_ingest/framework/orchestration/ray/stages/meta/__init__.py +0 -0
  60. {nv_ingest-2025.12.11.dev20251211 → nv_ingest-2025.12.13.dev20251213}/nv_ingest/framework/orchestration/ray/stages/meta/ray_actor_edge_base.py +0 -0
  61. {nv_ingest-2025.12.11.dev20251211 → nv_ingest-2025.12.13.dev20251213}/nv_ingest/framework/orchestration/ray/stages/meta/ray_actor_sink_stage_base.py +0 -0
  62. {nv_ingest-2025.12.11.dev20251211 → nv_ingest-2025.12.13.dev20251213}/nv_ingest/framework/orchestration/ray/stages/meta/ray_actor_source_stage_base.py +0 -0
  63. {nv_ingest-2025.12.11.dev20251211 → nv_ingest-2025.12.13.dev20251213}/nv_ingest/framework/orchestration/ray/stages/meta/ray_actor_stage_base.py +0 -0
  64. {nv_ingest-2025.12.11.dev20251211 → nv_ingest-2025.12.13.dev20251213}/nv_ingest/framework/orchestration/ray/stages/mutate/__init__.py +0 -0
  65. {nv_ingest-2025.12.11.dev20251211 → nv_ingest-2025.12.13.dev20251213}/nv_ingest/framework/orchestration/ray/stages/mutate/image_dedup.py +0 -0
  66. {nv_ingest-2025.12.11.dev20251211 → nv_ingest-2025.12.13.dev20251213}/nv_ingest/framework/orchestration/ray/stages/mutate/image_filter.py +0 -0
  67. {nv_ingest-2025.12.11.dev20251211 → nv_ingest-2025.12.13.dev20251213}/nv_ingest/framework/orchestration/ray/stages/sinks/__init__.py +0 -0
  68. {nv_ingest-2025.12.11.dev20251211 → nv_ingest-2025.12.13.dev20251213}/nv_ingest/framework/orchestration/ray/stages/sinks/default_drain.py +0 -0
  69. {nv_ingest-2025.12.11.dev20251211 → nv_ingest-2025.12.13.dev20251213}/nv_ingest/framework/orchestration/ray/stages/sinks/message_broker_task_sink.py +0 -0
  70. {nv_ingest-2025.12.11.dev20251211 → nv_ingest-2025.12.13.dev20251213}/nv_ingest/framework/orchestration/ray/stages/sources/__init__.py +0 -0
  71. {nv_ingest-2025.12.11.dev20251211 → nv_ingest-2025.12.13.dev20251213}/nv_ingest/framework/orchestration/ray/stages/sources/message_broker_task_source.py +0 -0
  72. {nv_ingest-2025.12.11.dev20251211 → nv_ingest-2025.12.13.dev20251213}/nv_ingest/framework/orchestration/ray/stages/storage/__init__.py +0 -0
  73. {nv_ingest-2025.12.11.dev20251211 → nv_ingest-2025.12.13.dev20251213}/nv_ingest/framework/orchestration/ray/stages/storage/image_storage.py +0 -0
  74. {nv_ingest-2025.12.11.dev20251211 → nv_ingest-2025.12.13.dev20251213}/nv_ingest/framework/orchestration/ray/stages/storage/store_embeddings.py +0 -0
  75. {nv_ingest-2025.12.11.dev20251211 → nv_ingest-2025.12.13.dev20251213}/nv_ingest/framework/orchestration/ray/stages/telemetry/__init__.py +0 -0
  76. {nv_ingest-2025.12.11.dev20251211 → nv_ingest-2025.12.13.dev20251213}/nv_ingest/framework/orchestration/ray/stages/telemetry/job_counter.py +0 -0
  77. {nv_ingest-2025.12.11.dev20251211 → nv_ingest-2025.12.13.dev20251213}/nv_ingest/framework/orchestration/ray/stages/telemetry/otel_meter.py +0 -0
  78. {nv_ingest-2025.12.11.dev20251211 → nv_ingest-2025.12.13.dev20251213}/nv_ingest/framework/orchestration/ray/stages/telemetry/otel_tracer.py +0 -0
  79. {nv_ingest-2025.12.11.dev20251211 → nv_ingest-2025.12.13.dev20251213}/nv_ingest/framework/orchestration/ray/stages/transforms/__init__.py +0 -0
  80. {nv_ingest-2025.12.11.dev20251211 → nv_ingest-2025.12.13.dev20251213}/nv_ingest/framework/orchestration/ray/stages/transforms/image_caption.py +0 -0
  81. {nv_ingest-2025.12.11.dev20251211 → nv_ingest-2025.12.13.dev20251213}/nv_ingest/framework/orchestration/ray/stages/transforms/text_embed.py +0 -0
  82. {nv_ingest-2025.12.11.dev20251211 → nv_ingest-2025.12.13.dev20251213}/nv_ingest/framework/orchestration/ray/stages/transforms/text_splitter.py +0 -0
  83. {nv_ingest-2025.12.11.dev20251211 → nv_ingest-2025.12.13.dev20251213}/nv_ingest/framework/orchestration/ray/stages/utility/__init__.py +0 -0
  84. {nv_ingest-2025.12.11.dev20251211 → nv_ingest-2025.12.13.dev20251213}/nv_ingest/framework/orchestration/ray/stages/utility/throughput_monitor.py +0 -0
  85. {nv_ingest-2025.12.11.dev20251211 → nv_ingest-2025.12.13.dev20251213}/nv_ingest/framework/orchestration/ray/util/__init__.py +0 -0
  86. {nv_ingest-2025.12.11.dev20251211 → nv_ingest-2025.12.13.dev20251213}/nv_ingest/framework/orchestration/ray/util/env_config.py +0 -0
  87. {nv_ingest-2025.12.11.dev20251211 → nv_ingest-2025.12.13.dev20251213}/nv_ingest/framework/orchestration/ray/util/pipeline/__init__.py +0 -0
  88. {nv_ingest-2025.12.11.dev20251211 → nv_ingest-2025.12.13.dev20251213}/nv_ingest/framework/orchestration/ray/util/pipeline/pid_controller.py +0 -0
  89. {nv_ingest-2025.12.11.dev20251211 → nv_ingest-2025.12.13.dev20251213}/nv_ingest/framework/orchestration/ray/util/pipeline/tools.py +0 -0
  90. {nv_ingest-2025.12.11.dev20251211 → nv_ingest-2025.12.13.dev20251213}/nv_ingest/framework/orchestration/ray/util/system_tools/__init__.py +0 -0
  91. {nv_ingest-2025.12.11.dev20251211 → nv_ingest-2025.12.13.dev20251213}/nv_ingest/framework/orchestration/ray/util/system_tools/memory.py +0 -0
  92. {nv_ingest-2025.12.11.dev20251211 → nv_ingest-2025.12.13.dev20251213}/nv_ingest/framework/orchestration/ray/util/system_tools/visualizers.py +0 -0
  93. {nv_ingest-2025.12.11.dev20251211 → nv_ingest-2025.12.13.dev20251213}/nv_ingest/framework/schemas/__init__.py +0 -0
  94. {nv_ingest-2025.12.11.dev20251211 → nv_ingest-2025.12.13.dev20251213}/nv_ingest/framework/schemas/framework_ingest_config_schema.py +0 -0
  95. {nv_ingest-2025.12.11.dev20251211 → nv_ingest-2025.12.13.dev20251213}/nv_ingest/framework/schemas/framework_job_counter_schema.py +0 -0
  96. {nv_ingest-2025.12.11.dev20251211 → nv_ingest-2025.12.13.dev20251213}/nv_ingest/framework/schemas/framework_message_broker_sink_schema.py +0 -0
  97. {nv_ingest-2025.12.11.dev20251211 → nv_ingest-2025.12.13.dev20251213}/nv_ingest/framework/schemas/framework_message_broker_source_schema.py +0 -0
  98. {nv_ingest-2025.12.11.dev20251211 → nv_ingest-2025.12.13.dev20251213}/nv_ingest/framework/schemas/framework_message_wrapper_schema.py +0 -0
  99. {nv_ingest-2025.12.11.dev20251211 → nv_ingest-2025.12.13.dev20251213}/nv_ingest/framework/schemas/framework_metadata_injector_schema.py +0 -0
  100. {nv_ingest-2025.12.11.dev20251211 → nv_ingest-2025.12.13.dev20251213}/nv_ingest/framework/schemas/framework_otel_meter_schema.py +0 -0
  101. {nv_ingest-2025.12.11.dev20251211 → nv_ingest-2025.12.13.dev20251213}/nv_ingest/framework/schemas/framework_otel_tracer_schema.py +0 -0
  102. {nv_ingest-2025.12.11.dev20251211 → nv_ingest-2025.12.13.dev20251213}/nv_ingest/framework/schemas/framework_processing_job_schema.py +0 -0
  103. {nv_ingest-2025.12.11.dev20251211 → nv_ingest-2025.12.13.dev20251213}/nv_ingest/framework/schemas/framework_task_injection_schema.py +0 -0
  104. {nv_ingest-2025.12.11.dev20251211 → nv_ingest-2025.12.13.dev20251213}/nv_ingest/framework/schemas/framework_vdb_task_sink_schema.py +0 -0
  105. {nv_ingest-2025.12.11.dev20251211 → nv_ingest-2025.12.13.dev20251213}/nv_ingest/framework/util/__init__.py +0 -0
  106. {nv_ingest-2025.12.11.dev20251211 → nv_ingest-2025.12.13.dev20251213}/nv_ingest/framework/util/flow_control/__init__.py +0 -0
  107. {nv_ingest-2025.12.11.dev20251211 → nv_ingest-2025.12.13.dev20251213}/nv_ingest/framework/util/flow_control/filter_by_task.py +0 -0
  108. {nv_ingest-2025.12.11.dev20251211 → nv_ingest-2025.12.13.dev20251213}/nv_ingest/framework/util/flow_control/udf_intercept.py +0 -0
  109. {nv_ingest-2025.12.11.dev20251211 → nv_ingest-2025.12.13.dev20251213}/nv_ingest/framework/util/service/__init__.py +0 -0
  110. {nv_ingest-2025.12.11.dev20251211 → nv_ingest-2025.12.13.dev20251213}/nv_ingest/framework/util/service/impl/__init__.py +0 -0
  111. {nv_ingest-2025.12.11.dev20251211 → nv_ingest-2025.12.13.dev20251213}/nv_ingest/framework/util/service/impl/ingest/__init__.py +0 -0
  112. {nv_ingest-2025.12.11.dev20251211 → nv_ingest-2025.12.13.dev20251213}/nv_ingest/framework/util/service/impl/ingest/redis_ingest_service.py +0 -0
  113. {nv_ingest-2025.12.11.dev20251211 → nv_ingest-2025.12.13.dev20251213}/nv_ingest/framework/util/service/meta/__init__.py +0 -0
  114. {nv_ingest-2025.12.11.dev20251211 → nv_ingest-2025.12.13.dev20251213}/nv_ingest/framework/util/service/meta/ingest/__init__.py +0 -0
  115. {nv_ingest-2025.12.11.dev20251211 → nv_ingest-2025.12.13.dev20251213}/nv_ingest/framework/util/service/meta/ingest/ingest_service_meta.py +0 -0
  116. {nv_ingest-2025.12.11.dev20251211 → nv_ingest-2025.12.13.dev20251213}/nv_ingest/framework/util/telemetry/__init__.py +0 -0
  117. {nv_ingest-2025.12.11.dev20251211 → nv_ingest-2025.12.13.dev20251213}/nv_ingest/framework/util/telemetry/global_stats.py +0 -0
  118. {nv_ingest-2025.12.11.dev20251211 → nv_ingest-2025.12.13.dev20251213}/nv_ingest/pipeline/__init__.py +0 -0
  119. {nv_ingest-2025.12.11.dev20251211 → nv_ingest-2025.12.13.dev20251213}/nv_ingest/pipeline/config/__init__.py +0 -0
  120. {nv_ingest-2025.12.11.dev20251211 → nv_ingest-2025.12.13.dev20251213}/nv_ingest/pipeline/config/loaders.py +0 -0
  121. {nv_ingest-2025.12.11.dev20251211 → nv_ingest-2025.12.13.dev20251213}/nv_ingest/pipeline/config/replica_resolver.py +0 -0
  122. {nv_ingest-2025.12.11.dev20251211 → nv_ingest-2025.12.13.dev20251213}/nv_ingest/pipeline/ingest_pipeline.py +0 -0
  123. {nv_ingest-2025.12.11.dev20251211 → nv_ingest-2025.12.13.dev20251213}/nv_ingest/pipeline/pipeline_schema.py +0 -0
  124. {nv_ingest-2025.12.11.dev20251211 → nv_ingest-2025.12.13.dev20251213}/nv_ingest/version.py +0 -0
  125. {nv_ingest-2025.12.11.dev20251211 → nv_ingest-2025.12.13.dev20251213}/nv_ingest.egg-info/SOURCES.txt +0 -0
  126. {nv_ingest-2025.12.11.dev20251211 → nv_ingest-2025.12.13.dev20251213}/nv_ingest.egg-info/dependency_links.txt +0 -0
  127. {nv_ingest-2025.12.11.dev20251211 → nv_ingest-2025.12.13.dev20251213}/nv_ingest.egg-info/requires.txt +0 -0
  128. {nv_ingest-2025.12.11.dev20251211 → nv_ingest-2025.12.13.dev20251213}/nv_ingest.egg-info/top_level.txt +0 -0
  129. {nv_ingest-2025.12.11.dev20251211 → nv_ingest-2025.12.13.dev20251213}/pyproject.toml +0 -0
  130. {nv_ingest-2025.12.11.dev20251211 → nv_ingest-2025.12.13.dev20251213}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: nv-ingest
3
- Version: 2025.12.11.dev20251211
3
+ Version: 2025.12.13.dev20251213
4
4
  Summary: Python module for multimodal document ingestion
5
5
  Author-email: Jeremy Dyer <jdyer@nvidia.com>
6
6
  License: Apache License
@@ -162,6 +162,11 @@ def build_logging_config_from_env() -> LoggingConfig:
162
162
  if key not in os.environ:
163
163
  os.environ[key] = default_value
164
164
 
165
+ # For PRODUCTION mode, also suppress nv-ingest module INFO logs
166
+ if preset_level == "PRODUCTION":
167
+ logging.getLogger("nv_ingest").setLevel(logging.WARNING)
168
+ logging.getLogger("nv_ingest_api").setLevel(logging.WARNING)
169
+
165
170
  logger.info(f"Applied Ray logging preset: {preset_level}")
166
171
 
167
172
  # Get log level from environment, default to INFO
@@ -324,6 +329,7 @@ def launch_pipeline(
324
329
  pipeline_config = resolve_static_replicas(pipeline_config)
325
330
 
326
331
  # Pretty print the final pipeline configuration (after replica resolution)
332
+ # INFO level so it shows in docker/helm deployments; quiet mode suppresses in library mode
327
333
  pretty_output = pretty_print_pipeline_config(pipeline_config, config_path=None)
328
334
  logger.info("\n" + pretty_output)
329
335
 
@@ -150,7 +150,7 @@ if __name__ == "__main__":
150
150
  os.environ["OCR_GRPC_ENDPOINT"] = "localhost:8010"
151
151
  os.environ["OCR_INFER_PROTOCOL"] = "grpc"
152
152
  os.environ["OCR_MODEL_NAME"] = "paddle"
153
- os.environ["NEMORETRIEVER_PARSE_HTTP_ENDPOINT"] = "https://integrate.api.nvidia.com/v1/chat/completions"
153
+ os.environ["NEMOTRON_PARSE_HTTP_ENDPOINT"] = "https://integrate.api.nvidia.com/v1/chat/completions"
154
154
  os.environ["VLM_CAPTION_ENDPOINT"] = "https://integrate.api.nvidia.com/v1/chat/completions"
155
155
  os.environ["VLM_CAPTION_MODEL_NAME"] = "nvidia/nemotron-nano-12b-v2-vl"
156
156
  logger.info("Environment variables set.")
@@ -170,23 +170,23 @@ if __name__ == "__main__":
170
170
  yolox_graphic_elements_auth,
171
171
  yolox_graphic_elements_protocol,
172
172
  ) = get_nim_service("yolox_graphic_elements")
173
- nemoretriever_parse_grpc, nemoretriever_parse_http, nemoretriever_parse_auth, nemoretriever_parse_protocol = (
174
- get_nim_service("nemoretriever_parse")
173
+ nemotron_parse_grpc, nemotron_parse_http, nemotron_parse_auth, nemotron_parse_protocol = get_nim_service(
174
+ "nemotron_parse"
175
175
  )
176
176
  ocr_grpc, ocr_http, ocr_auth, ocr_protocol = get_nim_service("ocr")
177
177
 
178
- model_name = os.environ.get("NEMORETRIEVER_PARSE_MODEL_NAME", "nvidia/nemoretriever-parse")
178
+ model_name = os.environ.get("NEMOTRON_PARSE_MODEL_NAME", "nvidia/nemotron-parse")
179
179
  pdf_extractor_config = {
180
180
  "pdfium_config": {
181
181
  "auth_token": yolox_auth, # All auth tokens are the same for the moment
182
182
  "yolox_endpoints": (yolox_grpc, yolox_http),
183
183
  "yolox_infer_protocol": yolox_protocol,
184
184
  },
185
- "nemoretriever_parse_config": {
186
- "auth_token": nemoretriever_parse_auth,
187
- "nemoretriever_parse_endpoints": (nemoretriever_parse_grpc, nemoretriever_parse_http),
188
- "nemoretriever_parse_infer_protocol": nemoretriever_parse_protocol,
189
- "nemoretriever_parse_model_name": model_name,
185
+ "nemotron_parse_config": {
186
+ "auth_token": nemotron_parse_auth,
187
+ "nemotron_parse_endpoints": (nemotron_parse_grpc, nemotron_parse_http),
188
+ "nemotron_parse_infer_protocol": nemotron_parse_protocol,
189
+ "nemotron_parse_model_name": model_name,
190
190
  "yolox_endpoints": (yolox_grpc, yolox_http),
191
191
  "yolox_infer_protocol": yolox_protocol,
192
192
  },
@@ -3,6 +3,7 @@
3
3
  # SPDX-License-Identifier: Apache-2.0
4
4
 
5
5
  import logging
6
+ import os
6
7
  from typing import Union, Optional, TextIO
7
8
 
8
9
 
@@ -23,6 +24,34 @@ from nv_ingest.framework.orchestration.execution.helpers import (
23
24
  logger = logging.getLogger(__name__)
24
25
 
25
26
 
27
+ def _configure_quiet_mode():
28
+ """
29
+ Configure environment for quiet/production logging in library mode.
30
+
31
+ Sets INGEST_RAY_LOG_LEVEL=PRODUCTION if not already set by user, which:
32
+ - Sets Ray logging to ERROR level (suppresses INFO/WARNING)
33
+ - Disables Ray usage stats collection
34
+ - Disables Ray import warnings
35
+
36
+ Also silences other common warnings that are noisy in library mode.
37
+ """
38
+ # Only set if user hasn't explicitly configured
39
+ if "INGEST_RAY_LOG_LEVEL" not in os.environ:
40
+ os.environ["INGEST_RAY_LOG_LEVEL"] = "PRODUCTION"
41
+
42
+ # Silence Ray accelerator env var warning
43
+ if "RAY_ACCEL_ENV_VAR_OVERRIDE_ON_ZERO" not in os.environ:
44
+ os.environ["RAY_ACCEL_ENV_VAR_OVERRIDE_ON_ZERO"] = "0"
45
+
46
+ # Disable OTEL tracing export errors (no collector expected in library mode)
47
+ if "OTEL_SDK_DISABLED" not in os.environ:
48
+ os.environ["OTEL_SDK_DISABLED"] = "true"
49
+
50
+ # Set nv-ingest module loggers to WARNING to suppress INFO level startup messages
51
+ logging.getLogger("nv_ingest").setLevel(logging.WARNING)
52
+ logging.getLogger("nv_ingest_api").setLevel(logging.WARNING)
53
+
54
+
26
55
  def run_pipeline(
27
56
  pipeline_config: Optional[PipelineConfigSchema] = None,
28
57
  block: bool = True,
@@ -32,6 +61,7 @@ def run_pipeline(
32
61
  stdout: Optional[TextIO] = None,
33
62
  stderr: Optional[TextIO] = None,
34
63
  libmode: bool = True,
64
+ quiet: Optional[bool] = None,
35
65
  ) -> Union[RayPipelineInterface, float, RayPipelineSubprocessInterface]:
36
66
  """
37
67
  Launch and manage a pipeline using configuration.
@@ -65,6 +95,10 @@ def run_pipeline(
65
95
  libmode : bool, default=True
66
96
  If True and pipeline_config is None, loads the default libmode pipeline configuration.
67
97
  If False, requires pipeline_config to be provided.
98
+ quiet : Optional[bool], default=None
99
+ If True, configures logging for minimal output (PRODUCTION preset, suppresses
100
+ INFO-level startup messages). If None, defaults to True when libmode=True.
101
+ Set to False to see verbose startup logs even in library mode.
68
102
 
69
103
  Returns
70
104
  -------
@@ -83,6 +117,12 @@ def run_pipeline(
83
117
  Exception
84
118
  Any other exceptions raised during pipeline launch or configuration.
85
119
  """
120
+ # Configure quiet mode for library mode by default (unless explicitly disabled)
121
+ if quiet is None:
122
+ quiet = libmode
123
+ if quiet:
124
+ _configure_quiet_mode()
125
+
86
126
  # Resolve configuration
87
127
  config = resolve_pipeline_config(pipeline_config, libmode)
88
128
  overrides = create_runtime_overrides(disable_dynamic_scaling, dynamic_memory_threshold)
@@ -71,14 +71,14 @@ stages:
71
71
  $YOLOX_HTTP_ENDPOINT|"https://ai.api.nvidia.com/v1/cv/nvidia/nemoretriever-page-elements-v2"
72
72
  ]
73
73
  yolox_infer_protocol: $YOLOX_INFER_PROTOCOL|http
74
- nemoretriever_parse_config:
74
+ nemotron_parse_config:
75
75
  auth_token: $NGC_API_KEY|$NVIDIA_API_KEY
76
- nemoretriever_parse_endpoints: [
77
- $NEMORETRIEVER_PARSE_GRPC_ENDPOINT|"",
78
- $NEMORETRIEVER_PARSE_HTTP_ENDPOINT|"https://integrate.api.nvidia.com/v1/chat/completions"
76
+ nemotron_parse_endpoints: [
77
+ $NEMOTRON_PARSE_GRPC_ENDPOINT|"",
78
+ $NEMOTRON_PARSE_HTTP_ENDPOINT|"https://integrate.api.nvidia.com/v1/chat/completions"
79
79
  ]
80
- nemoretriever_parse_infer_protocol: $NEMORETRIEVER_PARSE_INFER_PROTOCOL|http
81
- nemoretriever_parse_model_name: $NEMORETRIEVER_PARSE_MODEL_NAME|"nvidia/nemoretriever-parse"
80
+ nemotron_parse_infer_protocol: $NEMOTRON_PARSE_INFER_PROTOCOL|http
81
+ nemotron_parse_model_name: $NEMOTRON_PARSE_MODEL_NAME|"nvidia/nemotron-parse"
82
82
  yolox_endpoints: [
83
83
  $YOLOX_GRPC_ENDPOINT|"",
84
84
  $YOLOX_HTTP_ENDPOINT|"https://ai.api.nvidia.com/v1/cv/nvidia/nemoretriever-page-elements-v2"
@@ -70,14 +70,14 @@ stages:
70
70
  $YOLOX_HTTP_ENDPOINT|"http://page-elements:8000/v1/infer",
71
71
  ]
72
72
  yolox_infer_protocol: $YOLOX_INFER_PROTOCOL|grpc
73
- nemoretriever_parse_config:
73
+ nemotron_parse_config:
74
74
  auth_token: $NGC_API_KEY|$NVIDIA_API_KEY
75
- nemoretriever_parse_endpoints: [
76
- $NEMORETRIEVER_PARSE_GRPC_ENDPOINT|"",
77
- $NEMORETRIEVER_PARSE_HTTP_ENDPOINT|"http://nemoretriever-parse:8000/v1/chat/completions",
75
+ nemotron_parse_endpoints: [
76
+ $NEMOTRON_PARSE_GRPC_ENDPOINT|"",
77
+ $NEMOTRON_PARSE_HTTP_ENDPOINT|"http://nemotron-parse:8000/v1/chat/completions",
78
78
  ]
79
- nemoretriever_parse_infer_protocol: $NEMORETRIEVER_PARSE_INFER_PROTOCOL|http
80
- nemoretriever_parse_model_name: $NEMORETRIEVER_PARSE_MODEL_NAME|"nvidia/nemoretriever-parse"
79
+ nemotron_parse_infer_protocol: $NEMOTRON_PARSE_INFER_PROTOCOL|http
80
+ nemotron_parse_model_name: $NEMOTRON_PARSE_MODEL_NAME|"nvidia/nemotron-parse"
81
81
  yolox_endpoints: [
82
82
  $YOLOX_GRPC_ENDPOINT|"page-elements:8001",
83
83
  $YOLOX_HTTP_ENDPOINT|"http://page-elements:8000/v1/infer",
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: nv-ingest
3
- Version: 2025.12.11.dev20251211
3
+ Version: 2025.12.13.dev20251213
4
4
  Summary: Python module for multimodal document ingestion
5
5
  Author-email: Jeremy Dyer <jdyer@nvidia.com>
6
6
  License: Apache License