classifyre-cli 0.6.10__tar.gz → 0.6.11__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.
- classifyre_cli-0.6.11/.turbo/turbo-build.log +3 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/PKG-INFO +1 -1
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/package.json +1 -1
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/pyproject.toml +16 -1
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/detectors/custom_detector/results.py +2 -4
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/utils/file_parser.py +77 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/utils/test_file_parser.py +90 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/uv.lock +31 -27
- classifyre_cli-0.6.10/.turbo/turbo-build.log +0 -3
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/.gitignore +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/.python-version +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/README.md +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/main.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/scripts/generate_models.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/scripts/generate_runtime_packages.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/scripts/generate_sdk_completions.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/__init__.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/augmentation/__init__.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/augmentation/contract.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/augmentation/preview.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/augmentation/runner.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/augmentation/sdk.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/augmentation/session.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/config.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/detectors/__init__.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/detectors/base.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/detectors/broken_links/__init__.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/detectors/broken_links/detector.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/detectors/config.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/detectors/content/__init__.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/detectors/custom/__init__.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/detectors/custom/detector.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/detectors/custom/extractor.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/detectors/custom/runners/__init__.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/detectors/custom/runners/_base.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/detectors/custom/runners/_custom_detector.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/detectors/custom/runners/_decision.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/detectors/custom/runners/_factory.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/detectors/custom/runners/_gliner2.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/detectors/custom/runners/_image_classification.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/detectors/custom/runners/_llm.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/detectors/custom/runners/_object_detection.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/detectors/custom/runners/_provider_call.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/detectors/custom/runners/_regex.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/detectors/custom/runners/_tag.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/detectors/custom/runners/_text_classification.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/detectors/custom/trainer.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/detectors/custom_detector/__init__.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/detectors/custom_detector/contract.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/detectors/custom_detector/files.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/detectors/custom_detector/preview.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/detectors/custom_detector/runner.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/detectors/custom_detector/sdk.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/detectors/custom_detector/session.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/detectors/dependencies.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/detectors/engine_version.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/detectors/errors.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/detectors/pii/__init__.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/detectors/pii/detector.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/detectors/secrets/__init__.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/detectors/secrets/detector.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/detectors/threat/__init__.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/detectors/threat/code_security_detector.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/detectors/threat/yara_detector.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/file_evaluation/__init__.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/file_evaluation/asset_fixture.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/file_evaluation/runner.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/graph/__init__.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/graph/edges.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/main.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/models/generated_detectors.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/models/generated_input.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/models/generated_single_asset_scan_results.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/notebook/__init__.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/notebook/child.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/notebook/cli.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/notebook/cohort.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/notebook/contract.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/notebook/execute.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/notebook/files.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/notebook/groups.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/notebook/outputs.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/notebook/packages.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/notebook/protocol.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/notebook/redact.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/notebook/scaffold.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/notebook/sdk.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/notebook/serialize.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/outputs/__init__.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/outputs/base.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/outputs/console.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/outputs/factory.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/outputs/file.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/outputs/rest.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/pipeline/__init__.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/pipeline/asset_payload_server.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/pipeline/content_provider.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/pipeline/detector_breaker.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/pipeline/detector_pipeline.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/pipeline/parsed_content_provider.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/pipeline/payload_window.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/pipeline/scan_cache.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/pipeline/text_artifact.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/pipeline/worker_pool.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/sources/__init__.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/sources/asset_metadata.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/sources/atlassian_common.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/sources/azure_blob_storage/__init__.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/sources/azure_blob_storage/source.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/sources/base.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/sources/confluence/__init__.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/sources/confluence/source.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/sources/custom/__init__.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/sources/custom/env.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/sources/custom/runner.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/sources/custom/source.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/sources/databricks/__init__.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/sources/databricks/source.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/sources/delta_lake/__init__.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/sources/delta_lake/source.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/sources/dependencies.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/sources/dremio/__init__.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/sources/dremio/client.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/sources/dremio/source.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/sources/dropbox/__init__.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/sources/dropbox/auth.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/sources/dropbox/source.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/sources/elasticsearch/__init__.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/sources/elasticsearch/source.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/sources/email/__init__.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/sources/email/source.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/sources/git/__init__.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/sources/git/source.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/sources/google_cloud_storage/__init__.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/sources/google_cloud_storage/source.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/sources/google_workspace/__init__.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/sources/google_workspace/source.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/sources/hive/__init__.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/sources/hive/source.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/sources/hugging_face/__init__.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/sources/hugging_face/source.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/sources/iceberg/__init__.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/sources/iceberg/source.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/sources/jira/__init__.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/sources/jira/source.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/sources/kafka/__init__.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/sources/kafka/rest.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/sources/kafka/source.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/sources/lakehouse_base.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/sources/local_folder/__init__.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/sources/local_folder/source.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/sources/meilisearch/__init__.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/sources/meilisearch/source.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/sources/microsoft_365/__init__.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/sources/microsoft_365/source.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/sources/mongodb/__init__.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/sources/mongodb/source.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/sources/mssql/__init__.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/sources/mssql/source.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/sources/mysql/__init__.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/sources/mysql/source.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/sources/neo4j/__init__.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/sources/neo4j/source.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/sources/notion/__init__.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/sources/notion/client.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/sources/notion/source.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/sources/object_storage/base.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/sources/opensearch/__init__.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/sources/opensearch/source.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/sources/oracle/__init__.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/sources/oracle/source.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/sources/postgresql/__init__.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/sources/postgresql/source.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/sources/powerbi/__init__.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/sources/powerbi/source.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/sources/recipe_normalizer.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/sources/reddit/__init__.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/sources/reddit/source.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/sources/s3_client.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/sources/s3_compatible_storage/README.md +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/sources/s3_compatible_storage/__init__.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/sources/s3_compatible_storage/source.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/sources/sandbox/__init__.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/sources/sandbox/source.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/sources/search_engine_base.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/sources/servicedesk/__init__.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/sources/servicedesk/source.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/sources/slack/__init__.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/sources/slack/source.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/sources/snowflake/__init__.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/sources/snowflake/source.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/sources/sqlite/__init__.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/sources/sqlite/source.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/sources/tableau/__init__.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/sources/tableau/source.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/sources/tabular_base.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/sources/tabular_utils.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/sources/wordpress/__init__.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/sources/wordpress/source.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/sources/youtube/__init__.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/sources/youtube/source.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/telemetry.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/utils/__init__.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/utils/archive_extraction.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/utils/content_extraction.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/utils/dependency_groups.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/utils/embedded_files.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/utils/external_video.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/utils/file_metadata.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/utils/file_to_images.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/utils/hashing.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/utils/legacy_office.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/utils/payload.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/utils/range_reader.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/utils/redaction.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/utils/resources.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/utils/sampling_cursor.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/utils/sampling_frontier.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/utils/source_files.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/utils/sql_lineage.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/utils/torch_runtime.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/utils/transcription.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/utils/urn.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/utils/uv_sync.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/utils/validation.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/utils/video_processing.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/__init__.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/_lakehouse_fakes.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/conftest.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/detectors/__init__.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/detectors/broken_links/test_broken_links_detector.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/detectors/conftest.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/detectors/content/__init__.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/detectors/custom/__init__.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/detectors/custom/conftest.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/detectors/custom/test_decision_runner.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/detectors/custom/test_gliner2_classification.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/detectors/custom/test_invoice_extraction.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/detectors/custom/test_llm_runner.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/detectors/custom/test_pipeline_integration.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/detectors/custom/test_regex_runner.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/detectors/custom/test_runner_hardening.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/detectors/custom/test_transformer_runners.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/detectors/pii/__init__.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/detectors/pii/conftest.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/detectors/pii/sample_invoice.pdf +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/detectors/pii/test_pii_chunking.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/detectors/pii/test_pii_detector.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/detectors/pii/test_pii_detector_extended.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/detectors/pii/test_pii_regional_entities.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/detectors/pii/test_pii_severity.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/detectors/secrets/__init__.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/detectors/secrets/test_secrets_detector.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/detectors/secrets/test_secrets_detector_extended.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/detectors/test_base_detector.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/detectors/test_custom_detector_examples_runtime.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/detectors/test_custom_detector_session.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/detectors/test_detector_catalog_commercial.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/detectors/test_detector_pipeline_types.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/detectors/test_detector_schema_examples.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/detectors/test_detector_types.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/detectors/test_phase2_detectors.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/detectors/test_registry.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/detectors/test_tag_runner.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/detectors/threat/__init__.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/detectors/threat/test_code_security_detector.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/detectors/threat/test_yara_detector.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/integration/test_wordpress_broken_links_detector.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/integration/test_wordpress_links_assets.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/pipeline/test_detector_breaker.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/pipeline/test_detector_outcomes.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/pipeline/test_detector_pipeline.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/pipeline/test_worker_pool.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/test_arrow_ipc_payloads.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/test_assets_metadata_catalog.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/test_augmentation_contract.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/test_augmentation_edges.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/test_augmentation_patch.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/test_augmentation_scan_cache.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/test_augmentation_sdk.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/test_augmentation_session.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/test_augmentation_tags_end_to_end.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/test_automatic_new_first.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/test_azure_blob_storage_source.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/test_base_source_attachment.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/test_base_source_sampling.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/test_byte_valued_fields.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/test_config.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/test_confluence_source.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/test_custom_detector_end_to_end.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/test_custom_detector_evaluation.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/test_custom_detector_notebook.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/test_custom_detector_templates.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/test_custom_extractor.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/test_custom_source.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/test_custom_source_relationships.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/test_custom_source_tags_end_to_end.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/test_databricks_source.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/test_delta_lake_source.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/test_dependency_groups.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/test_detector_scope.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/test_dremio_source.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/test_dropbox_auth_command.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/test_dropbox_source.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/test_elasticsearch_source.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/test_email_source.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/test_file_evaluation_runner.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/test_git_source.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/test_google_cloud_storage_source.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/test_google_workspace_source.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/test_graph_edges.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/test_hashing.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/test_hive_source.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/test_hugging_face_source.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/test_iceberg_source.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/test_jira_source.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/test_kafka_source.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/test_lineage_loss_reporting.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/test_local_folder_source.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/test_main.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/test_meilisearch_source.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/test_microsoft_365_source.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/test_mongodb_source.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/test_mssql_source.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/test_mysql_source.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/test_neo4j_source.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/test_notebook_asset_entity.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/test_notebook_asset_extract.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/test_notebook_asset_tags.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/test_notebook_cohort.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/test_notebook_execute.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/test_notebook_files.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/test_notebook_groups.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/test_notebook_log_levels.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/test_notebook_packages.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/test_notebook_query_assets.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/test_notebook_sdk_exports.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/test_notebook_serialize.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/test_notebook_templates.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/test_notion_source.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/test_object_storage_download_efficiency.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/test_opensearch_source.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/test_oracle_source.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/test_outputs.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/test_payload_window.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/test_payload_window_parquet.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/test_postgresql_source.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/test_powerbi_source.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/test_range_reading.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/test_recipe_normalizer.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/test_reddit_source.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/test_rest_backpressure.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/test_runtime_packages.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/test_s3_compatible_storage_source.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/test_sampling_automatic.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/test_sampling_cursor.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/test_sampling_frontier.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/test_sandbox_source.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/test_scan_cache.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/test_sdk_completions.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/test_secret_redaction.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/test_semantic_declarations.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/test_servicedesk_source.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/test_slack_source.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/test_snowflake_source.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/test_source_dependency_groups.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/test_source_strategy_conformance.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/test_sqlite_source.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/test_tableau_source.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/test_tabular_automatic_sampling.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/test_tabular_lineage.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/test_tabular_utils.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/test_torch_runtime.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/test_urn.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/test_uv_sync.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/test_wordpress_source.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/test_youtube_source.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/test_youtube_source_integration.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/utils/test_archive_extraction.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/utils/test_content_extraction.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/utils/test_embedded_files.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/utils/test_file_metadata.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/utils/test_file_to_images.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/utils/test_legacy_office.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/utils/test_payload.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/utils/test_transcription.py +0 -0
- {classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/tests/utils/test_video_processing.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "classifyre-cli"
|
|
3
|
-
version = "0.6.
|
|
3
|
+
version = "0.6.11"
|
|
4
4
|
description = "Classifyre CLI — scan and classify unstructured data sources"
|
|
5
5
|
readme = "README.md"
|
|
6
6
|
# Upper bound is load-bearing: onnxruntime publishes no cp315 wheels (notably
|
|
@@ -483,6 +483,21 @@ package = true
|
|
|
483
483
|
# distribution declared by our video and OCR groups. Installing both would
|
|
484
484
|
# overwrite the same cv2 namespace and add GUI libraries to CPU-only containers.
|
|
485
485
|
exclude-dependencies = ["opencv-python"]
|
|
486
|
+
# Two transitive dependencies whose latest release breaks the package that
|
|
487
|
+
# pulls it in, while that package's own requirement still allows it. Both
|
|
488
|
+
# failures were silent in a scan: images and scans came back with no text, and
|
|
489
|
+
# every audio and video file failed. Lift a bound when its consumer catches up.
|
|
490
|
+
constraint-dependencies = [
|
|
491
|
+
# faster-whisper 1.2.1 (its latest) decodes with
|
|
492
|
+
# av.open(..., metadata_errors="ignore"), and so does utils/transcription.py.
|
|
493
|
+
# PyAV 19 removed the argument: every transcription raised TypeError.
|
|
494
|
+
"av>=11,<19",
|
|
495
|
+
# Docling (through 2.135) imports rapidocr.utils.model_resolver.PP_OCRV6_LANGS
|
|
496
|
+
# while building its RapidOCR engine. rapidocr 3.10.0 no longer has it;
|
|
497
|
+
# Docling catches the ImportError, logs "No OCR engine found" and converts
|
|
498
|
+
# every image and scanned PDF to an empty document.
|
|
499
|
+
"rapidocr>=3.9.1,<3.10",
|
|
500
|
+
]
|
|
486
501
|
# Every platform we ship must resolve to versions with
|
|
487
502
|
# usable wheels. Without this, uv happily locks versions that are missing a
|
|
488
503
|
# platform — e.g. deltalake 1.6.1 published no win_amd64 wheel, which broke the
|
|
@@ -215,9 +215,7 @@ class FindingMapper:
|
|
|
215
215
|
# Overlong keys are hashed, never truncated: truncation collides
|
|
216
216
|
# ("row-111..." vs "row-111..." with a different tail become one
|
|
217
217
|
# finding), and the API applies the same hash, so both sides agree.
|
|
218
|
-
identity_key = (
|
|
219
|
-
_identity_key(str(identity)) if identity not in (None, "") else None
|
|
220
|
-
)
|
|
218
|
+
identity_key = _identity_key(str(identity)) if identity not in (None, "") else None
|
|
221
219
|
if identity_key is not None:
|
|
222
220
|
metadata["identity"] = identity_key
|
|
223
221
|
|
|
@@ -263,4 +261,4 @@ class FindingMapper:
|
|
|
263
261
|
return kept or None
|
|
264
262
|
|
|
265
263
|
|
|
266
|
-
__all__ = ["RUNNER", "FindingMapper", "
|
|
264
|
+
__all__ = ["RUNNER", "FindingMapper", "_identity_key", "bound_severity"]
|
|
@@ -466,9 +466,15 @@ class _DoclingState:
|
|
|
466
466
|
# sync itself failed (transient: network blip, registry timeout). A
|
|
467
467
|
# genuine broken package fails on the retry too and is cached then.
|
|
468
468
|
self.install_retry_remaining: int = 1
|
|
469
|
+
# Whether Docling resolved an OCR engine, asked once per process.
|
|
470
|
+
self.ocr_engine_checked: bool = False
|
|
471
|
+
self.ocr_engine_error: str | None = None
|
|
472
|
+
self.ocr_engine_failures: int = 0
|
|
469
473
|
|
|
470
474
|
|
|
471
475
|
_docling_state = _DoclingState()
|
|
476
|
+
# How often building the OCR engine may fail before the failure is taken as settled.
|
|
477
|
+
_OCR_ENGINE_ATTEMPTS = 2
|
|
472
478
|
_docling_lock = threading.Lock()
|
|
473
479
|
# Limits concurrent converter.convert() calls to prevent OOM. The docling
|
|
474
480
|
# StandardPdfPipeline alone holds ~1 GB of model weights; additional working
|
|
@@ -538,6 +544,71 @@ def _reset_docling_singleton() -> None:
|
|
|
538
544
|
_docling_state.error = None
|
|
539
545
|
_docling_state.attempted = False
|
|
540
546
|
_docling_state.install_retry_remaining = 1
|
|
547
|
+
_docling_state.ocr_engine_checked = False
|
|
548
|
+
_docling_state.ocr_engine_error = None
|
|
549
|
+
_docling_state.ocr_engine_failures = 0
|
|
550
|
+
|
|
551
|
+
|
|
552
|
+
def _docling_ocr_engine_error() -> str | None:
|
|
553
|
+
"""Why Docling cannot read pixels in this environment, or None when it can.
|
|
554
|
+
|
|
555
|
+
Docling picks its OCR engine by trying each one and catching ImportError.
|
|
556
|
+
When none constructs it logs "No OCR engine found" and carries on: every
|
|
557
|
+
image and every scanned PDF then converts to an empty document, with no
|
|
558
|
+
error for the caller to see. That is how rapidocr 3.10.0 (which dropped a
|
|
559
|
+
name Docling imports) turned a whole drive of photographs and scans into
|
|
560
|
+
"extraction completed, no text" instead of a failure.
|
|
561
|
+
|
|
562
|
+
So the same selection is run once here and its outcome kept. The answer
|
|
563
|
+
contains "unavailable" on purpose: iter_file_pages reports such an error as
|
|
564
|
+
ENGINE_UNAVAILABLE, which a scan counts as missing coverage and retries,
|
|
565
|
+
rather than as an empty file.
|
|
566
|
+
"""
|
|
567
|
+
if _docling_state.ocr_engine_checked:
|
|
568
|
+
return _docling_state.ocr_engine_error
|
|
569
|
+
with _docling_lock:
|
|
570
|
+
if _docling_state.ocr_engine_checked:
|
|
571
|
+
return _docling_state.ocr_engine_error
|
|
572
|
+
import importlib
|
|
573
|
+
|
|
574
|
+
try:
|
|
575
|
+
accelerator = importlib.import_module("docling.datamodel.accelerator_options")
|
|
576
|
+
options = importlib.import_module("docling.datamodel.pipeline_options")
|
|
577
|
+
auto = importlib.import_module("docling.models.stages.ocr.auto_ocr_model")
|
|
578
|
+
build = auto.OcrAutoModel
|
|
579
|
+
auto_options = options.OcrAutoOptions
|
|
580
|
+
accelerator_options = accelerator.AcceleratorOptions
|
|
581
|
+
except Exception:
|
|
582
|
+
# A Docling laid out differently from the one this was written
|
|
583
|
+
# against: nothing to ask, so do not second-guess it.
|
|
584
|
+
_docling_state.ocr_engine_checked = True
|
|
585
|
+
return None
|
|
586
|
+
try:
|
|
587
|
+
model = build(
|
|
588
|
+
enabled=True,
|
|
589
|
+
artifacts_path=None,
|
|
590
|
+
options=auto_options(),
|
|
591
|
+
accelerator_options=accelerator_options(),
|
|
592
|
+
)
|
|
593
|
+
except Exception as exc:
|
|
594
|
+
# Building an engine can fail for a reason that passes (its model
|
|
595
|
+
# files are fetched on first use), so this answer is kept only
|
|
596
|
+
# once it has been given twice.
|
|
597
|
+
_docling_state.ocr_engine_failures += 1
|
|
598
|
+
if _docling_state.ocr_engine_failures >= _OCR_ENGINE_ATTEMPTS:
|
|
599
|
+
_docling_state.ocr_engine_error = f"OCR engine unavailable: {exc}"
|
|
600
|
+
_docling_state.ocr_engine_checked = True
|
|
601
|
+
return f"OCR engine unavailable: {exc}"
|
|
602
|
+
error: str | None = None
|
|
603
|
+
# Absent attribute (a later Docling) reads as "resolved".
|
|
604
|
+
if getattr(model, "_engine", model) is None:
|
|
605
|
+
error = (
|
|
606
|
+
"OCR engine unavailable: Docling found no usable OCR engine "
|
|
607
|
+
"(see the 'cannot be used because' lines it logged above)"
|
|
608
|
+
)
|
|
609
|
+
_docling_state.ocr_engine_error = error
|
|
610
|
+
_docling_state.ocr_engine_checked = True
|
|
611
|
+
return error
|
|
541
612
|
|
|
542
613
|
|
|
543
614
|
def _require_file_processing(module_name: str) -> object:
|
|
@@ -1004,6 +1075,12 @@ def _extract_docling_markdown(
|
|
|
1004
1075
|
return "", error
|
|
1005
1076
|
if converter is None:
|
|
1006
1077
|
return "", "Docling converter unavailable"
|
|
1078
|
+
# Pixels need an OCR engine; the document formats Docling parses natively
|
|
1079
|
+
# (pptx, odt, msg) do not, and must keep working without one.
|
|
1080
|
+
if _normalize_mime_type(mime_type).startswith("image/") or mime_type == "application/pdf":
|
|
1081
|
+
engine_error = _docling_ocr_engine_error()
|
|
1082
|
+
if engine_error:
|
|
1083
|
+
return "", engine_error
|
|
1007
1084
|
|
|
1008
1085
|
temp_fname = _temp_file_name(file_name, mime_type)
|
|
1009
1086
|
try:
|
|
@@ -473,6 +473,96 @@ class TestDoclingConverterSingleton:
|
|
|
473
473
|
assert text1 == text2 == "ocr output"
|
|
474
474
|
assert len(init_count) == 1, "DocumentConverter() must not be re-instantiated per file"
|
|
475
475
|
|
|
476
|
+
def _install_fake_ocr_selection(
|
|
477
|
+
self,
|
|
478
|
+
monkeypatch: pytest.MonkeyPatch,
|
|
479
|
+
*,
|
|
480
|
+
engine: object | None,
|
|
481
|
+
raises: Exception | None = None,
|
|
482
|
+
) -> list[int]:
|
|
483
|
+
"""Inject the Docling modules the OCR-engine check asks, on top of the fake converter.
|
|
484
|
+
|
|
485
|
+
`engine` is what Docling's automatic selection ends up with: None is
|
|
486
|
+
the state it logs as "No OCR engine found" and then ignores.
|
|
487
|
+
"""
|
|
488
|
+
selections: list[int] = []
|
|
489
|
+
|
|
490
|
+
class FakeAutoModel:
|
|
491
|
+
def __init__(self, **_kwargs: Any) -> None:
|
|
492
|
+
selections.append(1)
|
|
493
|
+
if raises is not None:
|
|
494
|
+
raise raises
|
|
495
|
+
self._engine = engine
|
|
496
|
+
|
|
497
|
+
modules = {
|
|
498
|
+
"docling.datamodel": {},
|
|
499
|
+
"docling.datamodel.accelerator_options": {"AcceleratorOptions": object},
|
|
500
|
+
"docling.datamodel.pipeline_options": {"OcrAutoOptions": object},
|
|
501
|
+
"docling.models": {},
|
|
502
|
+
"docling.models.stages": {},
|
|
503
|
+
"docling.models.stages.ocr": {},
|
|
504
|
+
"docling.models.stages.ocr.auto_ocr_model": {"OcrAutoModel": FakeAutoModel},
|
|
505
|
+
}
|
|
506
|
+
for name, attributes in modules.items():
|
|
507
|
+
module = ModuleType(name)
|
|
508
|
+
for attribute, value in attributes.items():
|
|
509
|
+
setattr(module, attribute, value)
|
|
510
|
+
monkeypatch.setitem(sys.modules, name, module)
|
|
511
|
+
return selections
|
|
512
|
+
|
|
513
|
+
def test_image_without_an_ocr_engine_is_engine_unavailable(
|
|
514
|
+
self, monkeypatch: pytest.MonkeyPatch
|
|
515
|
+
) -> None:
|
|
516
|
+
"""Docling converting pixels with no engine is missing coverage, not an empty file."""
|
|
517
|
+
self._install_fake_docling(monkeypatch, [])
|
|
518
|
+
self._install_fake_ocr_selection(monkeypatch, engine=None)
|
|
519
|
+
|
|
520
|
+
text, error = extract_text(png_stub(), "image/png", file_name="whiteboard.png")
|
|
521
|
+
assert text == ""
|
|
522
|
+
assert error is not None and "OCR engine unavailable" in error
|
|
523
|
+
|
|
524
|
+
with pytest.raises(TextExtractionCoverageError) as raised:
|
|
525
|
+
list(iter_file_pages(png_stub(), "image/png", file_name="whiteboard.png"))
|
|
526
|
+
assert raised.value.code == TextExtractionCoverageCode.ENGINE_UNAVAILABLE
|
|
527
|
+
|
|
528
|
+
def test_ocr_engine_that_fails_to_build_is_engine_unavailable(
|
|
529
|
+
self, monkeypatch: pytest.MonkeyPatch
|
|
530
|
+
) -> None:
|
|
531
|
+
self._install_fake_docling(monkeypatch, [])
|
|
532
|
+
selections = self._install_fake_ocr_selection(
|
|
533
|
+
monkeypatch, engine=None, raises=ImportError("rapidocr does not expose PP_OCRV6_LANGS")
|
|
534
|
+
)
|
|
535
|
+
|
|
536
|
+
for name in ("scan-1.png", "scan-2.png", "scan-3.png"):
|
|
537
|
+
_text, error = extract_text(png_stub(), "image/png", file_name=name)
|
|
538
|
+
assert error == "OCR engine unavailable: rapidocr does not expose PP_OCRV6_LANGS"
|
|
539
|
+
# Tried again once, in case the first failure was a download that did
|
|
540
|
+
# not finish, and then no more: every further image costs nothing.
|
|
541
|
+
assert len(selections) == 2
|
|
542
|
+
|
|
543
|
+
def test_ocr_engine_is_asked_once(self, monkeypatch: pytest.MonkeyPatch) -> None:
|
|
544
|
+
self._install_fake_docling(monkeypatch, [])
|
|
545
|
+
selections = self._install_fake_ocr_selection(monkeypatch, engine=object())
|
|
546
|
+
|
|
547
|
+
text1, error1 = extract_text(png_stub(), "image/png", file_name="a.png")
|
|
548
|
+
text2, error2 = extract_text(png_stub(), "image/png", file_name="b.png")
|
|
549
|
+
|
|
550
|
+
assert (text1, error1) == (text2, error2) == ("ocr output", None)
|
|
551
|
+
assert len(selections) == 1, "the engine selection loads models: once per process"
|
|
552
|
+
|
|
553
|
+
def test_native_document_formats_do_not_need_an_ocr_engine(
|
|
554
|
+
self, monkeypatch: pytest.MonkeyPatch
|
|
555
|
+
) -> None:
|
|
556
|
+
"""An .odt has no pixels to read; a missing OCR engine must not cost its text."""
|
|
557
|
+
self._install_fake_docling(monkeypatch, [])
|
|
558
|
+
selections = self._install_fake_ocr_selection(monkeypatch, engine=None)
|
|
559
|
+
|
|
560
|
+
text, error = extract_text(
|
|
561
|
+
b"odt-bytes", "application/vnd.oasis.opendocument.text", file_name="doc.odt"
|
|
562
|
+
)
|
|
563
|
+
assert (text, error) == ("ocr output", None)
|
|
564
|
+
assert selections == []
|
|
565
|
+
|
|
476
566
|
|
|
477
567
|
# ---------------------------------------------------------------------------
|
|
478
568
|
# parse_file
|
|
@@ -23,6 +23,10 @@ required-markers = [
|
|
|
23
23
|
]
|
|
24
24
|
|
|
25
25
|
[manifest]
|
|
26
|
+
constraints = [
|
|
27
|
+
{ name = "av", specifier = ">=11,<19" },
|
|
28
|
+
{ name = "rapidocr", specifier = ">=3.9.1,<3.10" },
|
|
29
|
+
]
|
|
26
30
|
excludes = ["opencv-python"]
|
|
27
31
|
|
|
28
32
|
[[package]]
|
|
@@ -337,28 +341,28 @@ wheels = [
|
|
|
337
341
|
|
|
338
342
|
[[package]]
|
|
339
343
|
name = "av"
|
|
340
|
-
version = "
|
|
341
|
-
source = { registry = "https://pypi.org/simple" }
|
|
342
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
343
|
-
wheels = [
|
|
344
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
345
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
346
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
347
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
348
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
349
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
350
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
351
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
352
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
353
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
354
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
355
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
356
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
357
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
358
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
359
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
360
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
361
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
344
|
+
version = "18.1.0"
|
|
345
|
+
source = { registry = "https://pypi.org/simple" }
|
|
346
|
+
sdist = { url = "https://files.pythonhosted.org/packages/8d/f4/f22114d30d3435e38c6af2b4870f37b864403dca6ae7af747a289ce0a18e/av-18.1.0.tar.gz", hash = "sha256:47bfc286e1bc9de7ab4681fc2b575cd2460a66919d31ffe1bd5aa54fae531a28", size = 4451061, upload-time = "2026-08-12T22:28:18.761Z" }
|
|
347
|
+
wheels = [
|
|
348
|
+
{ url = "https://files.pythonhosted.org/packages/05/d4/d7cdc8bff143c17a6d35924375ae28dd692cacde38700a7d419fde54f44a/av-18.1.0-cp311-abi3-macosx_11_0_x86_64.whl", hash = "sha256:ae75d8bb6467895ed1f8572ededf7ffa49eac07f6e483222f5d7d62a41d12f04", size = 22546147, upload-time = "2026-08-12T22:27:11.851Z" },
|
|
349
|
+
{ url = "https://files.pythonhosted.org/packages/3f/c9/37a619297492256b77d5ed906e7d8166c10a26ed251dccf1ae03ab19bff6/av-18.1.0-cp311-abi3-macosx_14_0_arm64.whl", hash = "sha256:b30a4e8d934558e19602b68998a4d9ac9f250fa0dacef216f7e8e40153b13316", size = 18217603, upload-time = "2026-08-12T22:27:14.713Z" },
|
|
350
|
+
{ url = "https://files.pythonhosted.org/packages/d9/84/2464ffb64c08c5ce8b522c8e74594714414e3b0575267652c5c51c0574b9/av-18.1.0-cp311-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:6fc837cc51adf80331ac850779cd53b5d4c4460b0ebe9057a02a921c6736f19d", size = 33640142, upload-time = "2026-08-12T22:27:17.835Z" },
|
|
351
|
+
{ url = "https://files.pythonhosted.org/packages/27/3a/204dbfc3e08eb4cdc6e6ff57be02150bc44523ebdb50182d10025792ebd9/av-18.1.0-cp311-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:8a032e8d8ebc73dec079364b9b4a6837638a2d106e8472314e685ffbf163e700", size = 35786210, upload-time = "2026-08-12T22:27:20.984Z" },
|
|
352
|
+
{ url = "https://files.pythonhosted.org/packages/e1/99/b0d04ec553ff9a7e00455458dfa3a39c8a8f627b273056b4e5fe57d590de/av-18.1.0-cp311-abi3-manylinux_2_31_armv7l.whl", hash = "sha256:3c8b1f8b46f99d52e2d8b0ed5d0cdadf172d24794d46e2077b16e44ed08e26ff", size = 39379798, upload-time = "2026-08-12T22:27:24.432Z" },
|
|
353
|
+
{ url = "https://files.pythonhosted.org/packages/56/b1/e00d4feae59160149df6126585e726fdc6300798fd40c5dd324879e81f68/av-18.1.0-cp311-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:ab5ac081bc9eaf54109120d4e56284674fecfbe520d9aa1707c7fa911ec5f4d2", size = 34690321, upload-time = "2026-08-12T22:27:27.769Z" },
|
|
354
|
+
{ url = "https://files.pythonhosted.org/packages/dc/94/836fa987e3084d11a21489f11357fb24843ef3aa8faf74ddddfc603d5062/av-18.1.0-cp311-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:191224788d87af06c31784a395bb73f14b72f33d7f4871ace0157de2abdc6276", size = 36859932, upload-time = "2026-08-12T22:27:31.403Z" },
|
|
355
|
+
{ url = "https://files.pythonhosted.org/packages/33/b4/76ba21e46704f632004276b85289a1582e95f5eff760436d6149875a1881/av-18.1.0-cp311-abi3-win_amd64.whl", hash = "sha256:ea1480b7a8d5405cb5f382b344731bf125fd2c1c6fae3964f6c48595628387ff", size = 27595679, upload-time = "2026-08-12T22:27:35.177Z" },
|
|
356
|
+
{ url = "https://files.pythonhosted.org/packages/4f/ad/a3135884c5753b09773176b97201ae602f67ad14206c395ff838d66bf9b0/av-18.1.0-cp311-abi3-win_arm64.whl", hash = "sha256:5509ec12aaa19fd6601de13cfa6f4cdad450da07982118510592875d970454d6", size = 20257584, upload-time = "2026-08-12T22:27:38.472Z" },
|
|
357
|
+
{ url = "https://files.pythonhosted.org/packages/4f/5b/4a756265d7fb164336c8d377bca21c39cfa2c178be23cedee840a69b59c5/av-18.1.0-cp314-cp314t-macosx_11_0_x86_64.whl", hash = "sha256:b36b0bae9e4c62f9487c99481ec15e4e3870fcc868522cd6d18fc2d6bfa04f01", size = 22795654, upload-time = "2026-08-12T22:27:42.016Z" },
|
|
358
|
+
{ url = "https://files.pythonhosted.org/packages/d5/cc/1bc841462114a1adf4f7d87456ab78a6972e23271e71865fcd2bbd0e7360/av-18.1.0-cp314-cp314t-macosx_14_0_arm64.whl", hash = "sha256:025f84494cb23278498f03b0d8117d3e47a1cbc9c44b97eb31875cf02251e46b", size = 18435735, upload-time = "2026-08-12T22:27:45.787Z" },
|
|
359
|
+
{ url = "https://files.pythonhosted.org/packages/b8/20/005500ed17a2e62a5e4bb94aa3786942560ec2f55ec1895ebf174c87abef/av-18.1.0-cp314-cp314t-manylinux_2_28_aarch64.whl", hash = "sha256:08a9ae288299cfcbf739dba4ad0c53b9b71f45184303dd45947920d022fed695", size = 37090807, upload-time = "2026-08-12T22:27:50.14Z" },
|
|
360
|
+
{ url = "https://files.pythonhosted.org/packages/5c/f7/11e7f6d848d3690c31ca4f8578167393e619177f1493ccc93b9400852d4e/av-18.1.0-cp314-cp314t-manylinux_2_28_x86_64.whl", hash = "sha256:cf8a17466bef07765dbdecc9e66ed9b25d20b4e14f654fbf35345a58ac45fa0c", size = 38976836, upload-time = "2026-08-12T22:27:54.565Z" },
|
|
361
|
+
{ url = "https://files.pythonhosted.org/packages/c3/63/b271473b24e806062d31191e40c6d65545e9cf59f80f044eba56dcbba0f4/av-18.1.0-cp314-cp314t-manylinux_2_31_armv7l.whl", hash = "sha256:d49a5c542dfdc00f43c6cdb6cc41dac1781ee206fe180b56aa7433dfa816dfae", size = 40896630, upload-time = "2026-08-12T22:27:59.118Z" },
|
|
362
|
+
{ url = "https://files.pythonhosted.org/packages/6b/9f/2ab7fa292a947ad3466ed8e655eefa3b82f535d7ea598c297b4471a937c4/av-18.1.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:5548b79e2bf1f59b3e9aedc918a72d9dc45b9adaac10ff9470d5dbdda0002e47", size = 37895673, upload-time = "2026-08-12T22:28:03.98Z" },
|
|
363
|
+
{ url = "https://files.pythonhosted.org/packages/e9/d8/04507c57249b399c3e4f23f01d221532f357338b5316fd2858fbd343127d/av-18.1.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:e7ea063f6690193ea335a1d592d6e0274350d45e2ed6af83ee107cb90cbfd84f", size = 39992431, upload-time = "2026-08-12T22:28:08.736Z" },
|
|
364
|
+
{ url = "https://files.pythonhosted.org/packages/d6/d6/bc4b95bea9c2353a7e4d62a3fcfad9adcf0f881741c6ce01ee179d539ce3/av-18.1.0-cp314-cp314t-win_amd64.whl", hash = "sha256:e4d48b9f12cad009cc72fe4f4099107de5e819c95f82767f4fd01a01481c0661", size = 28497798, upload-time = "2026-08-12T22:28:13.003Z" },
|
|
365
|
+
{ url = "https://files.pythonhosted.org/packages/c1/d2/0c277a46f12647c1833f40496e132fb6001e0d19e6144b5ea30896461feb/av-18.1.0-cp314-cp314t-win_arm64.whl", hash = "sha256:5cd9085028902c9880622bd37a12fd4b33060f06a52311f6f4867ca9f29a2c3b", size = 21421979, upload-time = "2026-08-12T22:28:16.48Z" },
|
|
362
366
|
]
|
|
363
367
|
|
|
364
368
|
[[package]]
|
|
@@ -857,7 +861,7 @@ wheels = [
|
|
|
857
861
|
|
|
858
862
|
[[package]]
|
|
859
863
|
name = "classifyre-cli"
|
|
860
|
-
version = "0.6.
|
|
864
|
+
version = "0.6.11"
|
|
861
865
|
source = { editable = "." }
|
|
862
866
|
dependencies = [
|
|
863
867
|
{ name = "beautifulsoup4" },
|
|
@@ -1398,7 +1402,7 @@ youtube = [
|
|
|
1398
1402
|
|
|
1399
1403
|
[[package]]
|
|
1400
1404
|
name = "classifyre-schemas"
|
|
1401
|
-
version = "0.6.
|
|
1405
|
+
version = "0.6.11"
|
|
1402
1406
|
source = { editable = "../../packages/schemas" }
|
|
1403
1407
|
dependencies = [
|
|
1404
1408
|
{ name = "fastjsonschema" },
|
|
@@ -4326,6 +4330,7 @@ source = { registry = "https://pypi.org/simple" }
|
|
|
4326
4330
|
dependencies = [
|
|
4327
4331
|
{ name = "pillow" },
|
|
4328
4332
|
]
|
|
4333
|
+
sdist = { url = "https://files.pythonhosted.org/packages/44/c1/82145984920ca055675af2c2795bd30da6f7461215c41f3c1eacb3d66353/pillow_heif-1.8.1.tar.gz", hash = "sha256:521ebffb8a181d56c3904e5a61f20903edee0d9d3275967b8fb345f866215c06", size = 17395786, upload-time = "2026-10-11T13:18:19.2Z" }
|
|
4329
4334
|
wheels = [
|
|
4330
4335
|
{ url = "https://files.pythonhosted.org/packages/f9/21/276668287678aad18c8fff15146b4965067c477358dbd6250e4ee08d7ff6/pillow_heif-1.8.1-cp312-cp312-macosx_10_15_x86_64.whl", hash = "sha256:a8e7edf5d30cf10a3d062c28d4ff19baf7e4e0a3c20fb5e4e63d690d67b0bbd4", size = 4815635, upload-time = "2026-10-11T11:16:39.416Z" },
|
|
4331
4336
|
{ url = "https://files.pythonhosted.org/packages/16/a2/53ad321b6d202cd159be3914bccb0eabaa48fa7b4fc630feb31323eccb9d/pillow_heif-1.8.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:1c60f323daf9df728858e469e0d95010727a32ee3e6c8e9658809a070fb93f69", size = 4311517, upload-time = "2026-10-11T11:16:41.16Z" },
|
|
@@ -5538,13 +5543,12 @@ wheels = [
|
|
|
5538
5543
|
|
|
5539
5544
|
[[package]]
|
|
5540
5545
|
name = "rapidocr"
|
|
5541
|
-
version = "3.
|
|
5546
|
+
version = "3.9.2"
|
|
5542
5547
|
source = { registry = "https://pypi.org/simple" }
|
|
5543
5548
|
dependencies = [
|
|
5544
5549
|
{ name = "colorlog" },
|
|
5545
5550
|
{ name = "numpy" },
|
|
5546
5551
|
{ name = "omegaconf" },
|
|
5547
|
-
{ name = "opencv-python-headless" },
|
|
5548
5552
|
{ name = "pillow" },
|
|
5549
5553
|
{ name = "pyclipper" },
|
|
5550
5554
|
{ name = "pyyaml" },
|
|
@@ -5554,7 +5558,7 @@ dependencies = [
|
|
|
5554
5558
|
{ name = "tqdm" },
|
|
5555
5559
|
]
|
|
5556
5560
|
wheels = [
|
|
5557
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
5561
|
+
{ url = "https://files.pythonhosted.org/packages/55/ed/0ee9b9281986974be9d2406ae0134c8d7c91d2fc613f16ffda9701eeda6f/rapidocr-3.9.2-py3-none-any.whl", hash = "sha256:04d6b8d151f823d930bd91910555f57bea897c0c44fa6794267b94cf9c1ef9a0", size = 27275208, upload-time = "2026-07-21T10:59:01.599Z" },
|
|
5558
5562
|
]
|
|
5559
5563
|
|
|
5560
5564
|
[[package]]
|
|
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
|
{classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/detectors/custom/runners/_custom_detector.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/detectors/custom/runners/_object_detection.py
RENAMED
|
File without changes
|
{classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/detectors/custom/runners/_provider_call.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/detectors/custom/runners/_text_classification.py
RENAMED
|
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
|
{classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/detectors/threat/code_security_detector.py
RENAMED
|
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
|
{classifyre_cli-0.6.10 → classifyre_cli-0.6.11}/src/models/generated_single_asset_scan_results.py
RENAMED
|
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
|