Packages
kreuzberg
4.7.3
4.10.2
4.10.1
4.10.0
4.9.9
4.9.7
4.9.5
4.9.4
4.9.3
4.9.2
4.9.1
4.8.6
4.8.5
4.8.4
4.8.3
4.8.2
4.8.1
4.8.0
4.7.4
4.7.3
4.7.2
4.7.1
4.7.0
4.6.3
4.6.2
4.6.1
4.6.0
4.5.4
4.5.3
4.5.2
4.5.1
4.4.6
4.4.5
4.4.4
4.4.3
4.4.2
4.4.1
4.4.0
4.3.8
4.3.7
4.3.6
4.3.5
4.3.4
4.3.3
4.3.2
4.3.0
4.2.15
4.2.14
4.2.13
4.2.12
4.2.11
4.2.10
4.2.9
4.2.8
4.2.7
4.2.6
4.2.5
4.2.4
4.2.3
4.2.2
4.2.1
4.2.0
4.1.2
4.1.1
4.1.0
4.0.8
4.0.7
4.0.6
4.0.4
4.0.3
4.0.2
4.0.1
4.0.0
4.0.0-rc.27
4.0.0-rc.26
High-performance document intelligence library with OCR support
Current section
Files
Jump to
Current section
Files
lib/kreuzberg/native.ex
defmodule Kreuzberg.Native do
@moduledoc false
use RustlerPrecompiled,
otp_app: :kreuzberg,
crate: "kreuzberg_rustler",
base_url:
"https://github.com/kreuzberg-dev/kreuzberg/releases/download/v#{Mix.Project.config()[:version]}",
version: Mix.Project.config()[:version],
force_build: System.get_env("KREUZBERG_BUILD") in ["1", "true"] or Mix.env() in [:test, :dev],
# Targets that are built in CI (see publish.yaml elixir-natives matrix)
targets: ~w(
aarch64-apple-darwin
aarch64-unknown-linux-gnu
x86_64-unknown-linux-gnu
x86_64-pc-windows-gnu
),
nif_versions: ["2.16", "2.17"]
# Basic extraction
def extract(_input, _input_type), do: :erlang.nif_error(:nif_not_loaded)
# Extraction with options
def extract_with_options(_input, _input_type, _options), do: :erlang.nif_error(:nif_not_loaded)
# File extraction
def extract_file(_file_path, _input_type), do: :erlang.nif_error(:nif_not_loaded)
def extract_file_with_options(_file_path, _input_type, _options),
do: :erlang.nif_error(:nif_not_loaded)
# Batch extraction
def batch_extract_files(_file_paths, _input_type), do: :erlang.nif_error(:nif_not_loaded)
def batch_extract_files_with_options(_file_paths, _input_type, _options, _file_configs),
do: :erlang.nif_error(:nif_not_loaded)
# Batch extraction from bytes
def batch_extract_bytes(_bytes_list, _input_type), do: :erlang.nif_error(:nif_not_loaded)
def batch_extract_bytes_with_options(_bytes_list, _input_type, _options, _file_configs),
do: :erlang.nif_error(:nif_not_loaded)
# Cache operations
def cache_stats, do: :erlang.nif_error(:nif_not_loaded)
def clear_cache, do: :erlang.nif_error(:nif_not_loaded)
# MIME type operations
def detect_mime_type(_bytes), do: :erlang.nif_error(:nif_not_loaded)
def detect_mime_type_from_path(_file_path), do: :erlang.nif_error(:nif_not_loaded)
def validate_mime_type(_mime_type), do: :erlang.nif_error(:nif_not_loaded)
def get_extensions_for_mime(_mime_type), do: :erlang.nif_error(:nif_not_loaded)
# Embedding operations
def list_embedding_presets, do: :erlang.nif_error(:nif_not_loaded)
def get_embedding_preset(_preset_name), do: :erlang.nif_error(:nif_not_loaded)
# Validation functions
def validate_chunking_params(_chunk_size, _overlap), do: :erlang.nif_error(:nif_not_loaded)
def validate_language_code(_language_code), do: :erlang.nif_error(:nif_not_loaded)
def validate_dpi(_dpi), do: :erlang.nif_error(:nif_not_loaded)
def validate_confidence(_confidence), do: :erlang.nif_error(:nif_not_loaded)
def validate_ocr_backend(_backend), do: :erlang.nif_error(:nif_not_loaded)
def validate_binarization_method(_method), do: :erlang.nif_error(:nif_not_loaded)
def validate_tesseract_psm(_psm), do: :erlang.nif_error(:nif_not_loaded)
def validate_tesseract_oem(_oem), do: :erlang.nif_error(:nif_not_loaded)
# Config discovery operations
def config_discover, do: :erlang.nif_error(:nif_not_loaded)
def config_from_file(_file_path), do: :erlang.nif_error(:nif_not_loaded)
# Document extractor plugin management
def list_document_extractors, do: :erlang.nif_error(:nif_not_loaded)
def unregister_document_extractor(_name), do: :erlang.nif_error(:nif_not_loaded)
def clear_document_extractors, do: :erlang.nif_error(:nif_not_loaded)
# PDF rendering
def render_pdf_page(_input, _page_index, _dpi), do: :erlang.nif_error(:nif_not_loaded)
# PDF page iterator
def render_pdf_pages_iter_open(_path, _dpi), do: :erlang.nif_error(:nif_not_loaded)
def render_pdf_pages_iter_next(_handle), do: :erlang.nif_error(:nif_not_loaded)
def render_pdf_pages_iter_free(_handle), do: :erlang.nif_error(:nif_not_loaded)
end