classifyre-cli 0.7.1__tar.gz → 0.7.3__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.7.3/.turbo/turbo-build.log +3 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/PKG-INFO +1 -1
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/package.json +1 -1
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/pyproject.toml +45 -17
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/scripts/generate_runtime_packages.py +8 -2
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/detectors/pii/detector.py +3 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/graph/edges.py +1 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/main.py +3 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/models/generated_input.py +888 -292
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/notebook/contract.py +7 -1
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/notebook/sdk.py +605 -39
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/outputs/rest.py +9 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/pipeline/payload_window.py +6 -0
- classifyre_cli-0.7.3/src/sources/athena/__init__.py +3 -0
- classifyre_cli-0.7.3/src/sources/athena/source.py +251 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/sources/atlassian_common.py +5 -23
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/sources/azure_blob_storage/source.py +28 -2
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/sources/base.py +91 -15
- classifyre_cli-0.7.3/src/sources/bigquery/__init__.py +3 -0
- classifyre_cli-0.7.3/src/sources/bigquery/source.py +326 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/sources/custom/runner.py +61 -3
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/sources/custom/source.py +45 -14
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/sources/databricks/source.py +147 -11
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/sources/dremio/source.py +4 -1
- classifyre_cli-0.7.3/src/sources/duckdb_attached_base.py +205 -0
- classifyre_cli-0.7.3/src/sources/ducklake/__init__.py +3 -0
- classifyre_cli-0.7.3/src/sources/ducklake/source.py +149 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/sources/email/source.py +2 -10
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/sources/google_cloud_storage/source.py +13 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/sources/google_workspace/source.py +6 -10
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/sources/hive/source.py +30 -7
- classifyre_cli-0.7.3/src/sources/iceberg_rest/__init__.py +3 -0
- classifyre_cli-0.7.3/src/sources/iceberg_rest/source.py +234 -0
- classifyre_cli-0.7.3/src/sources/inline_paging.py +64 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/sources/local_folder/source.py +15 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/sources/microsoft_365/source.py +6 -10
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/sources/mongodb/source.py +1 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/sources/object_storage/base.py +254 -17
- classifyre_cli-0.7.3/src/sources/redshift/__init__.py +3 -0
- classifyre_cli-0.7.3/src/sources/redshift/source.py +268 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/sources/s3_compatible_storage/source.py +15 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/sources/snowflake/source.py +32 -14
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/sources/tabular_base.py +20 -1
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/sources/tabular_utils.py +26 -0
- classifyre_cli-0.7.3/src/sources/trino/__init__.py +3 -0
- classifyre_cli-0.7.3/src/sources/trino/source.py +291 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/utils/dependency_groups.py +6 -2
- classifyre_cli-0.7.3/src/utils/duckdb_engine.py +208 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/utils/embedded_files.py +92 -1
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/utils/file_metadata.py +41 -51
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/utils/file_parser.py +370 -35
- classifyre_cli-0.7.3/src/utils/lakehouse_layout.py +119 -0
- classifyre_cli-0.7.3/src/utils/lakehouse_storage.py +192 -0
- classifyre_cli-0.7.3/src/utils/lakehouse_tables.py +468 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/utils/sql_lineage.py +4 -0
- classifyre_cli-0.7.3/src/utils/table_files.py +778 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/utils/urn.py +9 -2
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/detectors/pii/test_pii_detector.py +13 -0
- classifyre_cli-0.7.3/tests/fixtures/lakehouse/delta_orders/_delta_log/00000000000000000000.json +4 -0
- classifyre_cli-0.7.3/tests/fixtures/lakehouse/delta_orders/_delta_log/00000000000000000001.json +3 -0
- classifyre_cli-0.7.3/tests/fixtures/lakehouse/delta_orders/part-00000-8e40f93d-f646-442e-98a8-18f0971612ce-c000.snappy.parquet +0 -0
- classifyre_cli-0.7.3/tests/fixtures/lakehouse/delta_orders/part-00000-afccde2e-efea-42ae-9e3d-e90f414cb319-c000.zstd.parquet +0 -0
- classifyre_cli-0.7.3/tests/fixtures/lakehouse/iceberg_contacts/data/00000-0-06ba5ac9-2e19-493a-8af1-6e2a151ab86a.parquet +0 -0
- classifyre_cli-0.7.3/tests/fixtures/lakehouse/iceberg_contacts/data/00000-0-22687e03-28b5-4535-bf43-793a9480e5e7.parquet +0 -0
- classifyre_cli-0.7.3/tests/fixtures/lakehouse/iceberg_contacts/metadata/00000-3c4127bc-347a-464c-8b31-a41c01b1ff14.metadata.json +1 -0
- classifyre_cli-0.7.3/tests/fixtures/lakehouse/iceberg_contacts/metadata/00001-39f95fac-010a-49ac-840a-79115ff27a4c.metadata.json +1 -0
- classifyre_cli-0.7.3/tests/fixtures/lakehouse/iceberg_contacts/metadata/00002-9984336d-9505-42fb-a3a4-d29b353532b2.metadata.json +1 -0
- classifyre_cli-0.7.3/tests/fixtures/lakehouse/iceberg_contacts/metadata/00003-ce0de51a-c6a8-4113-8ada-ea9f11b966f7.metadata.json +1 -0
- classifyre_cli-0.7.3/tests/fixtures/lakehouse/iceberg_contacts/metadata/06ba5ac9-2e19-493a-8af1-6e2a151ab86a-m0.avro +0 -0
- classifyre_cli-0.7.3/tests/fixtures/lakehouse/iceberg_contacts/metadata/22687e03-28b5-4535-bf43-793a9480e5e7-m0.avro +0 -0
- classifyre_cli-0.7.3/tests/fixtures/lakehouse/iceberg_contacts/metadata/snap-2785867742726212752-0-06ba5ac9-2e19-493a-8af1-6e2a151ab86a.avro +0 -0
- classifyre_cli-0.7.3/tests/fixtures/lakehouse/iceberg_contacts/metadata/snap-6213427257547511542-0-22687e03-28b5-4535-bf43-793a9480e5e7.avro +0 -0
- classifyre_cli-0.7.3/tests/fixtures/lakehouse/make_fixtures.py +56 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/test_automatic_new_first.py +1 -1
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/test_azure_blob_storage_source.py +51 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/test_custom_source.py +90 -5
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/test_databricks_source.py +144 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/test_dremio_source.py +1 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/test_elasticsearch_source.py +1 -1
- classifyre_cli-0.7.3/tests/test_lakehouse_catalog_sources.py +367 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/test_meilisearch_source.py +1 -1
- classifyre_cli-0.7.3/tests/test_notebook_cross_source.py +287 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/test_notebook_query_assets.py +27 -11
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/test_opensearch_source.py +1 -1
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/test_s3_compatible_storage_source.py +53 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/test_sampling_automatic.py +84 -1
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/test_tabular_automatic_sampling.py +52 -5
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/test_tabular_utils.py +11 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/utils/test_file_parser.py +33 -15
- classifyre_cli-0.7.3/tests/utils/test_lakehouse_tables.py +303 -0
- classifyre_cli-0.7.3/tests/utils/test_table_files.py +345 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/uv.lock +1103 -860
- classifyre_cli-0.7.1/.turbo/turbo-build.log +0 -3
- classifyre_cli-0.7.1/src/sources/delta_lake/__init__.py +0 -3
- classifyre_cli-0.7.1/src/sources/delta_lake/source.py +0 -146
- classifyre_cli-0.7.1/src/sources/iceberg/__init__.py +0 -3
- classifyre_cli-0.7.1/src/sources/iceberg/source.py +0 -155
- classifyre_cli-0.7.1/src/sources/lakehouse_base.py +0 -422
- classifyre_cli-0.7.1/tests/_lakehouse_fakes.py +0 -41
- classifyre_cli-0.7.1/tests/test_delta_lake_source.py +0 -165
- classifyre_cli-0.7.1/tests/test_iceberg_source.py +0 -175
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/.gitignore +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/.python-version +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/README.md +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/main.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/scripts/generate_models.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/scripts/generate_sdk_completions.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/__init__.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/augmentation/__init__.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/augmentation/contract.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/augmentation/preview.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/augmentation/runner.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/augmentation/sdk.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/augmentation/session.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/config.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/detectors/__init__.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/detectors/base.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/detectors/broken_links/__init__.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/detectors/broken_links/detector.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/detectors/config.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/detectors/content/__init__.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/detectors/custom/__init__.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/detectors/custom/detector.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/detectors/custom/extractor.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/detectors/custom/runners/__init__.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/detectors/custom/runners/_base.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/detectors/custom/runners/_custom_detector.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/detectors/custom/runners/_decision.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/detectors/custom/runners/_factory.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/detectors/custom/runners/_gliner2.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/detectors/custom/runners/_image_classification.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/detectors/custom/runners/_llm.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/detectors/custom/runners/_object_detection.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/detectors/custom/runners/_provider_call.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/detectors/custom/runners/_regex.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/detectors/custom/runners/_tag.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/detectors/custom/runners/_text_classification.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/detectors/custom/trainer.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/detectors/custom_detector/__init__.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/detectors/custom_detector/contract.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/detectors/custom_detector/files.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/detectors/custom_detector/preview.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/detectors/custom_detector/results.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/detectors/custom_detector/runner.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/detectors/custom_detector/sdk.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/detectors/custom_detector/session.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/detectors/dependencies.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/detectors/engine_version.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/detectors/errors.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/detectors/pii/__init__.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/detectors/secrets/__init__.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/detectors/secrets/detector.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/detectors/threat/__init__.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/detectors/threat/code_security_detector.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/detectors/threat/yara_detector.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/file_evaluation/__init__.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/file_evaluation/asset_fixture.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/file_evaluation/runner.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/graph/__init__.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/models/generated_detectors.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/models/generated_single_asset_scan_results.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/notebook/__init__.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/notebook/child.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/notebook/cli.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/notebook/cohort.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/notebook/execute.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/notebook/files.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/notebook/groups.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/notebook/outputs.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/notebook/packages.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/notebook/protocol.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/notebook/redact.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/notebook/scaffold.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/notebook/serialize.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/outputs/__init__.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/outputs/base.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/outputs/console.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/outputs/factory.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/outputs/file.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/pipeline/__init__.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/pipeline/asset_payload_server.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/pipeline/content_provider.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/pipeline/detector_breaker.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/pipeline/detector_pipeline.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/pipeline/finding_context.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/pipeline/media_artifact.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/pipeline/parsed_content_provider.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/pipeline/scan_cache.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/pipeline/text_artifact.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/pipeline/worker_pool.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/sources/__init__.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/sources/asset_metadata.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/sources/azure_blob_storage/__init__.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/sources/confluence/__init__.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/sources/confluence/source.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/sources/custom/__init__.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/sources/custom/env.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/sources/databricks/__init__.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/sources/dependencies.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/sources/dremio/__init__.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/sources/dremio/client.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/sources/dropbox/__init__.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/sources/dropbox/auth.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/sources/dropbox/source.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/sources/elasticsearch/__init__.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/sources/elasticsearch/source.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/sources/email/__init__.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/sources/git/__init__.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/sources/git/source.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/sources/google_cloud_storage/__init__.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/sources/google_workspace/__init__.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/sources/hive/__init__.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/sources/hugging_face/__init__.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/sources/hugging_face/source.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/sources/jira/__init__.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/sources/jira/source.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/sources/kafka/__init__.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/sources/kafka/rest.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/sources/kafka/source.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/sources/local_folder/__init__.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/sources/meilisearch/__init__.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/sources/meilisearch/source.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/sources/microsoft_365/__init__.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/sources/mongodb/__init__.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/sources/mssql/__init__.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/sources/mssql/source.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/sources/mysql/__init__.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/sources/mysql/source.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/sources/neo4j/__init__.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/sources/neo4j/source.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/sources/notion/__init__.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/sources/notion/client.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/sources/notion/source.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/sources/opensearch/__init__.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/sources/opensearch/source.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/sources/oracle/__init__.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/sources/oracle/source.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/sources/postgresql/__init__.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/sources/postgresql/source.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/sources/powerbi/__init__.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/sources/powerbi/source.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/sources/recipe_normalizer.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/sources/reddit/__init__.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/sources/reddit/source.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/sources/s3_client.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/sources/s3_compatible_storage/README.md +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/sources/s3_compatible_storage/__init__.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/sources/sandbox/__init__.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/sources/sandbox/source.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/sources/search_engine_base.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/sources/servicedesk/__init__.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/sources/servicedesk/source.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/sources/slack/__init__.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/sources/slack/source.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/sources/snowflake/__init__.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/sources/sqlite/__init__.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/sources/sqlite/source.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/sources/tableau/__init__.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/sources/tableau/source.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/sources/wordpress/__init__.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/sources/wordpress/source.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/sources/youtube/__init__.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/sources/youtube/source.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/telemetry.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/utils/__init__.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/utils/archive_extraction.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/utils/content_extraction.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/utils/external_video.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/utils/file_to_images.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/utils/hashing.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/utils/legacy_office.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/utils/payload.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/utils/range_reader.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/utils/redaction.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/utils/resources.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/utils/sampling_cursor.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/utils/sampling_frontier.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/utils/source_files.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/utils/torch_runtime.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/utils/transcription.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/utils/uv_sync.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/utils/validation.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/src/utils/video_processing.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/__init__.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/conftest.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/detectors/__init__.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/detectors/broken_links/test_broken_links_detector.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/detectors/conftest.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/detectors/content/__init__.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/detectors/custom/__init__.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/detectors/custom/conftest.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/detectors/custom/test_decision_runner.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/detectors/custom/test_gliner25_runner.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/detectors/custom/test_gliner2_classification.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/detectors/custom/test_invoice_extraction.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/detectors/custom/test_llm_runner.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/detectors/custom/test_pipeline_integration.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/detectors/custom/test_regex_runner.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/detectors/custom/test_runner_hardening.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/detectors/custom/test_transformer_runners.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/detectors/pii/__init__.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/detectors/pii/conftest.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/detectors/pii/sample_invoice.pdf +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/detectors/pii/test_pii_chunking.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/detectors/pii/test_pii_detector_extended.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/detectors/pii/test_pii_regional_entities.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/detectors/pii/test_pii_severity.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/detectors/secrets/__init__.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/detectors/secrets/test_secrets_detector.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/detectors/secrets/test_secrets_detector_extended.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/detectors/test_base_detector.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/detectors/test_custom_detector_examples_runtime.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/detectors/test_custom_detector_session.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/detectors/test_detector_catalog_commercial.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/detectors/test_detector_pipeline_types.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/detectors/test_detector_schema_examples.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/detectors/test_detector_types.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/detectors/test_phase2_detectors.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/detectors/test_registry.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/detectors/test_tag_runner.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/detectors/threat/__init__.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/detectors/threat/test_code_security_detector.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/detectors/threat/test_yara_detector.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/integration/test_wordpress_broken_links_detector.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/integration/test_wordpress_links_assets.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/pipeline/test_detector_breaker.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/pipeline/test_detector_outcomes.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/pipeline/test_detector_pipeline.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/pipeline/test_worker_pool.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/test_arrow_ipc_payloads.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/test_assets_metadata_catalog.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/test_augmentation_contract.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/test_augmentation_edges.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/test_augmentation_patch.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/test_augmentation_scan_cache.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/test_augmentation_sdk.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/test_augmentation_session.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/test_augmentation_tags_end_to_end.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/test_base_source_attachment.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/test_base_source_sampling.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/test_byte_valued_fields.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/test_config.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/test_confluence_source.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/test_custom_detector_end_to_end.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/test_custom_detector_evaluation.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/test_custom_detector_notebook.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/test_custom_detector_templates.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/test_custom_extractor.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/test_custom_source_relationships.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/test_custom_source_tags_end_to_end.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/test_dependency_groups.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/test_detector_scope.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/test_dropbox_auth_command.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/test_dropbox_source.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/test_email_source.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/test_file_evaluation_runner.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/test_finding_context.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/test_git_source.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/test_google_cloud_storage_source.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/test_google_workspace_source.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/test_graph_edges.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/test_hashing.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/test_hive_source.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/test_hugging_face_source.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/test_jira_source.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/test_kafka_source.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/test_lineage_loss_reporting.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/test_local_folder_source.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/test_main.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/test_media_embedding.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/test_microsoft_365_source.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/test_mongodb_source.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/test_mssql_source.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/test_mysql_source.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/test_neo4j_source.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/test_notebook_asset_entity.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/test_notebook_asset_extract.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/test_notebook_asset_tags.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/test_notebook_cohort.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/test_notebook_execute.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/test_notebook_files.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/test_notebook_groups.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/test_notebook_log_levels.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/test_notebook_packages.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/test_notebook_sdk_exports.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/test_notebook_serialize.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/test_notebook_templates.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/test_notion_source.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/test_object_storage_download_efficiency.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/test_oracle_source.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/test_outputs.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/test_payload_window.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/test_payload_window_parquet.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/test_postgresql_source.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/test_powerbi_source.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/test_range_reading.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/test_recipe_normalizer.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/test_reddit_source.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/test_rest_backpressure.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/test_runtime_packages.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/test_sampling_cursor.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/test_sampling_frontier.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/test_sandbox_source.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/test_scan_cache.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/test_sdk_completions.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/test_secret_redaction.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/test_semantic_declarations.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/test_servicedesk_source.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/test_slack_source.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/test_snowflake_source.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/test_source_dependency_groups.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/test_source_strategy_conformance.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/test_sql_lineage.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/test_sqlite_source.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/test_tableau_source.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/test_tabular_lineage.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/test_torch_runtime.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/test_urn.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/test_uv_sync.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/test_view_dependencies_are_not_foreign_keys.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/test_wordpress_source.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/test_youtube_source.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/test_youtube_source_integration.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/utils/test_archive_extraction.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/utils/test_content_extraction.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/utils/test_embedded_files.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/utils/test_file_metadata.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/utils/test_file_to_images.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/utils/test_legacy_office.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/utils/test_payload.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/utils/test_transcription.py +0 -0
- {classifyre_cli-0.7.1 → classifyre_cli-0.7.3}/tests/utils/test_video_processing.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "classifyre-cli"
|
|
3
|
-
version = "0.7.
|
|
3
|
+
version = "0.7.3"
|
|
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
|
|
@@ -170,10 +170,22 @@ file-processing = [
|
|
|
170
170
|
# when none is installed.
|
|
171
171
|
"py7zr>=1.1.3",
|
|
172
172
|
"rarfile>=4.3",
|
|
173
|
-
# Table layer:
|
|
174
|
-
|
|
173
|
+
# Table layer: CSV/TSV, JSON lines, Avro, database files and the Delta and
|
|
174
|
+
# Iceberg tables bucket sources find (utils/table_files, utils/lakehouse_tables).
|
|
175
175
|
"duckdb>=1.1.0",
|
|
176
176
|
]
|
|
177
|
+
# Lakehouse table formats DuckDB does not read reliably: Lance (pylance applies
|
|
178
|
+
# deletes and takes object_store storage options), Hudi (hudi-rs snapshot reads,
|
|
179
|
+
# copy-on-write and merge-on-read) and Paimon (pypaimon merges primary-key
|
|
180
|
+
# tables; DuckDB's community extension cannot take storage credentials). Delta
|
|
181
|
+
# and Iceberg go through DuckDB in file-processing. Installed on first use, when
|
|
182
|
+
# a bucket scan finds a table in one of these formats.
|
|
183
|
+
lakehouse = [
|
|
184
|
+
{ include-group = "file-processing" },
|
|
185
|
+
"pylance>=0.30.0",
|
|
186
|
+
"hudi>=0.5.0",
|
|
187
|
+
"pypaimon>=2.1.0",
|
|
188
|
+
]
|
|
177
189
|
transcription = [
|
|
178
190
|
# CPU audio/video transcription. faster-whisper decodes media via bundled
|
|
179
191
|
# PyAV (no system ffmpeg required) and runs ctranslate2 for inference.
|
|
@@ -208,7 +220,7 @@ mssql = [
|
|
|
208
220
|
"pymssql>=2.3.4,<3.0.0",
|
|
209
221
|
]
|
|
210
222
|
oracle = [
|
|
211
|
-
"oracledb>=2.5.1,<
|
|
223
|
+
"oracledb>=2.5.1,<27.0.0",
|
|
212
224
|
]
|
|
213
225
|
hive = [
|
|
214
226
|
"pyhive>=0.7.0,<1.0.0",
|
|
@@ -221,7 +233,7 @@ databricks = [
|
|
|
221
233
|
"pyarrow>=24.0.0",
|
|
222
234
|
]
|
|
223
235
|
snowflake = [
|
|
224
|
-
"snowflake-connector-python>=4.5.0,<
|
|
236
|
+
"snowflake-connector-python>=4.5.0,<6.0.0",
|
|
225
237
|
]
|
|
226
238
|
mongodb = [
|
|
227
239
|
"pymongo>=4.17.0,<5.0.0",
|
|
@@ -279,19 +291,29 @@ reddit = [
|
|
|
279
291
|
"yt-dlp>=2025.1.0",
|
|
280
292
|
"youtube-transcript-api>=1.0.0",
|
|
281
293
|
]
|
|
282
|
-
|
|
283
|
-
#
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
294
|
+
trino = [
|
|
295
|
+
# Trino's own DB-API client; also Starburst Galaxy and Enterprise.
|
|
296
|
+
"trino>=0.330.0,<1.0.0",
|
|
297
|
+
]
|
|
298
|
+
athena = [
|
|
299
|
+
# Athena SQL (pyathena) and the Glue Data Catalog (boto3).
|
|
300
|
+
"pyathena>=3.9.0,<4.0.0",
|
|
288
301
|
"boto3>=1.43.10,<2.0.0",
|
|
289
302
|
]
|
|
290
|
-
|
|
291
|
-
#
|
|
292
|
-
#
|
|
303
|
+
bigquery = [
|
|
304
|
+
# BigQuery client: tabledata.list for free row reads, queries only for
|
|
305
|
+
# RANDOM/LATEST samples.
|
|
306
|
+
"google-cloud-bigquery>=3.27.0,<4.0.0",
|
|
307
|
+
]
|
|
308
|
+
redshift = [
|
|
309
|
+
# Amazon's driver: password and IAM sign-in (provisioned and Serverless).
|
|
310
|
+
"redshift-connector>=2.1.0,<3.0.0",
|
|
311
|
+
]
|
|
312
|
+
iceberg-rest = [
|
|
313
|
+
# DuckDB attaches the catalog and reads its tables (file-processing);
|
|
314
|
+
# google-auth mints the access token for the BigLake metastore.
|
|
293
315
|
{ include-group = "file-processing" },
|
|
294
|
-
"
|
|
316
|
+
"google-auth>=2.40,<3.0",
|
|
295
317
|
]
|
|
296
318
|
kafka = [
|
|
297
319
|
# librdkafka-based client (bundled wheels, no JVM).
|
|
@@ -422,8 +444,9 @@ module = [
|
|
|
422
444
|
"re2.*",
|
|
423
445
|
"faster_whisper",
|
|
424
446
|
"faster_whisper.*",
|
|
425
|
-
"
|
|
426
|
-
"
|
|
447
|
+
"lance.*",
|
|
448
|
+
"hudi.*",
|
|
449
|
+
"pypaimon.*",
|
|
427
450
|
"duckdb.*",
|
|
428
451
|
"confluent_kafka.*",
|
|
429
452
|
"boto3.*",
|
|
@@ -483,6 +506,11 @@ package = true
|
|
|
483
506
|
# distribution declared by our video and OCR groups. Installing both would
|
|
484
507
|
# overwrite the same cv2 namespace and add GUI libraries to CPU-only containers.
|
|
485
508
|
exclude-dependencies = ["opencv-python"]
|
|
509
|
+
# pypaimon declares pyarrow<20, a pin from before newer pyarrow existed rather
|
|
510
|
+
# than a known break: its reader works on the pyarrow the rest of the CLI uses
|
|
511
|
+
# (the Databricks group needs >=24), which tests/utils/test_lakehouse_tables.py
|
|
512
|
+
# exercises. Without the override no environment can hold both groups.
|
|
513
|
+
override-dependencies = ["pyarrow>=24.0.0"]
|
|
486
514
|
# Two transitive dependencies whose latest release breaks the package that
|
|
487
515
|
# pulls it in, while that package's own requirement still allows it. Both
|
|
488
516
|
# failures were silent in a scan: images and scans came back with no text, and
|
|
@@ -78,8 +78,12 @@ INCLUDED_GROUPS = (
|
|
|
78
78
|
"youtube",
|
|
79
79
|
"reddit",
|
|
80
80
|
"kafka",
|
|
81
|
-
"
|
|
82
|
-
"iceberg",
|
|
81
|
+
"lakehouse",
|
|
82
|
+
"iceberg-rest",
|
|
83
|
+
"trino",
|
|
84
|
+
"athena",
|
|
85
|
+
"bigquery",
|
|
86
|
+
"redshift",
|
|
83
87
|
# sqlglot: pure Python and small, and the thing a connector author reaches
|
|
84
88
|
# for when they want to derive column lineage from a query they already have.
|
|
85
89
|
"lineage",
|
|
@@ -125,6 +129,8 @@ MODULE_ALIASES: dict[str, tuple[str, ...]] = {
|
|
|
125
129
|
"google-api-python-client": ("googleapiclient",),
|
|
126
130
|
"google-auth": ("google.auth",),
|
|
127
131
|
"google-cloud-storage": ("google.cloud.storage",),
|
|
132
|
+
"google-cloud-bigquery": ("google.cloud.bigquery",),
|
|
133
|
+
"pylance": ("lance",),
|
|
128
134
|
"msgraph-sdk": ("msgraph",),
|
|
129
135
|
"en-core-web-sm": ("en_core_web_sm",),
|
|
130
136
|
"classifyre-schemas": ("schemas",),
|
|
@@ -151,6 +151,9 @@ class PIIDetector(BaseDetector):
|
|
|
151
151
|
"fax": {"PHONE_NUMBER"},
|
|
152
152
|
"name": {"PERSON"},
|
|
153
153
|
"person": {"PERSON"},
|
|
154
|
+
# A "contact" column holds whoever to reach and how: a name, an e-mail
|
|
155
|
+
# address or a phone number, often one of each across rows.
|
|
156
|
+
"contact": {"PERSON", "EMAIL_ADDRESS", "PHONE_NUMBER"},
|
|
154
157
|
"address": {"LOCATION"},
|
|
155
158
|
"location": {"LOCATION"},
|
|
156
159
|
"city": {"LOCATION"},
|
|
@@ -131,6 +131,7 @@ class FieldTransform(StrEnum):
|
|
|
131
131
|
IDENTITY = "IDENTITY" # copied through unchanged
|
|
132
132
|
TRANSFORMED = "TRANSFORMED" # an expression combined the upstreams
|
|
133
133
|
AGGREGATED = "AGGREGATED" # SUM/COUNT/... over a group
|
|
134
|
+
MAPPED = "MAPPED" # the platform says it feeds this column, not how
|
|
134
135
|
INDIRECT = "INDIRECT" # influenced the rows, not the values
|
|
135
136
|
|
|
136
137
|
|
|
@@ -976,6 +976,9 @@ async def run_command_async(args: argparse.Namespace, recipe: dict[str, Any]) ->
|
|
|
976
976
|
):
|
|
977
977
|
sink.set_listing_complete()
|
|
978
978
|
|
|
979
|
+
if hasattr(sink, "set_sweep_complete"):
|
|
980
|
+
sink.set_sweep_complete(getattr(source, "sweep_complete", None))
|
|
981
|
+
|
|
979
982
|
# Relationships go *before* finish(): finish() finalizes the
|
|
980
983
|
# run and marks it COMPLETED, and edges that land after that
|
|
981
984
|
# belong to a run that already claimed to be done.
|