classifyre-cli 0.4.77__tar.gz → 0.4.78__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.4.78/.turbo/turbo-build.log +3 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/PKG-INFO +1 -1
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/package.json +1 -1
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/pyproject.toml +8 -1
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/src/models/generated_input.py +148 -0
- classifyre_cli-0.4.78/src/sources/hugging_face/__init__.py +3 -0
- classifyre_cli-0.4.78/src/sources/hugging_face/source.py +548 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/src/utils/dependency_groups.py +1 -0
- classifyre_cli-0.4.78/tests/test_hugging_face_source.py +959 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/tests/test_source_strategy_conformance.py +3 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/uv.lock +24 -20
- classifyre_cli-0.4.77/.turbo/turbo-build.log +0 -3
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/.gitignore +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/.python-version +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/README.md +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/main.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/scripts/generate_models.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/src/__init__.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/src/config.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/src/detectors/__init__.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/src/detectors/base.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/src/detectors/broken_links/__init__.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/src/detectors/broken_links/detector.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/src/detectors/config.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/src/detectors/content/__init__.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/src/detectors/custom/__init__.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/src/detectors/custom/detector.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/src/detectors/custom/extractor.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/src/detectors/custom/runners/__init__.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/src/detectors/custom/runners/_base.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/src/detectors/custom/runners/_factory.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/src/detectors/custom/runners/_gliner2.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/src/detectors/custom/runners/_image_classification.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/src/detectors/custom/runners/_llm.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/src/detectors/custom/runners/_object_detection.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/src/detectors/custom/runners/_regex.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/src/detectors/custom/runners/_text_classification.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/src/detectors/custom/trainer.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/src/detectors/dependencies.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/src/detectors/engine_version.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/src/detectors/pii/__init__.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/src/detectors/pii/detector.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/src/detectors/secrets/__init__.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/src/detectors/secrets/detector.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/src/detectors/threat/__init__.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/src/detectors/threat/code_security_detector.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/src/detectors/threat/yara_detector.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/src/file_evaluation/__init__.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/src/file_evaluation/runner.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/src/main.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/src/models/generated_detectors.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/src/models/generated_single_asset_scan_results.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/src/outputs/__init__.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/src/outputs/base.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/src/outputs/console.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/src/outputs/factory.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/src/outputs/file.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/src/outputs/rest.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/src/pipeline/__init__.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/src/pipeline/content_provider.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/src/pipeline/detector_pipeline.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/src/pipeline/parsed_content_provider.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/src/pipeline/scan_cache.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/src/pipeline/text_artifact.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/src/pipeline/worker_pool.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/src/sources/__init__.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/src/sources/asset_metadata.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/src/sources/atlassian_common.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/src/sources/azure_blob_storage/__init__.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/src/sources/azure_blob_storage/source.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/src/sources/base.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/src/sources/confluence/__init__.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/src/sources/confluence/source.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/src/sources/databricks/__init__.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/src/sources/databricks/source.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/src/sources/delta_lake/__init__.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/src/sources/delta_lake/source.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/src/sources/dependencies.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/src/sources/dropbox/__init__.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/src/sources/dropbox/auth.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/src/sources/dropbox/source.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/src/sources/elasticsearch/__init__.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/src/sources/elasticsearch/source.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/src/sources/email/__init__.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/src/sources/email/source.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/src/sources/google_cloud_storage/__init__.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/src/sources/google_cloud_storage/source.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/src/sources/google_workspace/__init__.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/src/sources/google_workspace/source.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/src/sources/hive/__init__.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/src/sources/hive/source.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/src/sources/iceberg/__init__.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/src/sources/iceberg/source.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/src/sources/jira/__init__.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/src/sources/jira/source.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/src/sources/kafka/__init__.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/src/sources/kafka/rest.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/src/sources/kafka/source.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/src/sources/lakehouse_base.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/src/sources/local_folder/__init__.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/src/sources/local_folder/source.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/src/sources/meilisearch/__init__.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/src/sources/meilisearch/source.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/src/sources/microsoft_365/__init__.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/src/sources/microsoft_365/source.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/src/sources/mongodb/__init__.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/src/sources/mongodb/source.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/src/sources/mssql/__init__.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/src/sources/mssql/source.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/src/sources/mysql/__init__.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/src/sources/mysql/source.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/src/sources/neo4j/__init__.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/src/sources/neo4j/source.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/src/sources/notion/__init__.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/src/sources/notion/client.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/src/sources/notion/source.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/src/sources/object_storage/base.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/src/sources/opensearch/__init__.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/src/sources/opensearch/source.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/src/sources/oracle/__init__.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/src/sources/oracle/source.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/src/sources/postgresql/__init__.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/src/sources/postgresql/source.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/src/sources/powerbi/__init__.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/src/sources/powerbi/source.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/src/sources/recipe_normalizer.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/src/sources/s3_client.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/src/sources/s3_compatible_storage/README.md +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/src/sources/s3_compatible_storage/__init__.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/src/sources/s3_compatible_storage/source.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/src/sources/sandbox/__init__.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/src/sources/sandbox/source.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/src/sources/search_engine_base.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/src/sources/servicedesk/__init__.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/src/sources/servicedesk/source.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/src/sources/slack/__init__.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/src/sources/slack/source.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/src/sources/snowflake/__init__.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/src/sources/snowflake/source.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/src/sources/sqlite/__init__.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/src/sources/sqlite/source.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/src/sources/tableau/__init__.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/src/sources/tableau/source.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/src/sources/tabular_base.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/src/sources/tabular_utils.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/src/sources/wordpress/__init__.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/src/sources/wordpress/source.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/src/sources/youtube/__init__.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/src/sources/youtube/source.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/src/telemetry.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/src/utils/__init__.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/src/utils/archive_extraction.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/src/utils/content_extraction.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/src/utils/embedded_images.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/src/utils/file_metadata.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/src/utils/file_parser.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/src/utils/file_to_images.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/src/utils/hashing.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/src/utils/legacy_office.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/src/utils/resources.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/src/utils/transcription.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/src/utils/uv_sync.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/src/utils/validation.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/src/utils/video_processing.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/tests/__init__.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/tests/_lakehouse_fakes.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/tests/conftest.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/tests/detectors/__init__.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/tests/detectors/broken_links/test_broken_links_detector.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/tests/detectors/conftest.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/tests/detectors/content/__init__.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/tests/detectors/custom/__init__.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/tests/detectors/custom/conftest.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/tests/detectors/custom/test_gliner2_classification.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/tests/detectors/custom/test_invoice_extraction.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/tests/detectors/custom/test_llm_runner.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/tests/detectors/custom/test_pipeline_integration.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/tests/detectors/custom/test_regex_runner.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/tests/detectors/custom/test_runner_hardening.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/tests/detectors/custom/test_transformer_runners.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/tests/detectors/pii/__init__.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/tests/detectors/pii/conftest.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/tests/detectors/pii/sample_invoice.pdf +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/tests/detectors/pii/test_pii_chunking.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/tests/detectors/pii/test_pii_detector.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/tests/detectors/pii/test_pii_detector_extended.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/tests/detectors/pii/test_pii_regional_entities.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/tests/detectors/pii/test_pii_severity.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/tests/detectors/secrets/__init__.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/tests/detectors/secrets/test_secrets_detector.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/tests/detectors/secrets/test_secrets_detector_extended.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/tests/detectors/test_base_detector.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/tests/detectors/test_custom_detector_examples_runtime.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/tests/detectors/test_detector_catalog_commercial.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/tests/detectors/test_detector_pipeline_types.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/tests/detectors/test_detector_schema_examples.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/tests/detectors/test_detector_types.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/tests/detectors/test_phase2_detectors.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/tests/detectors/test_registry.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/tests/detectors/threat/__init__.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/tests/detectors/threat/test_code_security_detector.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/tests/detectors/threat/test_yara_detector.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/tests/integration/test_wordpress_broken_links_detector.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/tests/integration/test_wordpress_links_assets.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/tests/pipeline/test_detector_outcomes.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/tests/pipeline/test_detector_pipeline.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/tests/pipeline/test_worker_pool.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/tests/test_assets_metadata_catalog.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/tests/test_azure_blob_storage_source.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/tests/test_base_source_attachment.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/tests/test_base_source_sampling.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/tests/test_config.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/tests/test_confluence_source.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/tests/test_custom_extractor.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/tests/test_databricks_source.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/tests/test_delta_lake_source.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/tests/test_dependency_groups.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/tests/test_dropbox_auth_command.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/tests/test_dropbox_source.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/tests/test_elasticsearch_source.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/tests/test_email_source.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/tests/test_file_evaluation_runner.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/tests/test_google_cloud_storage_source.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/tests/test_google_workspace_source.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/tests/test_hashing.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/tests/test_hive_source.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/tests/test_iceberg_source.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/tests/test_jira_source.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/tests/test_kafka_source.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/tests/test_local_folder_source.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/tests/test_main.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/tests/test_meilisearch_source.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/tests/test_microsoft_365_source.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/tests/test_mongodb_source.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/tests/test_mssql_source.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/tests/test_mysql_source.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/tests/test_neo4j_source.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/tests/test_notion_source.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/tests/test_opensearch_source.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/tests/test_oracle_source.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/tests/test_outputs.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/tests/test_postgresql_source.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/tests/test_powerbi_source.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/tests/test_recipe_normalizer.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/tests/test_s3_compatible_storage_source.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/tests/test_sampling_automatic.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/tests/test_sandbox_source.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/tests/test_scan_cache.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/tests/test_servicedesk_source.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/tests/test_slack_source.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/tests/test_snowflake_source.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/tests/test_source_dependency_groups.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/tests/test_sqlite_source.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/tests/test_tableau_source.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/tests/test_tabular_automatic_sampling.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/tests/test_tabular_utils.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/tests/test_uv_sync.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/tests/test_wordpress_source.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/tests/test_youtube_source.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/tests/test_youtube_source_integration.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/tests/utils/test_archive_extraction.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/tests/utils/test_content_extraction.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/tests/utils/test_embedded_images.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/tests/utils/test_file_metadata.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/tests/utils/test_file_parser.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/tests/utils/test_file_to_images.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/tests/utils/test_legacy_office.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/tests/utils/test_transcription.py +0 -0
- {classifyre_cli-0.4.77 → classifyre_cli-0.4.78}/tests/utils/test_video_processing.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "classifyre-cli"
|
|
3
|
-
version = "0.4.
|
|
3
|
+
version = "0.4.78"
|
|
4
4
|
description = "Classifyre CLI — scan and classify unstructured data sources"
|
|
5
5
|
readme = "README.md"
|
|
6
6
|
requires-python = ">=3.12"
|
|
@@ -230,6 +230,12 @@ google-cloud-storage = [
|
|
|
230
230
|
dropbox = [
|
|
231
231
|
"dropbox>=12.2.1,<13.0.0",
|
|
232
232
|
]
|
|
233
|
+
hugging-face = [
|
|
234
|
+
# Hub client for listing repository trees and resolving file URLs. File bytes
|
|
235
|
+
# are streamed with `requests` (a base dependency) rather than
|
|
236
|
+
# `hf_hub_download`, so nothing is ever written to the HF cache directory.
|
|
237
|
+
"huggingface-hub>=1.25.1,<2.0.0",
|
|
238
|
+
]
|
|
233
239
|
slack = [
|
|
234
240
|
"slack-sdk>=3.43.0,<4.0.0",
|
|
235
241
|
]
|
|
@@ -384,6 +390,7 @@ module = [
|
|
|
384
390
|
"boto3.*",
|
|
385
391
|
"botocore.*",
|
|
386
392
|
"dropbox.*",
|
|
393
|
+
"huggingface_hub.*",
|
|
387
394
|
]
|
|
388
395
|
ignore_missing_imports = true
|
|
389
396
|
|
|
@@ -55,6 +55,7 @@ class AssetType(StrEnum):
|
|
|
55
55
|
MICROSOFT_365 = 'MICROSOFT_365'
|
|
56
56
|
GOOGLE_WORKSPACE = 'GOOGLE_WORKSPACE'
|
|
57
57
|
DROPBOX = 'DROPBOX'
|
|
58
|
+
HUGGING_FACE = 'HUGGING_FACE'
|
|
58
59
|
SANDBOX = 'SANDBOX'
|
|
59
60
|
|
|
60
61
|
|
|
@@ -384,6 +385,7 @@ class Type(StrEnum):
|
|
|
384
385
|
MICROSOFT_365 = 'MICROSOFT_365'
|
|
385
386
|
GOOGLE_WORKSPACE = 'GOOGLE_WORKSPACE'
|
|
386
387
|
DROPBOX = 'DROPBOX'
|
|
388
|
+
HUGGING_FACE = 'HUGGING_FACE'
|
|
387
389
|
SANDBOX = 'SANDBOX'
|
|
388
390
|
|
|
389
391
|
|
|
@@ -3080,6 +3082,7 @@ class Type21(StrEnum):
|
|
|
3080
3082
|
MICROSOFT_365 = 'MICROSOFT_365'
|
|
3081
3083
|
GOOGLE_WORKSPACE = 'GOOGLE_WORKSPACE'
|
|
3082
3084
|
DROPBOX = 'DROPBOX'
|
|
3085
|
+
HUGGING_FACE = 'HUGGING_FACE'
|
|
3083
3086
|
SANDBOX = 'SANDBOX'
|
|
3084
3087
|
|
|
3085
3088
|
|
|
@@ -4459,6 +4462,149 @@ class DropboxInput(CoreInput):
|
|
|
4459
4462
|
)
|
|
4460
4463
|
|
|
4461
4464
|
|
|
4465
|
+
class HuggingFaceRepoType(StrEnum):
|
|
4466
|
+
"""
|
|
4467
|
+
Repository kind on the Hub. Datasets hold the data files (parquet, csv, images, audio); models hold weights and configuration; spaces hold app source code.
|
|
4468
|
+
"""
|
|
4469
|
+
|
|
4470
|
+
dataset = 'dataset'
|
|
4471
|
+
model = 'model'
|
|
4472
|
+
space = 'space'
|
|
4473
|
+
|
|
4474
|
+
|
|
4475
|
+
class HuggingFaceRequired(BaseModel):
|
|
4476
|
+
model_config = ConfigDict(
|
|
4477
|
+
extra='forbid',
|
|
4478
|
+
)
|
|
4479
|
+
repo_id: str = Field(
|
|
4480
|
+
...,
|
|
4481
|
+
description='Repository to scan, as namespace/name (for example openai/gsm8k or my-org/internal-corpus)',
|
|
4482
|
+
)
|
|
4483
|
+
repo_type: HuggingFaceRepoType
|
|
4484
|
+
|
|
4485
|
+
|
|
4486
|
+
class HuggingFaceMasked(BaseModel):
|
|
4487
|
+
model_config = ConfigDict(
|
|
4488
|
+
extra='forbid',
|
|
4489
|
+
)
|
|
4490
|
+
token: str = Field(
|
|
4491
|
+
...,
|
|
4492
|
+
description='Hugging Face user access token (starts with hf_). Create one under Settings → Access Tokens with at least read permission on the repository. The token is always passed explicitly — no environment variable or locally cached login is ever used.',
|
|
4493
|
+
)
|
|
4494
|
+
|
|
4495
|
+
|
|
4496
|
+
class HuggingFaceOptionalScope(BaseModel):
|
|
4497
|
+
"""
|
|
4498
|
+
Which files inside the repository are listed and read. The repository is never cloned or fully downloaded: the file tree is listed first, then each selected file is streamed one at a time.
|
|
4499
|
+
"""
|
|
4500
|
+
|
|
4501
|
+
model_config = ConfigDict(
|
|
4502
|
+
extra='forbid',
|
|
4503
|
+
)
|
|
4504
|
+
revision: str | None = Field(
|
|
4505
|
+
None,
|
|
4506
|
+
description="Branch, tag or commit SHA to read (for example main, refs/convert/parquet, or v1.0). Defaults to the repository's default branch.",
|
|
4507
|
+
)
|
|
4508
|
+
paths: list[str] | None = Field(
|
|
4509
|
+
None,
|
|
4510
|
+
description='Folders inside the repository to list, for example data/ or data/train. Each folder is walked recursively. Leave empty to list the whole repository.',
|
|
4511
|
+
)
|
|
4512
|
+
allow_patterns: list[str] | None = Field(
|
|
4513
|
+
None,
|
|
4514
|
+
description='Glob allowlist applied to file paths, for example data/*.parquet or **/*.csv. A file is kept when it matches at least one pattern. Empty means every file is kept.',
|
|
4515
|
+
)
|
|
4516
|
+
ignore_patterns: list[str] | None = Field(
|
|
4517
|
+
None,
|
|
4518
|
+
description='Glob denylist applied to file paths, for example *.safetensors or **/checkpoints/*. Files matching any pattern are skipped.',
|
|
4519
|
+
)
|
|
4520
|
+
include_extensions: list[str] | None = Field(
|
|
4521
|
+
None,
|
|
4522
|
+
description='Optional extension allowlist (for example, .parquet, .csv, .png)',
|
|
4523
|
+
)
|
|
4524
|
+
exclude_extensions: list[str] | None = Field(
|
|
4525
|
+
None,
|
|
4526
|
+
description='Optional extension denylist (for example, .safetensors, .bin, .gguf)',
|
|
4527
|
+
)
|
|
4528
|
+
include_last_commit: bool | None = Field(
|
|
4529
|
+
False,
|
|
4530
|
+
description="Fetch each file's last-commit date while listing. Needed for accurate LATEST and AUTOMATIC ordering, but makes listing noticeably slower on large repositories. When off, every file inherits the repository's last-modified date.",
|
|
4531
|
+
)
|
|
4532
|
+
include_empty_objects: bool | None = Field(
|
|
4533
|
+
False, description='Include zero-byte files in extraction results'
|
|
4534
|
+
)
|
|
4535
|
+
include_object_metadata: bool | None = Field(
|
|
4536
|
+
True,
|
|
4537
|
+
description='Attach Hub metadata (content digest, size, timestamps) to asset checksums',
|
|
4538
|
+
)
|
|
4539
|
+
include_content_preview: bool | None = Field(
|
|
4540
|
+
True,
|
|
4541
|
+
description='Stream file bytes to infer MIME and extract detector-ready text previews. Turn off for a metadata-only inventory of the repository.',
|
|
4542
|
+
)
|
|
4543
|
+
|
|
4544
|
+
|
|
4545
|
+
class HuggingFaceOptionalConnection(BaseModel):
|
|
4546
|
+
"""
|
|
4547
|
+
Network and resource controls for Hub requests. Files are streamed one at a time and capped, so a large repository never has to fit in memory or on disk.
|
|
4548
|
+
"""
|
|
4549
|
+
|
|
4550
|
+
model_config = ConfigDict(
|
|
4551
|
+
extra='forbid',
|
|
4552
|
+
)
|
|
4553
|
+
endpoint: str | None = Field(
|
|
4554
|
+
None,
|
|
4555
|
+
description='Hub endpoint to use. Defaults to https://huggingface.co; set this for a self-hosted Enterprise Hub.',
|
|
4556
|
+
)
|
|
4557
|
+
max_object_bytes: int | None = Field(
|
|
4558
|
+
26214400,
|
|
4559
|
+
description='Maximum bytes streamed per file for MIME detection and text extraction (default 25 MB). Larger files are read up to this cap and then the connection is dropped.',
|
|
4560
|
+
ge=1024,
|
|
4561
|
+
le=104857600,
|
|
4562
|
+
)
|
|
4563
|
+
request_timeout_seconds: float | None = Field(
|
|
4564
|
+
60,
|
|
4565
|
+
description='Network timeout in seconds for list and download requests',
|
|
4566
|
+
ge=1.0,
|
|
4567
|
+
le=300.0,
|
|
4568
|
+
)
|
|
4569
|
+
max_retries: int | None = Field(
|
|
4570
|
+
3,
|
|
4571
|
+
description='Maximum retries on transient Hub errors (5xx and rate limits)',
|
|
4572
|
+
ge=0,
|
|
4573
|
+
le=10,
|
|
4574
|
+
)
|
|
4575
|
+
|
|
4576
|
+
|
|
4577
|
+
class HuggingFaceOptional(BaseModel):
|
|
4578
|
+
model_config = ConfigDict(
|
|
4579
|
+
extra='forbid',
|
|
4580
|
+
)
|
|
4581
|
+
scope: HuggingFaceOptionalScope | None = None
|
|
4582
|
+
connection: HuggingFaceOptionalConnection | None = None
|
|
4583
|
+
|
|
4584
|
+
|
|
4585
|
+
class HuggingFaceInput(CoreInput):
|
|
4586
|
+
type: Literal['HUGGING_FACE'] | None = Field(
|
|
4587
|
+
None, description='Type of the asset or source'
|
|
4588
|
+
)
|
|
4589
|
+
required: HuggingFaceRequired
|
|
4590
|
+
masked: HuggingFaceMasked
|
|
4591
|
+
optional: HuggingFaceOptional | None = None
|
|
4592
|
+
detectors: list[Detector] | None = Field(
|
|
4593
|
+
None, description='Detectors to run on ingested content'
|
|
4594
|
+
)
|
|
4595
|
+
custom_detectors: list[CustomDetectorSelection] | None = Field(
|
|
4596
|
+
None,
|
|
4597
|
+
description='Reusable custom detector IDs selected from the custom detector catalog.',
|
|
4598
|
+
)
|
|
4599
|
+
sampling: SamplingConfig
|
|
4600
|
+
scan_cache: ScanCacheConfig | None = None
|
|
4601
|
+
resources: ResourceOverrides | None = None
|
|
4602
|
+
cleanup_removed_detector_findings: bool | None = Field(
|
|
4603
|
+
True,
|
|
4604
|
+
description='When enabled (default), findings produced by detectors that are no longer configured on this source (removed or disabled) are automatically resolved at the start of the next run, keeping the findings list in step with the current detector set.',
|
|
4605
|
+
)
|
|
4606
|
+
|
|
4607
|
+
|
|
4462
4608
|
class SlackOptionalAttachments(BaseModel):
|
|
4463
4609
|
"""
|
|
4464
4610
|
Files shared in messages. Each file becomes its own asset, and its text is extracted with the same parser used for local files (PDF, Office, images via OCR, audio and video transcription).
|
|
@@ -4639,6 +4785,7 @@ class SourceInput(
|
|
|
4639
4785
|
| Microsoft365Input
|
|
4640
4786
|
| GoogleWorkspaceInput
|
|
4641
4787
|
| DropboxInput
|
|
4788
|
+
| HuggingFaceInput
|
|
4642
4789
|
]
|
|
4643
4790
|
):
|
|
4644
4791
|
root: (
|
|
@@ -4676,6 +4823,7 @@ class SourceInput(
|
|
|
4676
4823
|
| Microsoft365Input
|
|
4677
4824
|
| GoogleWorkspaceInput
|
|
4678
4825
|
| DropboxInput
|
|
4826
|
+
| HuggingFaceInput
|
|
4679
4827
|
) = Field(
|
|
4680
4828
|
...,
|
|
4681
4829
|
description='Merged configuration schema with all source types and common definitions',
|