nv-ingest-api 2025.9.8.dev20250908__tar.gz → 2025.9.9.dev20250909__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.
- {nv_ingest_api-2025.9.8.dev20250908/src/nv_ingest_api.egg-info → nv_ingest_api-2025.9.9.dev20250909}/PKG-INFO +1 -1
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/util/image_processing/transforms.py +118 -5
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909/src/nv_ingest_api.egg-info}/PKG-INFO +1 -1
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/LICENSE +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/MANIFEST.in +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/README.md +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/pyproject.toml +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/setup.cfg +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/__init__.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/interface/__init__.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/interface/extract.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/interface/mutate.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/interface/store.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/interface/transform.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/interface/utility.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/internal/__init__.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/internal/enums/__init__.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/internal/enums/common.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/internal/extract/__init__.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/internal/extract/audio/__init__.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/internal/extract/audio/audio_extraction.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/internal/extract/docx/__init__.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/internal/extract/docx/docx_extractor.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/internal/extract/docx/engines/__init__.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/internal/extract/docx/engines/docxreader_helpers/__init__.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/internal/extract/docx/engines/docxreader_helpers/docx_helper.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/internal/extract/docx/engines/docxreader_helpers/docxreader.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/internal/extract/html/__init__.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/internal/extract/html/html_extractor.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/internal/extract/image/__init__.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/internal/extract/image/chart_extractor.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/internal/extract/image/image_extractor.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/internal/extract/image/image_helpers/__init__.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/internal/extract/image/image_helpers/common.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/internal/extract/image/infographic_extractor.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/internal/extract/image/table_extractor.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/internal/extract/pdf/__init__.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/internal/extract/pdf/engines/__init__.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/internal/extract/pdf/engines/adobe.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/internal/extract/pdf/engines/llama.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/internal/extract/pdf/engines/nemoretriever.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/internal/extract/pdf/engines/pdf_helpers/__init__.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/internal/extract/pdf/engines/pdfium.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/internal/extract/pdf/engines/tika.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/internal/extract/pdf/engines/unstructured_io.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/internal/extract/pdf/pdf_extractor.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/internal/extract/pptx/__init__.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/internal/extract/pptx/engines/__init__.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/internal/extract/pptx/engines/pptx_helper.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/internal/extract/pptx/pptx_extractor.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/internal/meta/__init__.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/internal/meta/udf.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/internal/mutate/__init__.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/internal/mutate/deduplicate.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/internal/mutate/filter.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/internal/primitives/__init__.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/internal/primitives/control_message_task.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/internal/primitives/ingest_control_message.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/internal/primitives/nim/__init__.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/internal/primitives/nim/default_values.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/internal/primitives/nim/model_interface/__init__.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/internal/primitives/nim/model_interface/cached.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/internal/primitives/nim/model_interface/decorators.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/internal/primitives/nim/model_interface/deplot.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/internal/primitives/nim/model_interface/helpers.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/internal/primitives/nim/model_interface/nemoretriever_parse.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/internal/primitives/nim/model_interface/ocr.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/internal/primitives/nim/model_interface/parakeet.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/internal/primitives/nim/model_interface/text_embedding.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/internal/primitives/nim/model_interface/vlm.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/internal/primitives/nim/model_interface/yolox.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/internal/primitives/nim/nim_client.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/internal/primitives/nim/nim_model_interface.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/internal/primitives/tracing/__init__.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/internal/primitives/tracing/latency.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/internal/primitives/tracing/logging.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/internal/primitives/tracing/tagging.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/internal/schemas/__init__.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/internal/schemas/extract/__init__.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/internal/schemas/extract/extract_audio_schema.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/internal/schemas/extract/extract_chart_schema.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/internal/schemas/extract/extract_docx_schema.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/internal/schemas/extract/extract_html_schema.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/internal/schemas/extract/extract_image_schema.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/internal/schemas/extract/extract_infographic_schema.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/internal/schemas/extract/extract_pdf_schema.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/internal/schemas/extract/extract_pptx_schema.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/internal/schemas/extract/extract_table_schema.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/internal/schemas/message_brokers/__init__.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/internal/schemas/message_brokers/message_broker_client_schema.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/internal/schemas/message_brokers/request_schema.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/internal/schemas/message_brokers/response_schema.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/internal/schemas/meta/__init__.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/internal/schemas/meta/base_model_noext.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/internal/schemas/meta/ingest_job_schema.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/internal/schemas/meta/metadata_schema.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/internal/schemas/meta/udf.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/internal/schemas/mutate/__init__.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/internal/schemas/mutate/mutate_image_dedup_schema.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/internal/schemas/store/__init__.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/internal/schemas/store/store_embedding_schema.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/internal/schemas/store/store_image_schema.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/internal/schemas/transform/__init__.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/internal/schemas/transform/transform_image_caption_schema.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/internal/schemas/transform/transform_image_filter_schema.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/internal/schemas/transform/transform_text_embedding_schema.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/internal/schemas/transform/transform_text_splitter_schema.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/internal/store/__init__.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/internal/store/embed_text_upload.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/internal/store/image_upload.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/internal/transform/__init__.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/internal/transform/caption_image.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/internal/transform/embed_text.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/internal/transform/split_text.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/util/__init__.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/util/control_message/__init__.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/util/control_message/validators.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/util/converters/__init__.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/util/converters/bytetools.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/util/converters/containers.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/util/converters/datetools.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/util/converters/dftools.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/util/converters/formats.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/util/converters/type_mappings.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/util/detectors/__init__.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/util/detectors/language.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/util/exception_handlers/__init__.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/util/exception_handlers/converters.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/util/exception_handlers/decorators.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/util/exception_handlers/detectors.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/util/exception_handlers/pdf.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/util/exception_handlers/schemas.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/util/image_processing/__init__.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/util/image_processing/clustering.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/util/image_processing/processing.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/util/image_processing/table_and_chart.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/util/imports/__init__.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/util/imports/callable_signatures.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/util/imports/dynamic_resolvers.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/util/introspection/__init__.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/util/introspection/class_inspect.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/util/introspection/function_inspect.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/util/logging/__init__.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/util/logging/configuration.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/util/logging/sanitize.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/util/message_brokers/__init__.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/util/message_brokers/simple_message_broker/__init__.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/util/message_brokers/simple_message_broker/broker.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/util/message_brokers/simple_message_broker/ordered_message_queue.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/util/message_brokers/simple_message_broker/simple_client.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/util/metadata/__init__.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/util/metadata/aggregators.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/util/multi_processing/__init__.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/util/multi_processing/mp_pool_singleton.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/util/nim/__init__.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/util/pdf/__init__.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/util/pdf/pdfium.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/util/schema/__init__.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/util/schema/schema_validator.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/util/service_clients/__init__.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/util/service_clients/client_base.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/util/service_clients/kafka/__init__.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/util/service_clients/redis/__init__.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/util/service_clients/redis/redis_client.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/util/service_clients/rest/__init__.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/util/service_clients/rest/rest_client.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/util/string_processing/__init__.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/util/string_processing/configuration.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/util/string_processing/yaml.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/util/system/__init__.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api/util/system/hardware_info.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api.egg-info/SOURCES.txt +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api.egg-info/dependency_links.txt +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api.egg-info/requires.txt +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/nv_ingest_api.egg-info/top_level.txt +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/udfs/__init__.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/udfs/llm_summarizer_udf.py +0 -0
- {nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/version.py +0 -0
|
@@ -162,7 +162,7 @@ def ensure_base64_format(base64_image: str, target_format: str = "PNG", **kwargs
|
|
|
162
162
|
base64_image : str
|
|
163
163
|
Base64-encoded image string.
|
|
164
164
|
target_format : str, optional
|
|
165
|
-
The target image format. Supported formats are "PNG"
|
|
165
|
+
The target image format. Supported formats are "PNG", "JPEG"/"JPG". Defaults to "PNG".
|
|
166
166
|
**kwargs
|
|
167
167
|
Additional keyword arguments passed to the format-specific encoding function.
|
|
168
168
|
For JPEG: quality (int, default=100) - JPEG quality (1-100).
|
|
@@ -176,9 +176,10 @@ def ensure_base64_format(base64_image: str, target_format: str = "PNG", **kwargs
|
|
|
176
176
|
Raises
|
|
177
177
|
------
|
|
178
178
|
ValueError
|
|
179
|
-
If there is an error during format conversion.
|
|
179
|
+
If there is an error during format conversion or if an unsupported format is provided.
|
|
180
180
|
"""
|
|
181
|
-
|
|
181
|
+
# Quick format normalization
|
|
182
|
+
target_format = target_format.upper().strip()
|
|
182
183
|
if target_format == "JPG":
|
|
183
184
|
target_format = "JPEG"
|
|
184
185
|
|
|
@@ -566,11 +567,14 @@ def numpy_to_base64(array: np.ndarray, format: str = "PNG", **kwargs) -> str:
|
|
|
566
567
|
# Centralized preprocessing of the numpy array
|
|
567
568
|
processed_array = _preprocess_numpy_array(array)
|
|
568
569
|
|
|
569
|
-
|
|
570
|
+
# Quick format normalization
|
|
571
|
+
format = format.upper().strip()
|
|
572
|
+
if format == "JPG":
|
|
573
|
+
format = "JPEG"
|
|
570
574
|
|
|
571
575
|
if format == "PNG":
|
|
572
576
|
return numpy_to_base64_png(processed_array)
|
|
573
|
-
elif format == "JPEG"
|
|
577
|
+
elif format == "JPEG":
|
|
574
578
|
quality = kwargs.get("quality", 100)
|
|
575
579
|
return numpy_to_base64_jpeg(processed_array, quality=quality)
|
|
576
580
|
else:
|
|
@@ -669,3 +673,112 @@ def scale_numpy_image(
|
|
|
669
673
|
img_arr = np.array(image)
|
|
670
674
|
# Ensure we return a copy
|
|
671
675
|
return img_arr.copy()
|
|
676
|
+
|
|
677
|
+
|
|
678
|
+
def base64_to_disk(base64_string: str, output_path: str) -> bool:
|
|
679
|
+
"""
|
|
680
|
+
Write base64-encoded image data directly to disk without conversion.
|
|
681
|
+
|
|
682
|
+
This function performs efficient base64 decoding and direct file writing,
|
|
683
|
+
preserving the original image format without unnecessary decode/encode cycles.
|
|
684
|
+
Used as the foundation for higher-level image saving operations.
|
|
685
|
+
|
|
686
|
+
Parameters
|
|
687
|
+
----------
|
|
688
|
+
base64_string : str
|
|
689
|
+
Base64-encoded image data. May include data URL prefix.
|
|
690
|
+
output_path : str
|
|
691
|
+
Path where the image should be saved.
|
|
692
|
+
|
|
693
|
+
Returns
|
|
694
|
+
-------
|
|
695
|
+
bool
|
|
696
|
+
True if successful, False otherwise.
|
|
697
|
+
|
|
698
|
+
Examples
|
|
699
|
+
--------
|
|
700
|
+
>>> success = base64_to_disk(image_b64, "/path/to/output.jpeg")
|
|
701
|
+
>>> if success:
|
|
702
|
+
... print("Image saved successfully")
|
|
703
|
+
"""
|
|
704
|
+
try:
|
|
705
|
+
# Validate input
|
|
706
|
+
if not base64_string or not base64_string.strip():
|
|
707
|
+
return False
|
|
708
|
+
|
|
709
|
+
# Strip data URL prefix if present (e.g., "data:image/jpeg;base64,")
|
|
710
|
+
if "," in base64_string:
|
|
711
|
+
base64_string = base64_string.split(",")[1]
|
|
712
|
+
|
|
713
|
+
# Decode and write directly using bytetools (consistent with rest of codebase)
|
|
714
|
+
image_bytes = bytetools.bytesfrombase64(base64_string)
|
|
715
|
+
|
|
716
|
+
# Validate we actually have image data
|
|
717
|
+
if not image_bytes:
|
|
718
|
+
return False
|
|
719
|
+
|
|
720
|
+
with open(output_path, "wb") as f:
|
|
721
|
+
f.write(image_bytes)
|
|
722
|
+
return True
|
|
723
|
+
|
|
724
|
+
except Exception as e:
|
|
725
|
+
logger.error(f"Failed to write base64 image to disk: {e}")
|
|
726
|
+
return False
|
|
727
|
+
|
|
728
|
+
|
|
729
|
+
def save_image_to_disk(base64_content: str, output_path: str, target_format: str = "auto", **kwargs) -> bool:
|
|
730
|
+
"""
|
|
731
|
+
Save base64 image to disk with optional format conversion.
|
|
732
|
+
|
|
733
|
+
This function provides a high-level interface for saving images that combines
|
|
734
|
+
format conversion capabilities with efficient disk writing. It automatically
|
|
735
|
+
chooses between direct writing (when no conversion needed) and format conversion
|
|
736
|
+
to optimize performance while maintaining flexibility.
|
|
737
|
+
|
|
738
|
+
Parameters
|
|
739
|
+
----------
|
|
740
|
+
base64_content : str
|
|
741
|
+
Base64-encoded image data.
|
|
742
|
+
output_path : str
|
|
743
|
+
Path where the image should be saved.
|
|
744
|
+
target_format : str, optional
|
|
745
|
+
Target format ("PNG", "JPEG", "auto"). Default is "auto" (preserve original).
|
|
746
|
+
Use "auto" to preserve the original format for maximum speed.
|
|
747
|
+
**kwargs
|
|
748
|
+
Additional arguments passed to ensure_base64_format() for conversion.
|
|
749
|
+
For JPEG: quality (int, default=100) - JPEG quality (1-100).
|
|
750
|
+
For PNG: compression (int, default=3) - PNG compression level (0-9).
|
|
751
|
+
|
|
752
|
+
Returns
|
|
753
|
+
-------
|
|
754
|
+
bool
|
|
755
|
+
True if successful, False otherwise.
|
|
756
|
+
|
|
757
|
+
Examples
|
|
758
|
+
--------
|
|
759
|
+
>>> # Preserve original format (fastest)
|
|
760
|
+
>>> success = save_image_to_disk(image_b64, "/path/to/output.jpeg", "auto")
|
|
761
|
+
>>>
|
|
762
|
+
>>> # Convert to JPEG with specific quality
|
|
763
|
+
>>> success = save_image_to_disk(image_b64, "/path/to/output.jpeg", "JPEG", quality=85)
|
|
764
|
+
"""
|
|
765
|
+
try:
|
|
766
|
+
# Quick format normalization
|
|
767
|
+
target_format = target_format.lower().strip()
|
|
768
|
+
if target_format in ["jpg"]:
|
|
769
|
+
target_format = "jpeg"
|
|
770
|
+
|
|
771
|
+
# Handle format conversion if needed
|
|
772
|
+
if target_format == "auto":
|
|
773
|
+
# Preserve original format - no conversion needed
|
|
774
|
+
formatted_b64 = base64_content
|
|
775
|
+
else:
|
|
776
|
+
# Use API's smart format conversion
|
|
777
|
+
formatted_b64 = ensure_base64_format(base64_content, target_format, **kwargs)
|
|
778
|
+
|
|
779
|
+
# Direct write - no round trips
|
|
780
|
+
return base64_to_disk(formatted_b64, output_path)
|
|
781
|
+
|
|
782
|
+
except Exception as e:
|
|
783
|
+
logger.error(f"Failed to save image to disk: {e}")
|
|
784
|
+
return False
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
File without changes
|
|
File without changes
|
{nv_ingest_api-2025.9.8.dev20250908 → nv_ingest_api-2025.9.9.dev20250909}/src/udfs/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|