2026-03-27T20:57:10,856 Created temporary directory: /tmp/pip-ephem-wheel-cache-z3vgv9y1 2026-03-27T20:57:10,858 Created temporary directory: /tmp/pip-build-tracker-1s1_3l57 2026-03-27T20:57:10,859 Initialized build tracking at /tmp/pip-build-tracker-1s1_3l57 2026-03-27T20:57:10,859 Created build tracker: /tmp/pip-build-tracker-1s1_3l57 2026-03-27T20:57:10,860 Entered build tracker: /tmp/pip-build-tracker-1s1_3l57 2026-03-27T20:57:10,861 Created temporary directory: /tmp/pip-wheel-rb9lw864 2026-03-27T20:57:10,863 DEPRECATION: --no-binary currently disables reading from the cache of locally built wheels. In the future --no-binary will not influence the wheel cache. pip 23.1 will enforce this behaviour change. A possible replacement is to use the --no-cache-dir option. You can use the flag --use-feature=no-binary-enable-wheel-cache to test the upcoming behaviour. Discussion can be found at https://github.com/pypa/pip/issues/11453 2026-03-27T20:57:10,866 Created temporary directory: /tmp/pip-ephem-wheel-cache-hjgx9qb5 2026-03-27T20:57:10,888 Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple 2026-03-27T20:57:10,891 2 location(s) to search for versions of shortkit-ml: 2026-03-27T20:57:10,891 * https://pypi.org/simple/shortkit-ml/ 2026-03-27T20:57:10,891 * https://www.piwheels.org/simple/shortkit-ml/ 2026-03-27T20:57:10,892 Fetching project page and analyzing links: https://pypi.org/simple/shortkit-ml/ 2026-03-27T20:57:10,893 Getting page https://pypi.org/simple/shortkit-ml/ 2026-03-27T20:57:10,894 Found index url https://pypi.org/simple 2026-03-27T20:57:11,123 Fetched page https://pypi.org/simple/shortkit-ml/ as application/vnd.pypi.simple.v1+json 2026-03-27T20:57:11,124 Skipping link: No binaries permitted for shortkit-ml: https://files.pythonhosted.org/packages/00/3d/554920bf64df1802522b7050140470014ecd9d8418cf4c52c350ae6cf4de/shortkit_ml-0.1.0-py3-none-any.whl (from https://pypi.org/simple/shortkit-ml/) (requires-python:<3.13,>=3.10) 2026-03-27T20:57:11,125 Found link https://files.pythonhosted.org/packages/4c/61/9b5ab15dccfd4695d38a3ec7cd5231dd00c72452aeeb001d29ed790a80b4/shortkit_ml-0.1.0.tar.gz (from https://pypi.org/simple/shortkit-ml/) (requires-python:<3.13,>=3.10), version: 0.1.0 2026-03-27T20:57:11,126 Fetching project page and analyzing links: https://www.piwheels.org/simple/shortkit-ml/ 2026-03-27T20:57:11,127 Getting page https://www.piwheels.org/simple/shortkit-ml/ 2026-03-27T20:57:11,128 Found index url https://www.piwheels.org/simple 2026-03-27T20:57:11,302 Fetched page https://www.piwheels.org/simple/shortkit-ml/ as text/html 2026-03-27T20:57:11,304 Skipping link: not a file: https://www.piwheels.org/simple/shortkit-ml/ 2026-03-27T20:57:11,304 Skipping link: not a file: https://pypi.org/simple/shortkit-ml/ 2026-03-27T20:57:11,323 Given no hashes to check 1 links for project 'shortkit-ml': discarding no candidates 2026-03-27T20:57:11,341 Collecting shortkit-ml==0.1.0 2026-03-27T20:57:11,344 Created temporary directory: /tmp/pip-unpack-imfbamwq 2026-03-27T20:57:11,496 Downloading shortkit_ml-0.1.0.tar.gz (307 kB) 2026-03-27T20:57:12,062 Added shortkit-ml==0.1.0 from https://files.pythonhosted.org/packages/4c/61/9b5ab15dccfd4695d38a3ec7cd5231dd00c72452aeeb001d29ed790a80b4/shortkit_ml-0.1.0.tar.gz to build tracker '/tmp/pip-build-tracker-1s1_3l57' 2026-03-27T20:57:12,070 Created temporary directory: /tmp/pip-build-env-_hhpod_e 2026-03-27T20:57:12,075 Installing build dependencies: started 2026-03-27T20:57:12,076 Running command pip subprocess to install build dependencies 2026-03-27T20:57:13,207 Using pip 23.0.1 from /usr/lib/python3/dist-packages/pip (python 3.11) 2026-03-27T20:57:13,693 DEPRECATION: --no-binary currently disables reading from the cache of locally built wheels. In the future --no-binary will not influence the wheel cache. pip 23.1 will enforce this behaviour change. A possible replacement is to use the --no-cache-dir option. You can use the flag --use-feature=no-binary-enable-wheel-cache to test the upcoming behaviour. Discussion can be found at https://github.com/pypa/pip/issues/11453 2026-03-27T20:57:13,716 Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple 2026-03-27T20:57:15,471 Collecting setuptools>=68.0.0 2026-03-27T20:57:15,590 Using cached https://www.piwheels.org/simple/setuptools/setuptools-82.0.1-py3-none-any.whl (1.0 MB) 2026-03-27T20:57:15,874 Collecting wheel 2026-03-27T20:57:15,891 Using cached https://www.piwheels.org/simple/wheel/wheel-0.46.3-py3-none-any.whl (30 kB) 2026-03-27T20:57:16,077 Collecting packaging>=24.0 2026-03-27T20:57:16,093 Using cached https://www.piwheels.org/simple/packaging/packaging-26.0-py3-none-any.whl (74 kB) 2026-03-27T20:57:19,046 Installing collected packages: setuptools, packaging, wheel 2026-03-27T20:57:22,551 Creating /tmp/pip-build-env-_hhpod_e/overlay/local/bin 2026-03-27T20:57:22,553 changing mode of /tmp/pip-build-env-_hhpod_e/overlay/local/bin/wheel to 755 2026-03-27T20:57:22,573 Successfully installed packaging-26.0 setuptools-82.0.1 wheel-0.46.3 2026-03-27T20:57:22,849 Installing build dependencies: finished with status 'done' 2026-03-27T20:57:22,855 Getting requirements to build wheel: started 2026-03-27T20:57:22,856 Running command Getting requirements to build wheel 2026-03-27T20:57:23,478 /tmp/pip-build-env-_hhpod_e/overlay/local/lib/python3.11/dist-packages/setuptools/config/_apply_pyprojecttoml.py:82: SetuptoolsDeprecationWarning: `project.license` as a TOML table is deprecated 2026-03-27T20:57:23,478 !! 2026-03-27T20:57:23,479 ******************************************************************************** 2026-03-27T20:57:23,480 Please use a simple string containing a SPDX expression for `project.license`. You can also use `project.license-files`. (Both options available on setuptools>=77.0.0). 2026-03-27T20:57:23,481 By 2027-Feb-18, you need to update your project and remove deprecated calls 2026-03-27T20:57:23,482 or your builds will no longer be supported. 2026-03-27T20:57:23,483 See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. 2026-03-27T20:57:23,484 ******************************************************************************** 2026-03-27T20:57:23,485 !! 2026-03-27T20:57:23,485 corresp(dist, value, root_dir) 2026-03-27T20:57:23,560 /tmp/pip-build-env-_hhpod_e/overlay/local/lib/python3.11/dist-packages/setuptools/config/_apply_pyprojecttoml.py:61: SetuptoolsDeprecationWarning: License classifiers are deprecated. 2026-03-27T20:57:23,561 !! 2026-03-27T20:57:23,562 ******************************************************************************** 2026-03-27T20:57:23,562 Please consider removing the following classifiers in favor of a SPDX license expression: 2026-03-27T20:57:23,564 License :: OSI Approved :: MIT License 2026-03-27T20:57:23,565 See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. 2026-03-27T20:57:23,565 ******************************************************************************** 2026-03-27T20:57:23,566 !! 2026-03-27T20:57:23,567 dist._finalize_license_expression() 2026-03-27T20:57:23,568 /tmp/pip-build-env-_hhpod_e/overlay/local/lib/python3.11/dist-packages/setuptools/dist.py:765: SetuptoolsDeprecationWarning: License classifiers are deprecated. 2026-03-27T20:57:23,569 !! 2026-03-27T20:57:23,570 ******************************************************************************** 2026-03-27T20:57:23,570 Please consider removing the following classifiers in favor of a SPDX license expression: 2026-03-27T20:57:23,572 License :: OSI Approved :: MIT License 2026-03-27T20:57:23,573 See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. 2026-03-27T20:57:23,574 ******************************************************************************** 2026-03-27T20:57:23,575 !! 2026-03-27T20:57:23,576 self._finalize_license_expression() 2026-03-27T20:57:23,576 running egg_info 2026-03-27T20:57:23,581 writing shortkit_ml.egg-info/PKG-INFO 2026-03-27T20:57:23,598 writing dependency_links to shortkit_ml.egg-info/dependency_links.txt 2026-03-27T20:57:23,600 writing entry points to shortkit_ml.egg-info/entry_points.txt 2026-03-27T20:57:23,610 writing requirements to shortkit_ml.egg-info/requires.txt 2026-03-27T20:57:23,611 writing top-level names to shortkit_ml.egg-info/top_level.txt 2026-03-27T20:57:23,673 reading manifest file 'shortkit_ml.egg-info/SOURCES.txt' 2026-03-27T20:57:23,685 adding license file 'LICENSE' 2026-03-27T20:57:23,697 writing manifest file 'shortkit_ml.egg-info/SOURCES.txt' 2026-03-27T20:57:23,794 Getting requirements to build wheel: finished with status 'done' 2026-03-27T20:57:23,797 Created temporary directory: /tmp/pip-modern-metadata-5v1ribs_ 2026-03-27T20:57:23,800 Preparing metadata (pyproject.toml): started 2026-03-27T20:57:23,801 Running command Preparing metadata (pyproject.toml) 2026-03-27T20:57:24,391 /tmp/pip-build-env-_hhpod_e/overlay/local/lib/python3.11/dist-packages/setuptools/config/_apply_pyprojecttoml.py:82: SetuptoolsDeprecationWarning: `project.license` as a TOML table is deprecated 2026-03-27T20:57:24,391 !! 2026-03-27T20:57:24,393 ******************************************************************************** 2026-03-27T20:57:24,393 Please use a simple string containing a SPDX expression for `project.license`. You can also use `project.license-files`. (Both options available on setuptools>=77.0.0). 2026-03-27T20:57:24,394 By 2027-Feb-18, you need to update your project and remove deprecated calls 2026-03-27T20:57:24,394 or your builds will no longer be supported. 2026-03-27T20:57:24,396 See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. 2026-03-27T20:57:24,396 ******************************************************************************** 2026-03-27T20:57:24,398 !! 2026-03-27T20:57:24,398 corresp(dist, value, root_dir) 2026-03-27T20:57:24,473 /tmp/pip-build-env-_hhpod_e/overlay/local/lib/python3.11/dist-packages/setuptools/config/_apply_pyprojecttoml.py:61: SetuptoolsDeprecationWarning: License classifiers are deprecated. 2026-03-27T20:57:24,473 !! 2026-03-27T20:57:24,474 ******************************************************************************** 2026-03-27T20:57:24,475 Please consider removing the following classifiers in favor of a SPDX license expression: 2026-03-27T20:57:24,476 License :: OSI Approved :: MIT License 2026-03-27T20:57:24,477 See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. 2026-03-27T20:57:24,478 ******************************************************************************** 2026-03-27T20:57:24,479 !! 2026-03-27T20:57:24,480 dist._finalize_license_expression() 2026-03-27T20:57:24,482 /tmp/pip-build-env-_hhpod_e/overlay/local/lib/python3.11/dist-packages/setuptools/dist.py:765: SetuptoolsDeprecationWarning: License classifiers are deprecated. 2026-03-27T20:57:24,482 !! 2026-03-27T20:57:24,483 ******************************************************************************** 2026-03-27T20:57:24,484 Please consider removing the following classifiers in favor of a SPDX license expression: 2026-03-27T20:57:24,485 License :: OSI Approved :: MIT License 2026-03-27T20:57:24,486 See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. 2026-03-27T20:57:24,487 ******************************************************************************** 2026-03-27T20:57:24,488 !! 2026-03-27T20:57:24,489 self._finalize_license_expression() 2026-03-27T20:57:24,490 running dist_info 2026-03-27T20:57:24,499 creating /tmp/pip-modern-metadata-5v1ribs_/shortkit_ml.egg-info 2026-03-27T20:57:24,500 writing /tmp/pip-modern-metadata-5v1ribs_/shortkit_ml.egg-info/PKG-INFO 2026-03-27T20:57:24,518 writing dependency_links to /tmp/pip-modern-metadata-5v1ribs_/shortkit_ml.egg-info/dependency_links.txt 2026-03-27T20:57:24,519 writing entry points to /tmp/pip-modern-metadata-5v1ribs_/shortkit_ml.egg-info/entry_points.txt 2026-03-27T20:57:24,530 writing requirements to /tmp/pip-modern-metadata-5v1ribs_/shortkit_ml.egg-info/requires.txt 2026-03-27T20:57:24,531 writing top-level names to /tmp/pip-modern-metadata-5v1ribs_/shortkit_ml.egg-info/top_level.txt 2026-03-27T20:57:24,532 writing manifest file '/tmp/pip-modern-metadata-5v1ribs_/shortkit_ml.egg-info/SOURCES.txt' 2026-03-27T20:57:24,587 reading manifest file '/tmp/pip-modern-metadata-5v1ribs_/shortkit_ml.egg-info/SOURCES.txt' 2026-03-27T20:57:24,588 adding license file 'LICENSE' 2026-03-27T20:57:24,597 writing manifest file '/tmp/pip-modern-metadata-5v1ribs_/shortkit_ml.egg-info/SOURCES.txt' 2026-03-27T20:57:24,598 creating '/tmp/pip-modern-metadata-5v1ribs_/shortkit_ml-0.1.0.dist-info' 2026-03-27T20:57:24,723 Preparing metadata (pyproject.toml): finished with status 'done' 2026-03-27T20:57:24,729 Source in /tmp/pip-wheel-rb9lw864/shortkit-ml_5f4430fcd6824b3d8cf64cf4b4478b04 has version 0.1.0, which satisfies requirement shortkit-ml==0.1.0 from https://files.pythonhosted.org/packages/4c/61/9b5ab15dccfd4695d38a3ec7cd5231dd00c72452aeeb001d29ed790a80b4/shortkit_ml-0.1.0.tar.gz 2026-03-27T20:57:24,730 Removed shortkit-ml==0.1.0 from https://files.pythonhosted.org/packages/4c/61/9b5ab15dccfd4695d38a3ec7cd5231dd00c72452aeeb001d29ed790a80b4/shortkit_ml-0.1.0.tar.gz from build tracker '/tmp/pip-build-tracker-1s1_3l57' 2026-03-27T20:57:24,739 Created temporary directory: /tmp/pip-unpack-u1rkrlen 2026-03-27T20:57:24,739 Building wheels for collected packages: shortkit-ml 2026-03-27T20:57:24,744 Created temporary directory: /tmp/pip-wheel-nws4l9kv 2026-03-27T20:57:24,744 Destination directory: /tmp/pip-wheel-nws4l9kv 2026-03-27T20:57:24,746 Building wheel for shortkit-ml (pyproject.toml): started 2026-03-27T20:57:24,748 Running command Building wheel for shortkit-ml (pyproject.toml) 2026-03-27T20:57:25,346 /tmp/pip-build-env-_hhpod_e/overlay/local/lib/python3.11/dist-packages/setuptools/config/_apply_pyprojecttoml.py:82: SetuptoolsDeprecationWarning: `project.license` as a TOML table is deprecated 2026-03-27T20:57:25,346 !! 2026-03-27T20:57:25,347 ******************************************************************************** 2026-03-27T20:57:25,348 Please use a simple string containing a SPDX expression for `project.license`. You can also use `project.license-files`. (Both options available on setuptools>=77.0.0). 2026-03-27T20:57:25,349 By 2027-Feb-18, you need to update your project and remove deprecated calls 2026-03-27T20:57:25,350 or your builds will no longer be supported. 2026-03-27T20:57:25,351 See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. 2026-03-27T20:57:25,351 ******************************************************************************** 2026-03-27T20:57:25,352 !! 2026-03-27T20:57:25,353 corresp(dist, value, root_dir) 2026-03-27T20:57:25,420 /tmp/pip-build-env-_hhpod_e/overlay/local/lib/python3.11/dist-packages/setuptools/config/_apply_pyprojecttoml.py:61: SetuptoolsDeprecationWarning: License classifiers are deprecated. 2026-03-27T20:57:25,421 !! 2026-03-27T20:57:25,422 ******************************************************************************** 2026-03-27T20:57:25,422 Please consider removing the following classifiers in favor of a SPDX license expression: 2026-03-27T20:57:25,424 License :: OSI Approved :: MIT License 2026-03-27T20:57:25,425 See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. 2026-03-27T20:57:25,425 ******************************************************************************** 2026-03-27T20:57:25,427 !! 2026-03-27T20:57:25,427 dist._finalize_license_expression() 2026-03-27T20:57:25,429 /tmp/pip-build-env-_hhpod_e/overlay/local/lib/python3.11/dist-packages/setuptools/dist.py:765: SetuptoolsDeprecationWarning: License classifiers are deprecated. 2026-03-27T20:57:25,430 !! 2026-03-27T20:57:25,431 ******************************************************************************** 2026-03-27T20:57:25,431 Please consider removing the following classifiers in favor of a SPDX license expression: 2026-03-27T20:57:25,432 License :: OSI Approved :: MIT License 2026-03-27T20:57:25,433 See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. 2026-03-27T20:57:25,433 ******************************************************************************** 2026-03-27T20:57:25,434 !! 2026-03-27T20:57:25,435 self._finalize_license_expression() 2026-03-27T20:57:25,435 running bdist_wheel 2026-03-27T20:57:25,449 running build 2026-03-27T20:57:25,449 running build_py 2026-03-27T20:57:25,455 creating build/lib/shortcut_detect 2026-03-27T20:57:25,457 copying shortcut_detect/discovery.py -> build/lib/shortcut_detect 2026-03-27T20:57:25,459 copying shortcut_detect/base_builder.py -> build/lib/shortcut_detect 2026-03-27T20:57:25,462 copying shortcut_detect/datasets.py -> build/lib/shortcut_detect 2026-03-27T20:57:25,464 copying shortcut_detect/mcp_server.py -> build/lib/shortcut_detect 2026-03-27T20:57:25,466 copying shortcut_detect/model_registry.py -> build/lib/shortcut_detect 2026-03-27T20:57:25,468 copying shortcut_detect/detector_base.py -> build/lib/shortcut_detect 2026-03-27T20:57:25,471 copying shortcut_detect/metrics.py -> build/lib/shortcut_detect 2026-03-27T20:57:25,473 copying shortcut_detect/gradcam.py -> build/lib/shortcut_detect 2026-03-27T20:57:25,475 copying shortcut_detect/utils.py -> build/lib/shortcut_detect 2026-03-27T20:57:25,477 copying shortcut_detect/embedding_sources.py -> build/lib/shortcut_detect 2026-03-27T20:57:25,479 copying shortcut_detect/unified.py -> build/lib/shortcut_detect 2026-03-27T20:57:25,482 copying shortcut_detect/__init__.py -> build/lib/shortcut_detect 2026-03-27T20:57:25,483 copying shortcut_detect/detector_template.py -> build/lib/shortcut_detect 2026-03-27T20:57:25,486 creating build/lib/shortcut_detect/mitigation 2026-03-27T20:57:25,487 copying shortcut_detect/mitigation/last_layer_retraining.py -> build/lib/shortcut_detect/mitigation 2026-03-27T20:57:25,490 copying shortcut_detect/mitigation/background_randomizer.py -> build/lib/shortcut_detect/mitigation 2026-03-27T20:57:25,491 copying shortcut_detect/mitigation/adversarial_debiasing.py -> build/lib/shortcut_detect/mitigation 2026-03-27T20:57:25,494 copying shortcut_detect/mitigation/shortcut_masking.py -> build/lib/shortcut_detect/mitigation 2026-03-27T20:57:25,496 copying shortcut_detect/mitigation/explanation_regularization.py -> build/lib/shortcut_detect/mitigation 2026-03-27T20:57:25,498 copying shortcut_detect/mitigation/contrastive_debiasing.py -> build/lib/shortcut_detect/mitigation 2026-03-27T20:57:25,501 copying shortcut_detect/mitigation/__init__.py -> build/lib/shortcut_detect/mitigation 2026-03-27T20:57:25,503 creating build/lib/shortcut_detect/vae 2026-03-27T20:57:25,504 copying shortcut_detect/vae/builder.py -> build/lib/shortcut_detect/vae 2026-03-27T20:57:25,506 copying shortcut_detect/vae/vae_arch.py -> build/lib/shortcut_detect/vae 2026-03-27T20:57:25,509 copying shortcut_detect/vae/vae_detector.py -> build/lib/shortcut_detect/vae 2026-03-27T20:57:25,511 copying shortcut_detect/vae/latent_analyzer.py -> build/lib/shortcut_detect/vae 2026-03-27T20:57:25,513 copying shortcut_detect/vae/plugin.py -> build/lib/shortcut_detect/vae 2026-03-27T20:57:25,515 copying shortcut_detect/vae/__init__.py -> build/lib/shortcut_detect/vae 2026-03-27T20:57:25,517 creating build/lib/shortcut_detect/benchmark 2026-03-27T20:57:25,518 copying shortcut_detect/benchmark/method_utils.py -> build/lib/shortcut_detect/benchmark 2026-03-27T20:57:25,520 copying shortcut_detect/benchmark/paper_runner.py -> build/lib/shortcut_detect/benchmark 2026-03-27T20:57:25,523 copying shortcut_detect/benchmark/runner.py -> build/lib/shortcut_detect/benchmark 2026-03-27T20:57:25,526 copying shortcut_detect/benchmark/chexpert_extraction.py -> build/lib/shortcut_detect/benchmark 2026-03-27T20:57:25,528 copying shortcut_detect/benchmark/run.py -> build/lib/shortcut_detect/benchmark 2026-03-27T20:57:25,530 copying shortcut_detect/benchmark/baseline_comparison.py -> build/lib/shortcut_detect/benchmark 2026-03-27T20:57:25,532 copying shortcut_detect/benchmark/figures.py -> build/lib/shortcut_detect/benchmark 2026-03-27T20:57:25,535 copying shortcut_detect/benchmark/paper_run.py -> build/lib/shortcut_detect/benchmark 2026-03-27T20:57:25,536 copying shortcut_detect/benchmark/synthetic_generator.py -> build/lib/shortcut_detect/benchmark 2026-03-27T20:57:25,538 copying shortcut_detect/benchmark/fp_analysis.py -> build/lib/shortcut_detect/benchmark 2026-03-27T20:57:25,541 copying shortcut_detect/benchmark/measurement.py -> build/lib/shortcut_detect/benchmark 2026-03-27T20:57:25,543 copying shortcut_detect/benchmark/convergence_viz.py -> build/lib/shortcut_detect/benchmark 2026-03-27T20:57:25,546 copying shortcut_detect/benchmark/synthetic.py -> build/lib/shortcut_detect/benchmark 2026-03-27T20:57:25,547 copying shortcut_detect/benchmark/sensitivity.py -> build/lib/shortcut_detect/benchmark 2026-03-27T20:57:25,550 copying shortcut_detect/benchmark/__init__.py -> build/lib/shortcut_detect/benchmark 2026-03-27T20:57:25,552 creating build/lib/shortcut_detect/fairness 2026-03-27T20:57:25,553 copying shortcut_detect/fairness/plugin.py -> build/lib/shortcut_detect/fairness 2026-03-27T20:57:25,555 copying shortcut_detect/fairness/__init__.py -> build/lib/shortcut_detect/fairness 2026-03-27T20:57:25,557 creating build/lib/shortcut_detect/geometric 2026-03-27T20:57:25,558 copying shortcut_detect/geometric/plugin.py -> build/lib/shortcut_detect/geometric 2026-03-27T20:57:25,560 copying shortcut_detect/geometric/__init__.py -> build/lib/shortcut_detect/geometric 2026-03-27T20:57:25,562 creating build/lib/shortcut_detect/conditions 2026-03-27T20:57:25,563 copying shortcut_detect/conditions/registry.py -> build/lib/shortcut_detect/conditions 2026-03-27T20:57:25,565 copying shortcut_detect/conditions/majority_vote.py -> build/lib/shortcut_detect/conditions 2026-03-27T20:57:25,567 copying shortcut_detect/conditions/weighted_risk.py -> build/lib/shortcut_detect/conditions 2026-03-27T20:57:25,569 copying shortcut_detect/conditions/multi_attribute.py -> build/lib/shortcut_detect/conditions 2026-03-27T20:57:25,571 copying shortcut_detect/conditions/meta_classifier.py -> build/lib/shortcut_detect/conditions 2026-03-27T20:57:25,573 copying shortcut_detect/conditions/base.py -> build/lib/shortcut_detect/conditions 2026-03-27T20:57:25,575 copying shortcut_detect/conditions/indicator_count.py -> build/lib/shortcut_detect/conditions 2026-03-27T20:57:25,577 copying shortcut_detect/conditions/__init__.py -> build/lib/shortcut_detect/conditions 2026-03-27T20:57:25,579 creating build/lib/shortcut_detect/comparison 2026-03-27T20:57:25,580 copying shortcut_detect/comparison/runner.py -> build/lib/shortcut_detect/comparison 2026-03-27T20:57:25,582 copying shortcut_detect/comparison/__init__.py -> build/lib/shortcut_detect/comparison 2026-03-27T20:57:25,585 creating build/lib/shortcut_detect/reporting 2026-03-27T20:57:25,586 copying shortcut_detect/reporting/comparison_report.py -> build/lib/shortcut_detect/reporting 2026-03-27T20:57:25,588 copying shortcut_detect/reporting/visualizations.py -> build/lib/shortcut_detect/reporting 2026-03-27T20:57:25,590 copying shortcut_detect/reporting/risk_format.py -> build/lib/shortcut_detect/reporting 2026-03-27T20:57:25,593 copying shortcut_detect/reporting/csv_export.py -> build/lib/shortcut_detect/reporting 2026-03-27T20:57:25,596 copying shortcut_detect/reporting/reporters.py -> build/lib/shortcut_detect/reporting 2026-03-27T20:57:25,598 copying shortcut_detect/reporting/report_builder.py -> build/lib/shortcut_detect/reporting 2026-03-27T20:57:25,602 copying shortcut_detect/reporting/__init__.py -> build/lib/shortcut_detect/reporting 2026-03-27T20:57:25,604 creating build/lib/shortcut_detect/statistical 2026-03-27T20:57:25,605 copying shortcut_detect/statistical/builder.py -> build/lib/shortcut_detect/statistical 2026-03-27T20:57:25,607 copying shortcut_detect/statistical/plugin.py -> build/lib/shortcut_detect/statistical 2026-03-27T20:57:25,609 copying shortcut_detect/statistical/group_diff_test.py -> build/lib/shortcut_detect/statistical 2026-03-27T20:57:25,611 copying shortcut_detect/statistical/__init__.py -> build/lib/shortcut_detect/statistical 2026-03-27T20:57:25,613 creating build/lib/shortcut_detect/training 2026-03-27T20:57:25,614 copying shortcut_detect/training/builder.py -> build/lib/shortcut_detect/training 2026-03-27T20:57:25,617 copying shortcut_detect/training/early_epoch_clustering.py -> build/lib/shortcut_detect/training 2026-03-27T20:57:25,619 copying shortcut_detect/training/data_adapters.py -> build/lib/shortcut_detect/training 2026-03-27T20:57:25,621 copying shortcut_detect/training/plugin.py -> build/lib/shortcut_detect/training 2026-03-27T20:57:25,623 copying shortcut_detect/training/__init__.py -> build/lib/shortcut_detect/training 2026-03-27T20:57:25,624 copying shortcut_detect/training/loader_hooks.py -> build/lib/shortcut_detect/training 2026-03-27T20:57:25,627 creating build/lib/shortcut_detect/gce 2026-03-27T20:57:25,628 copying shortcut_detect/gce/builder.py -> build/lib/shortcut_detect/gce 2026-03-27T20:57:25,630 copying shortcut_detect/gce/gce_detector.py -> build/lib/shortcut_detect/gce 2026-03-27T20:57:25,632 copying shortcut_detect/gce/plugin.py -> build/lib/shortcut_detect/gce 2026-03-27T20:57:25,634 copying shortcut_detect/gce/__init__.py -> build/lib/shortcut_detect/gce 2026-03-27T20:57:25,636 creating build/lib/shortcut_detect/clustering 2026-03-27T20:57:25,637 copying shortcut_detect/clustering/hbac_detector.py -> build/lib/shortcut_detect/clustering 2026-03-27T20:57:25,640 copying shortcut_detect/clustering/builder.py -> build/lib/shortcut_detect/clustering 2026-03-27T20:57:25,642 copying shortcut_detect/clustering/plugin.py -> build/lib/shortcut_detect/clustering 2026-03-27T20:57:25,645 copying shortcut_detect/clustering/__init__.py -> build/lib/shortcut_detect/clustering 2026-03-27T20:57:25,648 creating build/lib/shortcut_detect/ssa 2026-03-27T20:57:25,649 copying shortcut_detect/ssa/builder.py -> build/lib/shortcut_detect/ssa 2026-03-27T20:57:25,652 copying shortcut_detect/ssa/ssa.py -> build/lib/shortcut_detect/ssa 2026-03-27T20:57:25,655 copying shortcut_detect/ssa/plugin.py -> build/lib/shortcut_detect/ssa 2026-03-27T20:57:25,658 copying shortcut_detect/ssa/__init__.py -> build/lib/shortcut_detect/ssa 2026-03-27T20:57:25,663 creating build/lib/shortcut_detect/probes 2026-03-27T20:57:25,665 copying shortcut_detect/probes/torch_probe.py -> build/lib/shortcut_detect/probes 2026-03-27T20:57:25,668 copying shortcut_detect/probes/builder.py -> build/lib/shortcut_detect/probes 2026-03-27T20:57:25,671 copying shortcut_detect/probes/pipeline.py -> build/lib/shortcut_detect/probes 2026-03-27T20:57:25,673 copying shortcut_detect/probes/sklearn_probe.py -> build/lib/shortcut_detect/probes 2026-03-27T20:57:25,676 copying shortcut_detect/probes/probe_factory.py -> build/lib/shortcut_detect/probes 2026-03-27T20:57:25,679 copying shortcut_detect/probes/plugin.py -> build/lib/shortcut_detect/probes 2026-03-27T20:57:25,681 copying shortcut_detect/probes/__init__.py -> build/lib/shortcut_detect/probes 2026-03-27T20:57:25,684 creating build/lib/shortcut_detect/xai 2026-03-27T20:57:25,686 copying shortcut_detect/xai/spray_detector.py -> build/lib/shortcut_detect/xai 2026-03-27T20:57:25,689 copying shortcut_detect/xai/plugin.py -> build/lib/shortcut_detect/xai 2026-03-27T20:57:25,691 copying shortcut_detect/xai/__init__.py -> build/lib/shortcut_detect/xai 2026-03-27T20:57:25,695 creating build/lib/shortcut_detect/frequency 2026-03-27T20:57:25,696 copying shortcut_detect/frequency/builder.py -> build/lib/shortcut_detect/frequency 2026-03-27T20:57:25,699 copying shortcut_detect/frequency/detector.py -> build/lib/shortcut_detect/frequency 2026-03-27T20:57:25,702 copying shortcut_detect/frequency/frequency_detector.py -> build/lib/shortcut_detect/frequency 2026-03-27T20:57:25,704 copying shortcut_detect/frequency/plugin.py -> build/lib/shortcut_detect/frequency 2026-03-27T20:57:25,706 copying shortcut_detect/frequency/sensitivity.py -> build/lib/shortcut_detect/frequency 2026-03-27T20:57:25,708 copying shortcut_detect/frequency/__init__.py -> build/lib/shortcut_detect/frequency 2026-03-27T20:57:25,711 copying shortcut_detect/frequency/adcs.py -> build/lib/shortcut_detect/frequency 2026-03-27T20:57:25,714 creating build/lib/shortcut_detect/groupdro 2026-03-27T20:57:25,715 copying shortcut_detect/groupdro/groupdro.py -> build/lib/shortcut_detect/groupdro 2026-03-27T20:57:25,718 copying shortcut_detect/groupdro/builder.py -> build/lib/shortcut_detect/groupdro 2026-03-27T20:57:25,721 copying shortcut_detect/groupdro/plugin.py -> build/lib/shortcut_detect/groupdro 2026-03-27T20:57:25,723 copying shortcut_detect/groupdro/__init__.py -> build/lib/shortcut_detect/groupdro 2026-03-27T20:57:25,726 creating build/lib/shortcut_detect/causal 2026-03-27T20:57:25,727 copying shortcut_detect/causal/causal_effect_detector.py -> build/lib/shortcut_detect/causal 2026-03-27T20:57:25,730 copying shortcut_detect/causal/plugin.py -> build/lib/shortcut_detect/causal 2026-03-27T20:57:25,732 copying shortcut_detect/causal/__init__.py -> build/lib/shortcut_detect/causal 2026-03-27T20:57:25,734 creating build/lib/shortcut_detect/fairness/equalized_odds 2026-03-27T20:57:25,736 copying shortcut_detect/fairness/equalized_odds/registry.py -> build/lib/shortcut_detect/fairness/equalized_odds 2026-03-27T20:57:25,738 copying shortcut_detect/fairness/equalized_odds/builder.py -> build/lib/shortcut_detect/fairness/equalized_odds 2026-03-27T20:57:25,740 copying shortcut_detect/fairness/equalized_odds/__init__.py -> build/lib/shortcut_detect/fairness/equalized_odds 2026-03-27T20:57:25,742 creating build/lib/shortcut_detect/fairness/intersectional 2026-03-27T20:57:25,743 copying shortcut_detect/fairness/intersectional/registry.py -> build/lib/shortcut_detect/fairness/intersectional 2026-03-27T20:57:25,745 copying shortcut_detect/fairness/intersectional/builder.py -> build/lib/shortcut_detect/fairness/intersectional 2026-03-27T20:57:25,747 copying shortcut_detect/fairness/intersectional/__init__.py -> build/lib/shortcut_detect/fairness/intersectional 2026-03-27T20:57:25,749 creating build/lib/shortcut_detect/fairness/demographic_parity 2026-03-27T20:57:25,751 copying shortcut_detect/fairness/demographic_parity/registry.py -> build/lib/shortcut_detect/fairness/demographic_parity 2026-03-27T20:57:25,753 copying shortcut_detect/fairness/demographic_parity/builder.py -> build/lib/shortcut_detect/fairness/demographic_parity 2026-03-27T20:57:25,755 copying shortcut_detect/fairness/demographic_parity/__init__.py -> build/lib/shortcut_detect/fairness/demographic_parity 2026-03-27T20:57:25,758 creating build/lib/shortcut_detect/fairness/equalized_odds/src 2026-03-27T20:57:25,759 copying shortcut_detect/fairness/equalized_odds/src/detector.py -> build/lib/shortcut_detect/fairness/equalized_odds/src 2026-03-27T20:57:25,761 copying shortcut_detect/fairness/equalized_odds/src/__init__.py -> build/lib/shortcut_detect/fairness/equalized_odds/src 2026-03-27T20:57:25,764 creating build/lib/shortcut_detect/fairness/intersectional/src 2026-03-27T20:57:25,765 copying shortcut_detect/fairness/intersectional/src/detector.py -> build/lib/shortcut_detect/fairness/intersectional/src 2026-03-27T20:57:25,767 copying shortcut_detect/fairness/intersectional/src/__init__.py -> build/lib/shortcut_detect/fairness/intersectional/src 2026-03-27T20:57:25,770 creating build/lib/shortcut_detect/fairness/demographic_parity/src 2026-03-27T20:57:25,771 copying shortcut_detect/fairness/demographic_parity/src/detector.py -> build/lib/shortcut_detect/fairness/demographic_parity/src 2026-03-27T20:57:25,774 copying shortcut_detect/fairness/demographic_parity/src/__init__.py -> build/lib/shortcut_detect/fairness/demographic_parity/src 2026-03-27T20:57:25,776 creating build/lib/shortcut_detect/geometric/geometric 2026-03-27T20:57:25,777 copying shortcut_detect/geometric/geometric/registry.py -> build/lib/shortcut_detect/geometric/geometric 2026-03-27T20:57:25,779 copying shortcut_detect/geometric/geometric/builder.py -> build/lib/shortcut_detect/geometric/geometric 2026-03-27T20:57:25,781 copying shortcut_detect/geometric/geometric/__init__.py -> build/lib/shortcut_detect/geometric/geometric 2026-03-27T20:57:25,783 creating build/lib/shortcut_detect/geometric/bias_direction_pca 2026-03-27T20:57:25,784 copying shortcut_detect/geometric/bias_direction_pca/registry.py -> build/lib/shortcut_detect/geometric/bias_direction_pca 2026-03-27T20:57:25,786 copying shortcut_detect/geometric/bias_direction_pca/builder.py -> build/lib/shortcut_detect/geometric/bias_direction_pca 2026-03-27T20:57:25,788 copying shortcut_detect/geometric/bias_direction_pca/__init__.py -> build/lib/shortcut_detect/geometric/bias_direction_pca 2026-03-27T20:57:25,790 creating build/lib/shortcut_detect/geometric/geometric/src 2026-03-27T20:57:25,791 copying shortcut_detect/geometric/geometric/src/detector.py -> build/lib/shortcut_detect/geometric/geometric/src 2026-03-27T20:57:25,794 copying shortcut_detect/geometric/geometric/src/__init__.py -> build/lib/shortcut_detect/geometric/geometric/src 2026-03-27T20:57:25,797 creating build/lib/shortcut_detect/geometric/bias_direction_pca/src 2026-03-27T20:57:25,798 copying shortcut_detect/geometric/bias_direction_pca/src/detector.py -> build/lib/shortcut_detect/geometric/bias_direction_pca/src 2026-03-27T20:57:25,800 copying shortcut_detect/geometric/bias_direction_pca/src/__init__.py -> build/lib/shortcut_detect/geometric/bias_direction_pca/src 2026-03-27T20:57:25,803 creating build/lib/shortcut_detect/xai/cav 2026-03-27T20:57:25,804 copying shortcut_detect/xai/cav/registry.py -> build/lib/shortcut_detect/xai/cav 2026-03-27T20:57:25,806 copying shortcut_detect/xai/cav/builder.py -> build/lib/shortcut_detect/xai/cav 2026-03-27T20:57:25,807 copying shortcut_detect/xai/cav/__init__.py -> build/lib/shortcut_detect/xai/cav 2026-03-27T20:57:25,810 creating build/lib/shortcut_detect/xai/gradcam_mask_overlap 2026-03-27T20:57:25,811 copying shortcut_detect/xai/gradcam_mask_overlap/registry.py -> build/lib/shortcut_detect/xai/gradcam_mask_overlap 2026-03-27T20:57:25,813 copying shortcut_detect/xai/gradcam_mask_overlap/builder.py -> build/lib/shortcut_detect/xai/gradcam_mask_overlap 2026-03-27T20:57:25,815 copying shortcut_detect/xai/gradcam_mask_overlap/__init__.py -> build/lib/shortcut_detect/xai/gradcam_mask_overlap 2026-03-27T20:57:25,817 creating build/lib/shortcut_detect/xai/sis 2026-03-27T20:57:25,818 copying shortcut_detect/xai/sis/registry.py -> build/lib/shortcut_detect/xai/sis 2026-03-27T20:57:25,820 copying shortcut_detect/xai/sis/builder.py -> build/lib/shortcut_detect/xai/sis 2026-03-27T20:57:25,822 copying shortcut_detect/xai/sis/__init__.py -> build/lib/shortcut_detect/xai/sis 2026-03-27T20:57:25,824 creating build/lib/shortcut_detect/xai/cav/src 2026-03-27T20:57:25,826 copying shortcut_detect/xai/cav/src/detector.py -> build/lib/shortcut_detect/xai/cav/src 2026-03-27T20:57:25,828 copying shortcut_detect/xai/cav/src/__init__.py -> build/lib/shortcut_detect/xai/cav/src 2026-03-27T20:57:25,831 creating build/lib/shortcut_detect/xai/gradcam_mask_overlap/src 2026-03-27T20:57:25,832 copying shortcut_detect/xai/gradcam_mask_overlap/src/detector.py -> build/lib/shortcut_detect/xai/gradcam_mask_overlap/src 2026-03-27T20:57:25,834 copying shortcut_detect/xai/gradcam_mask_overlap/src/__init__.py -> build/lib/shortcut_detect/xai/gradcam_mask_overlap/src 2026-03-27T20:57:25,836 creating build/lib/shortcut_detect/xai/sis/src 2026-03-27T20:57:25,838 copying shortcut_detect/xai/sis/src/detector.py -> build/lib/shortcut_detect/xai/sis/src 2026-03-27T20:57:25,840 copying shortcut_detect/xai/sis/src/__init__.py -> build/lib/shortcut_detect/xai/sis/src 2026-03-27T20:57:25,842 creating build/lib/shortcut_detect/causal/causal_effect 2026-03-27T20:57:25,843 copying shortcut_detect/causal/causal_effect/registry.py -> build/lib/shortcut_detect/causal/causal_effect 2026-03-27T20:57:25,845 copying shortcut_detect/causal/causal_effect/builder.py -> build/lib/shortcut_detect/causal/causal_effect 2026-03-27T20:57:25,847 copying shortcut_detect/causal/causal_effect/__init__.py -> build/lib/shortcut_detect/causal/causal_effect 2026-03-27T20:57:25,849 creating build/lib/shortcut_detect/causal/generative_cvae 2026-03-27T20:57:25,850 copying shortcut_detect/causal/generative_cvae/registry.py -> build/lib/shortcut_detect/causal/generative_cvae 2026-03-27T20:57:25,852 copying shortcut_detect/causal/generative_cvae/builder.py -> build/lib/shortcut_detect/causal/generative_cvae 2026-03-27T20:57:25,854 copying shortcut_detect/causal/generative_cvae/__init__.py -> build/lib/shortcut_detect/causal/generative_cvae 2026-03-27T20:57:25,856 creating build/lib/shortcut_detect/causal/causal_effect/src 2026-03-27T20:57:25,857 copying shortcut_detect/causal/causal_effect/src/detector.py -> build/lib/shortcut_detect/causal/causal_effect/src 2026-03-27T20:57:25,859 copying shortcut_detect/causal/causal_effect/src/__init__.py -> build/lib/shortcut_detect/causal/causal_effect/src 2026-03-27T20:57:25,861 creating build/lib/shortcut_detect/causal/generative_cvae/src 2026-03-27T20:57:25,862 copying shortcut_detect/causal/generative_cvae/src/detector.py -> build/lib/shortcut_detect/causal/generative_cvae/src 2026-03-27T20:57:25,865 copying shortcut_detect/causal/generative_cvae/src/__init__.py -> build/lib/shortcut_detect/causal/generative_cvae/src 2026-03-27T20:57:25,867 running egg_info 2026-03-27T20:57:25,877 writing shortkit_ml.egg-info/PKG-INFO 2026-03-27T20:57:25,894 writing dependency_links to shortkit_ml.egg-info/dependency_links.txt 2026-03-27T20:57:25,896 writing entry points to shortkit_ml.egg-info/entry_points.txt 2026-03-27T20:57:25,906 writing requirements to shortkit_ml.egg-info/requires.txt 2026-03-27T20:57:25,907 writing top-level names to shortkit_ml.egg-info/top_level.txt 2026-03-27T20:57:25,949 reading manifest file 'shortkit_ml.egg-info/SOURCES.txt' 2026-03-27T20:57:25,962 adding license file 'LICENSE' 2026-03-27T20:57:25,973 writing manifest file 'shortkit_ml.egg-info/SOURCES.txt' 2026-03-27T20:57:25,992 copying shortcut_detect/conditions/meta_model.joblib -> build/lib/shortcut_detect/conditions 2026-03-27T20:57:25,994 copying shortcut_detect/conditions/meta_model.meta.json -> build/lib/shortcut_detect/conditions 2026-03-27T20:57:26,020 installing to build/bdist.linux-armv7l/wheel 2026-03-27T20:57:26,021 running install 2026-03-27T20:57:26,044 running install_lib 2026-03-27T20:57:26,049 creating build/bdist.linux-armv7l/wheel 2026-03-27T20:57:26,052 creating build/bdist.linux-armv7l/wheel/shortcut_detect 2026-03-27T20:57:26,053 creating build/bdist.linux-armv7l/wheel/shortcut_detect/mitigation 2026-03-27T20:57:26,055 copying build/lib/shortcut_detect/mitigation/last_layer_retraining.py -> build/bdist.linux-armv7l/wheel/./shortcut_detect/mitigation 2026-03-27T20:57:26,057 copying build/lib/shortcut_detect/mitigation/background_randomizer.py -> build/bdist.linux-armv7l/wheel/./shortcut_detect/mitigation 2026-03-27T20:57:26,059 copying build/lib/shortcut_detect/mitigation/adversarial_debiasing.py -> build/bdist.linux-armv7l/wheel/./shortcut_detect/mitigation 2026-03-27T20:57:26,061 copying build/lib/shortcut_detect/mitigation/shortcut_masking.py -> build/bdist.linux-armv7l/wheel/./shortcut_detect/mitigation 2026-03-27T20:57:26,064 copying build/lib/shortcut_detect/mitigation/explanation_regularization.py -> build/bdist.linux-armv7l/wheel/./shortcut_detect/mitigation 2026-03-27T20:57:26,066 copying build/lib/shortcut_detect/mitigation/contrastive_debiasing.py -> build/bdist.linux-armv7l/wheel/./shortcut_detect/mitigation 2026-03-27T20:57:26,068 copying build/lib/shortcut_detect/mitigation/__init__.py -> build/bdist.linux-armv7l/wheel/./shortcut_detect/mitigation 2026-03-27T20:57:26,071 creating build/bdist.linux-armv7l/wheel/shortcut_detect/vae 2026-03-27T20:57:26,072 copying build/lib/shortcut_detect/vae/builder.py -> build/bdist.linux-armv7l/wheel/./shortcut_detect/vae 2026-03-27T20:57:26,074 copying build/lib/shortcut_detect/vae/vae_arch.py -> build/bdist.linux-armv7l/wheel/./shortcut_detect/vae 2026-03-27T20:57:26,076 copying build/lib/shortcut_detect/vae/vae_detector.py -> build/bdist.linux-armv7l/wheel/./shortcut_detect/vae 2026-03-27T20:57:26,079 copying build/lib/shortcut_detect/vae/latent_analyzer.py -> build/bdist.linux-armv7l/wheel/./shortcut_detect/vae 2026-03-27T20:57:26,081 copying build/lib/shortcut_detect/vae/plugin.py -> build/bdist.linux-armv7l/wheel/./shortcut_detect/vae 2026-03-27T20:57:26,083 copying build/lib/shortcut_detect/vae/__init__.py -> build/bdist.linux-armv7l/wheel/./shortcut_detect/vae 2026-03-27T20:57:26,084 copying build/lib/shortcut_detect/discovery.py -> build/bdist.linux-armv7l/wheel/./shortcut_detect 2026-03-27T20:57:26,087 creating build/bdist.linux-armv7l/wheel/shortcut_detect/benchmark 2026-03-27T20:57:26,088 copying build/lib/shortcut_detect/benchmark/method_utils.py -> build/bdist.linux-armv7l/wheel/./shortcut_detect/benchmark 2026-03-27T20:57:26,090 copying build/lib/shortcut_detect/benchmark/paper_runner.py -> build/bdist.linux-armv7l/wheel/./shortcut_detect/benchmark 2026-03-27T20:57:26,093 copying build/lib/shortcut_detect/benchmark/runner.py -> build/bdist.linux-armv7l/wheel/./shortcut_detect/benchmark 2026-03-27T20:57:26,096 copying build/lib/shortcut_detect/benchmark/chexpert_extraction.py -> build/bdist.linux-armv7l/wheel/./shortcut_detect/benchmark 2026-03-27T20:57:26,098 copying build/lib/shortcut_detect/benchmark/run.py -> build/bdist.linux-armv7l/wheel/./shortcut_detect/benchmark 2026-03-27T20:57:26,100 copying build/lib/shortcut_detect/benchmark/baseline_comparison.py -> build/bdist.linux-armv7l/wheel/./shortcut_detect/benchmark 2026-03-27T20:57:26,102 copying build/lib/shortcut_detect/benchmark/figures.py -> build/bdist.linux-armv7l/wheel/./shortcut_detect/benchmark 2026-03-27T20:57:26,105 copying build/lib/shortcut_detect/benchmark/paper_run.py -> build/bdist.linux-armv7l/wheel/./shortcut_detect/benchmark 2026-03-27T20:57:26,107 copying build/lib/shortcut_detect/benchmark/synthetic_generator.py -> build/bdist.linux-armv7l/wheel/./shortcut_detect/benchmark 2026-03-27T20:57:26,109 copying build/lib/shortcut_detect/benchmark/fp_analysis.py -> build/bdist.linux-armv7l/wheel/./shortcut_detect/benchmark 2026-03-27T20:57:26,111 copying build/lib/shortcut_detect/benchmark/measurement.py -> build/bdist.linux-armv7l/wheel/./shortcut_detect/benchmark 2026-03-27T20:57:26,114 copying build/lib/shortcut_detect/benchmark/convergence_viz.py -> build/bdist.linux-armv7l/wheel/./shortcut_detect/benchmark 2026-03-27T20:57:26,116 copying build/lib/shortcut_detect/benchmark/synthetic.py -> build/bdist.linux-armv7l/wheel/./shortcut_detect/benchmark 2026-03-27T20:57:26,118 copying build/lib/shortcut_detect/benchmark/sensitivity.py -> build/bdist.linux-armv7l/wheel/./shortcut_detect/benchmark 2026-03-27T20:57:26,120 copying build/lib/shortcut_detect/benchmark/__init__.py -> build/bdist.linux-armv7l/wheel/./shortcut_detect/benchmark 2026-03-27T20:57:26,122 copying build/lib/shortcut_detect/base_builder.py -> build/bdist.linux-armv7l/wheel/./shortcut_detect 2026-03-27T20:57:26,125 copying build/lib/shortcut_detect/datasets.py -> build/bdist.linux-armv7l/wheel/./shortcut_detect 2026-03-27T20:57:26,127 creating build/bdist.linux-armv7l/wheel/shortcut_detect/fairness 2026-03-27T20:57:26,129 creating build/bdist.linux-armv7l/wheel/shortcut_detect/fairness/equalized_odds 2026-03-27T20:57:26,130 copying build/lib/shortcut_detect/fairness/equalized_odds/registry.py -> build/bdist.linux-armv7l/wheel/./shortcut_detect/fairness/equalized_odds 2026-03-27T20:57:26,132 copying build/lib/shortcut_detect/fairness/equalized_odds/builder.py -> build/bdist.linux-armv7l/wheel/./shortcut_detect/fairness/equalized_odds 2026-03-27T20:57:26,134 creating build/bdist.linux-armv7l/wheel/shortcut_detect/fairness/equalized_odds/src 2026-03-27T20:57:26,135 copying build/lib/shortcut_detect/fairness/equalized_odds/src/detector.py -> build/bdist.linux-armv7l/wheel/./shortcut_detect/fairness/equalized_odds/src 2026-03-27T20:57:26,138 copying build/lib/shortcut_detect/fairness/equalized_odds/src/__init__.py -> build/bdist.linux-armv7l/wheel/./shortcut_detect/fairness/equalized_odds/src 2026-03-27T20:57:26,139 copying build/lib/shortcut_detect/fairness/equalized_odds/__init__.py -> build/bdist.linux-armv7l/wheel/./shortcut_detect/fairness/equalized_odds 2026-03-27T20:57:26,142 creating build/bdist.linux-armv7l/wheel/shortcut_detect/fairness/intersectional 2026-03-27T20:57:26,143 copying build/lib/shortcut_detect/fairness/intersectional/registry.py -> build/bdist.linux-armv7l/wheel/./shortcut_detect/fairness/intersectional 2026-03-27T20:57:26,145 copying build/lib/shortcut_detect/fairness/intersectional/builder.py -> build/bdist.linux-armv7l/wheel/./shortcut_detect/fairness/intersectional 2026-03-27T20:57:26,148 creating build/bdist.linux-armv7l/wheel/shortcut_detect/fairness/intersectional/src 2026-03-27T20:57:26,148 copying build/lib/shortcut_detect/fairness/intersectional/src/detector.py -> build/bdist.linux-armv7l/wheel/./shortcut_detect/fairness/intersectional/src 2026-03-27T20:57:26,151 copying build/lib/shortcut_detect/fairness/intersectional/src/__init__.py -> build/bdist.linux-armv7l/wheel/./shortcut_detect/fairness/intersectional/src 2026-03-27T20:57:26,152 copying build/lib/shortcut_detect/fairness/intersectional/__init__.py -> build/bdist.linux-armv7l/wheel/./shortcut_detect/fairness/intersectional 2026-03-27T20:57:26,154 copying build/lib/shortcut_detect/fairness/plugin.py -> build/bdist.linux-armv7l/wheel/./shortcut_detect/fairness 2026-03-27T20:57:26,156 copying build/lib/shortcut_detect/fairness/__init__.py -> build/bdist.linux-armv7l/wheel/./shortcut_detect/fairness 2026-03-27T20:57:26,158 creating build/bdist.linux-armv7l/wheel/shortcut_detect/fairness/demographic_parity 2026-03-27T20:57:26,159 copying build/lib/shortcut_detect/fairness/demographic_parity/registry.py -> build/bdist.linux-armv7l/wheel/./shortcut_detect/fairness/demographic_parity 2026-03-27T20:57:26,161 copying build/lib/shortcut_detect/fairness/demographic_parity/builder.py -> build/bdist.linux-armv7l/wheel/./shortcut_detect/fairness/demographic_parity 2026-03-27T20:57:26,163 creating build/bdist.linux-armv7l/wheel/shortcut_detect/fairness/demographic_parity/src 2026-03-27T20:57:26,164 copying build/lib/shortcut_detect/fairness/demographic_parity/src/detector.py -> build/bdist.linux-armv7l/wheel/./shortcut_detect/fairness/demographic_parity/src 2026-03-27T20:57:26,167 copying build/lib/shortcut_detect/fairness/demographic_parity/src/__init__.py -> build/bdist.linux-armv7l/wheel/./shortcut_detect/fairness/demographic_parity/src 2026-03-27T20:57:26,168 copying build/lib/shortcut_detect/fairness/demographic_parity/__init__.py -> build/bdist.linux-armv7l/wheel/./shortcut_detect/fairness/demographic_parity 2026-03-27T20:57:26,171 creating build/bdist.linux-armv7l/wheel/shortcut_detect/geometric 2026-03-27T20:57:26,172 creating build/bdist.linux-armv7l/wheel/shortcut_detect/geometric/geometric 2026-03-27T20:57:26,174 copying build/lib/shortcut_detect/geometric/geometric/registry.py -> build/bdist.linux-armv7l/wheel/./shortcut_detect/geometric/geometric 2026-03-27T20:57:26,175 copying build/lib/shortcut_detect/geometric/geometric/builder.py -> build/bdist.linux-armv7l/wheel/./shortcut_detect/geometric/geometric 2026-03-27T20:57:26,178 creating build/bdist.linux-armv7l/wheel/shortcut_detect/geometric/geometric/src 2026-03-27T20:57:26,179 copying build/lib/shortcut_detect/geometric/geometric/src/detector.py -> build/bdist.linux-armv7l/wheel/./shortcut_detect/geometric/geometric/src 2026-03-27T20:57:26,182 copying build/lib/shortcut_detect/geometric/geometric/src/__init__.py -> build/bdist.linux-armv7l/wheel/./shortcut_detect/geometric/geometric/src 2026-03-27T20:57:26,184 copying build/lib/shortcut_detect/geometric/geometric/__init__.py -> build/bdist.linux-armv7l/wheel/./shortcut_detect/geometric/geometric 2026-03-27T20:57:26,185 copying build/lib/shortcut_detect/geometric/plugin.py -> build/bdist.linux-armv7l/wheel/./shortcut_detect/geometric 2026-03-27T20:57:26,188 creating build/bdist.linux-armv7l/wheel/shortcut_detect/geometric/bias_direction_pca 2026-03-27T20:57:26,189 copying build/lib/shortcut_detect/geometric/bias_direction_pca/registry.py -> build/bdist.linux-armv7l/wheel/./shortcut_detect/geometric/bias_direction_pca 2026-03-27T20:57:26,190 copying build/lib/shortcut_detect/geometric/bias_direction_pca/builder.py -> build/bdist.linux-armv7l/wheel/./shortcut_detect/geometric/bias_direction_pca 2026-03-27T20:57:26,193 creating build/bdist.linux-armv7l/wheel/shortcut_detect/geometric/bias_direction_pca/src 2026-03-27T20:57:26,194 copying build/lib/shortcut_detect/geometric/bias_direction_pca/src/detector.py -> build/bdist.linux-armv7l/wheel/./shortcut_detect/geometric/bias_direction_pca/src 2026-03-27T20:57:26,196 copying build/lib/shortcut_detect/geometric/bias_direction_pca/src/__init__.py -> build/bdist.linux-armv7l/wheel/./shortcut_detect/geometric/bias_direction_pca/src 2026-03-27T20:57:26,198 copying build/lib/shortcut_detect/geometric/bias_direction_pca/__init__.py -> build/bdist.linux-armv7l/wheel/./shortcut_detect/geometric/bias_direction_pca 2026-03-27T20:57:26,200 copying build/lib/shortcut_detect/geometric/__init__.py -> build/bdist.linux-armv7l/wheel/./shortcut_detect/geometric 2026-03-27T20:57:26,202 creating build/bdist.linux-armv7l/wheel/shortcut_detect/conditions 2026-03-27T20:57:26,203 copying build/lib/shortcut_detect/conditions/registry.py -> build/bdist.linux-armv7l/wheel/./shortcut_detect/conditions 2026-03-27T20:57:26,205 copying build/lib/shortcut_detect/conditions/majority_vote.py -> build/bdist.linux-armv7l/wheel/./shortcut_detect/conditions 2026-03-27T20:57:26,208 copying build/lib/shortcut_detect/conditions/weighted_risk.py -> build/bdist.linux-armv7l/wheel/./shortcut_detect/conditions 2026-03-27T20:57:26,210 copying build/lib/shortcut_detect/conditions/meta_model.meta.json -> build/bdist.linux-armv7l/wheel/./shortcut_detect/conditions 2026-03-27T20:57:26,212 copying build/lib/shortcut_detect/conditions/multi_attribute.py -> build/bdist.linux-armv7l/wheel/./shortcut_detect/conditions 2026-03-27T20:57:26,214 copying build/lib/shortcut_detect/conditions/meta_classifier.py -> build/bdist.linux-armv7l/wheel/./shortcut_detect/conditions 2026-03-27T20:57:26,216 copying build/lib/shortcut_detect/conditions/meta_model.joblib -> build/bdist.linux-armv7l/wheel/./shortcut_detect/conditions 2026-03-27T20:57:26,218 copying build/lib/shortcut_detect/conditions/base.py -> build/bdist.linux-armv7l/wheel/./shortcut_detect/conditions 2026-03-27T20:57:26,220 copying build/lib/shortcut_detect/conditions/indicator_count.py -> build/bdist.linux-armv7l/wheel/./shortcut_detect/conditions 2026-03-27T20:57:26,221 copying build/lib/shortcut_detect/conditions/__init__.py -> build/bdist.linux-armv7l/wheel/./shortcut_detect/conditions 2026-03-27T20:57:26,224 creating build/bdist.linux-armv7l/wheel/shortcut_detect/comparison 2026-03-27T20:57:26,225 copying build/lib/shortcut_detect/comparison/runner.py -> build/bdist.linux-armv7l/wheel/./shortcut_detect/comparison 2026-03-27T20:57:26,228 copying build/lib/shortcut_detect/comparison/__init__.py -> build/bdist.linux-armv7l/wheel/./shortcut_detect/comparison 2026-03-27T20:57:26,230 copying build/lib/shortcut_detect/mcp_server.py -> build/bdist.linux-armv7l/wheel/./shortcut_detect 2026-03-27T20:57:26,233 creating build/bdist.linux-armv7l/wheel/shortcut_detect/reporting 2026-03-27T20:57:26,234 copying build/lib/shortcut_detect/reporting/comparison_report.py -> build/bdist.linux-armv7l/wheel/./shortcut_detect/reporting 2026-03-27T20:57:26,236 copying build/lib/shortcut_detect/reporting/visualizations.py -> build/bdist.linux-armv7l/wheel/./shortcut_detect/reporting 2026-03-27T20:57:26,238 copying build/lib/shortcut_detect/reporting/risk_format.py -> build/bdist.linux-armv7l/wheel/./shortcut_detect/reporting 2026-03-27T20:57:26,241 copying build/lib/shortcut_detect/reporting/csv_export.py -> build/bdist.linux-armv7l/wheel/./shortcut_detect/reporting 2026-03-27T20:57:26,244 copying build/lib/shortcut_detect/reporting/reporters.py -> build/bdist.linux-armv7l/wheel/./shortcut_detect/reporting 2026-03-27T20:57:26,246 copying build/lib/shortcut_detect/reporting/report_builder.py -> build/bdist.linux-armv7l/wheel/./shortcut_detect/reporting 2026-03-27T20:57:26,249 copying build/lib/shortcut_detect/reporting/__init__.py -> build/bdist.linux-armv7l/wheel/./shortcut_detect/reporting 2026-03-27T20:57:26,251 copying build/lib/shortcut_detect/model_registry.py -> build/bdist.linux-armv7l/wheel/./shortcut_detect 2026-03-27T20:57:26,254 creating build/bdist.linux-armv7l/wheel/shortcut_detect/statistical 2026-03-27T20:57:26,255 copying build/lib/shortcut_detect/statistical/builder.py -> build/bdist.linux-armv7l/wheel/./shortcut_detect/statistical 2026-03-27T20:57:26,257 copying build/lib/shortcut_detect/statistical/plugin.py -> build/bdist.linux-armv7l/wheel/./shortcut_detect/statistical 2026-03-27T20:57:26,259 copying build/lib/shortcut_detect/statistical/group_diff_test.py -> build/bdist.linux-armv7l/wheel/./shortcut_detect/statistical 2026-03-27T20:57:26,261 copying build/lib/shortcut_detect/statistical/__init__.py -> build/bdist.linux-armv7l/wheel/./shortcut_detect/statistical 2026-03-27T20:57:26,263 creating build/bdist.linux-armv7l/wheel/shortcut_detect/training 2026-03-27T20:57:26,264 copying build/lib/shortcut_detect/training/builder.py -> build/bdist.linux-armv7l/wheel/./shortcut_detect/training 2026-03-27T20:57:26,266 copying build/lib/shortcut_detect/training/early_epoch_clustering.py -> build/bdist.linux-armv7l/wheel/./shortcut_detect/training 2026-03-27T20:57:26,268 copying build/lib/shortcut_detect/training/data_adapters.py -> build/bdist.linux-armv7l/wheel/./shortcut_detect/training 2026-03-27T20:57:26,271 copying build/lib/shortcut_detect/training/plugin.py -> build/bdist.linux-armv7l/wheel/./shortcut_detect/training 2026-03-27T20:57:26,272 copying build/lib/shortcut_detect/training/__init__.py -> build/bdist.linux-armv7l/wheel/./shortcut_detect/training 2026-03-27T20:57:26,274 copying build/lib/shortcut_detect/training/loader_hooks.py -> build/bdist.linux-armv7l/wheel/./shortcut_detect/training 2026-03-27T20:57:26,276 creating build/bdist.linux-armv7l/wheel/shortcut_detect/gce 2026-03-27T20:57:26,277 copying build/lib/shortcut_detect/gce/builder.py -> build/bdist.linux-armv7l/wheel/./shortcut_detect/gce 2026-03-27T20:57:26,279 copying build/lib/shortcut_detect/gce/gce_detector.py -> build/bdist.linux-armv7l/wheel/./shortcut_detect/gce 2026-03-27T20:57:26,281 copying build/lib/shortcut_detect/gce/plugin.py -> build/bdist.linux-armv7l/wheel/./shortcut_detect/gce 2026-03-27T20:57:26,283 copying build/lib/shortcut_detect/gce/__init__.py -> build/bdist.linux-armv7l/wheel/./shortcut_detect/gce 2026-03-27T20:57:26,285 creating build/bdist.linux-armv7l/wheel/shortcut_detect/clustering 2026-03-27T20:57:26,286 copying build/lib/shortcut_detect/clustering/hbac_detector.py -> build/bdist.linux-armv7l/wheel/./shortcut_detect/clustering 2026-03-27T20:57:26,289 copying build/lib/shortcut_detect/clustering/builder.py -> build/bdist.linux-armv7l/wheel/./shortcut_detect/clustering 2026-03-27T20:57:26,291 copying build/lib/shortcut_detect/clustering/plugin.py -> build/bdist.linux-armv7l/wheel/./shortcut_detect/clustering 2026-03-27T20:57:26,293 copying build/lib/shortcut_detect/clustering/__init__.py -> build/bdist.linux-armv7l/wheel/./shortcut_detect/clustering 2026-03-27T20:57:26,294 copying build/lib/shortcut_detect/detector_base.py -> build/bdist.linux-armv7l/wheel/./shortcut_detect 2026-03-27T20:57:26,296 copying build/lib/shortcut_detect/metrics.py -> build/bdist.linux-armv7l/wheel/./shortcut_detect 2026-03-27T20:57:26,299 creating build/bdist.linux-armv7l/wheel/shortcut_detect/ssa 2026-03-27T20:57:26,300 copying build/lib/shortcut_detect/ssa/builder.py -> build/bdist.linux-armv7l/wheel/./shortcut_detect/ssa 2026-03-27T20:57:26,302 copying build/lib/shortcut_detect/ssa/ssa.py -> build/bdist.linux-armv7l/wheel/./shortcut_detect/ssa 2026-03-27T20:57:26,304 copying build/lib/shortcut_detect/ssa/plugin.py -> build/bdist.linux-armv7l/wheel/./shortcut_detect/ssa 2026-03-27T20:57:26,306 copying build/lib/shortcut_detect/ssa/__init__.py -> build/bdist.linux-armv7l/wheel/./shortcut_detect/ssa 2026-03-27T20:57:26,307 copying build/lib/shortcut_detect/gradcam.py -> build/bdist.linux-armv7l/wheel/./shortcut_detect 2026-03-27T20:57:26,309 copying build/lib/shortcut_detect/utils.py -> build/bdist.linux-armv7l/wheel/./shortcut_detect 2026-03-27T20:57:26,312 creating build/bdist.linux-armv7l/wheel/shortcut_detect/probes 2026-03-27T20:57:26,313 copying build/lib/shortcut_detect/probes/torch_probe.py -> build/bdist.linux-armv7l/wheel/./shortcut_detect/probes 2026-03-27T20:57:26,315 copying build/lib/shortcut_detect/probes/builder.py -> build/bdist.linux-armv7l/wheel/./shortcut_detect/probes 2026-03-27T20:57:26,317 copying build/lib/shortcut_detect/probes/pipeline.py -> build/bdist.linux-armv7l/wheel/./shortcut_detect/probes 2026-03-27T20:57:26,319 copying build/lib/shortcut_detect/probes/sklearn_probe.py -> build/bdist.linux-armv7l/wheel/./shortcut_detect/probes 2026-03-27T20:57:26,322 copying build/lib/shortcut_detect/probes/probe_factory.py -> build/bdist.linux-armv7l/wheel/./shortcut_detect/probes 2026-03-27T20:57:26,323 copying build/lib/shortcut_detect/probes/plugin.py -> build/bdist.linux-armv7l/wheel/./shortcut_detect/probes 2026-03-27T20:57:26,325 copying build/lib/shortcut_detect/probes/__init__.py -> build/bdist.linux-armv7l/wheel/./shortcut_detect/probes 2026-03-27T20:57:26,327 creating build/bdist.linux-armv7l/wheel/shortcut_detect/xai 2026-03-27T20:57:26,328 copying build/lib/shortcut_detect/xai/spray_detector.py -> build/bdist.linux-armv7l/wheel/./shortcut_detect/xai 2026-03-27T20:57:26,331 creating build/bdist.linux-armv7l/wheel/shortcut_detect/xai/cav 2026-03-27T20:57:26,332 copying build/lib/shortcut_detect/xai/cav/registry.py -> build/bdist.linux-armv7l/wheel/./shortcut_detect/xai/cav 2026-03-27T20:57:26,334 copying build/lib/shortcut_detect/xai/cav/builder.py -> build/bdist.linux-armv7l/wheel/./shortcut_detect/xai/cav 2026-03-27T20:57:26,337 creating build/bdist.linux-armv7l/wheel/shortcut_detect/xai/cav/src 2026-03-27T20:57:26,338 copying build/lib/shortcut_detect/xai/cav/src/detector.py -> build/bdist.linux-armv7l/wheel/./shortcut_detect/xai/cav/src 2026-03-27T20:57:26,340 copying build/lib/shortcut_detect/xai/cav/src/__init__.py -> build/bdist.linux-armv7l/wheel/./shortcut_detect/xai/cav/src 2026-03-27T20:57:26,342 copying build/lib/shortcut_detect/xai/cav/__init__.py -> build/bdist.linux-armv7l/wheel/./shortcut_detect/xai/cav 2026-03-27T20:57:26,344 copying build/lib/shortcut_detect/xai/plugin.py -> build/bdist.linux-armv7l/wheel/./shortcut_detect/xai 2026-03-27T20:57:26,346 creating build/bdist.linux-armv7l/wheel/shortcut_detect/xai/gradcam_mask_overlap 2026-03-27T20:57:26,347 copying build/lib/shortcut_detect/xai/gradcam_mask_overlap/registry.py -> build/bdist.linux-armv7l/wheel/./shortcut_detect/xai/gradcam_mask_overlap 2026-03-27T20:57:26,349 copying build/lib/shortcut_detect/xai/gradcam_mask_overlap/builder.py -> build/bdist.linux-armv7l/wheel/./shortcut_detect/xai/gradcam_mask_overlap 2026-03-27T20:57:26,351 creating build/bdist.linux-armv7l/wheel/shortcut_detect/xai/gradcam_mask_overlap/src 2026-03-27T20:57:26,352 copying build/lib/shortcut_detect/xai/gradcam_mask_overlap/src/detector.py -> build/bdist.linux-armv7l/wheel/./shortcut_detect/xai/gradcam_mask_overlap/src 2026-03-27T20:57:26,354 copying build/lib/shortcut_detect/xai/gradcam_mask_overlap/src/__init__.py -> build/bdist.linux-armv7l/wheel/./shortcut_detect/xai/gradcam_mask_overlap/src 2026-03-27T20:57:26,356 copying build/lib/shortcut_detect/xai/gradcam_mask_overlap/__init__.py -> build/bdist.linux-armv7l/wheel/./shortcut_detect/xai/gradcam_mask_overlap 2026-03-27T20:57:26,358 copying build/lib/shortcut_detect/xai/__init__.py -> build/bdist.linux-armv7l/wheel/./shortcut_detect/xai 2026-03-27T20:57:26,360 creating build/bdist.linux-armv7l/wheel/shortcut_detect/xai/sis 2026-03-27T20:57:26,361 copying build/lib/shortcut_detect/xai/sis/registry.py -> build/bdist.linux-armv7l/wheel/./shortcut_detect/xai/sis 2026-03-27T20:57:26,363 copying build/lib/shortcut_detect/xai/sis/builder.py -> build/bdist.linux-armv7l/wheel/./shortcut_detect/xai/sis 2026-03-27T20:57:26,365 creating build/bdist.linux-armv7l/wheel/shortcut_detect/xai/sis/src 2026-03-27T20:57:26,366 copying build/lib/shortcut_detect/xai/sis/src/detector.py -> build/bdist.linux-armv7l/wheel/./shortcut_detect/xai/sis/src 2026-03-27T20:57:26,368 copying build/lib/shortcut_detect/xai/sis/src/__init__.py -> build/bdist.linux-armv7l/wheel/./shortcut_detect/xai/sis/src 2026-03-27T20:57:26,370 copying build/lib/shortcut_detect/xai/sis/__init__.py -> build/bdist.linux-armv7l/wheel/./shortcut_detect/xai/sis 2026-03-27T20:57:26,371 copying build/lib/shortcut_detect/embedding_sources.py -> build/bdist.linux-armv7l/wheel/./shortcut_detect 2026-03-27T20:57:26,373 copying build/lib/shortcut_detect/unified.py -> build/bdist.linux-armv7l/wheel/./shortcut_detect 2026-03-27T20:57:26,376 copying build/lib/shortcut_detect/__init__.py -> build/bdist.linux-armv7l/wheel/./shortcut_detect 2026-03-27T20:57:26,378 creating build/bdist.linux-armv7l/wheel/shortcut_detect/frequency 2026-03-27T20:57:26,379 copying build/lib/shortcut_detect/frequency/builder.py -> build/bdist.linux-armv7l/wheel/./shortcut_detect/frequency 2026-03-27T20:57:26,381 copying build/lib/shortcut_detect/frequency/detector.py -> build/bdist.linux-armv7l/wheel/./shortcut_detect/frequency 2026-03-27T20:57:26,383 copying build/lib/shortcut_detect/frequency/frequency_detector.py -> build/bdist.linux-armv7l/wheel/./shortcut_detect/frequency 2026-03-27T20:57:26,385 copying build/lib/shortcut_detect/frequency/plugin.py -> build/bdist.linux-armv7l/wheel/./shortcut_detect/frequency 2026-03-27T20:57:26,387 copying build/lib/shortcut_detect/frequency/sensitivity.py -> build/bdist.linux-armv7l/wheel/./shortcut_detect/frequency 2026-03-27T20:57:26,389 copying build/lib/shortcut_detect/frequency/__init__.py -> build/bdist.linux-armv7l/wheel/./shortcut_detect/frequency 2026-03-27T20:57:26,390 copying build/lib/shortcut_detect/frequency/adcs.py -> build/bdist.linux-armv7l/wheel/./shortcut_detect/frequency 2026-03-27T20:57:26,393 creating build/bdist.linux-armv7l/wheel/shortcut_detect/groupdro 2026-03-27T20:57:26,394 copying build/lib/shortcut_detect/groupdro/groupdro.py -> build/bdist.linux-armv7l/wheel/./shortcut_detect/groupdro 2026-03-27T20:57:26,397 copying build/lib/shortcut_detect/groupdro/builder.py -> build/bdist.linux-armv7l/wheel/./shortcut_detect/groupdro 2026-03-27T20:57:26,399 copying build/lib/shortcut_detect/groupdro/plugin.py -> build/bdist.linux-armv7l/wheel/./shortcut_detect/groupdro 2026-03-27T20:57:26,401 copying build/lib/shortcut_detect/groupdro/__init__.py -> build/bdist.linux-armv7l/wheel/./shortcut_detect/groupdro 2026-03-27T20:57:26,403 creating build/bdist.linux-armv7l/wheel/shortcut_detect/causal 2026-03-27T20:57:26,404 creating build/bdist.linux-armv7l/wheel/shortcut_detect/causal/causal_effect 2026-03-27T20:57:26,406 copying build/lib/shortcut_detect/causal/causal_effect/registry.py -> build/bdist.linux-armv7l/wheel/./shortcut_detect/causal/causal_effect 2026-03-27T20:57:26,407 copying build/lib/shortcut_detect/causal/causal_effect/builder.py -> build/bdist.linux-armv7l/wheel/./shortcut_detect/causal/causal_effect 2026-03-27T20:57:26,410 creating build/bdist.linux-armv7l/wheel/shortcut_detect/causal/causal_effect/src 2026-03-27T20:57:26,411 copying build/lib/shortcut_detect/causal/causal_effect/src/detector.py -> build/bdist.linux-armv7l/wheel/./shortcut_detect/causal/causal_effect/src 2026-03-27T20:57:26,413 copying build/lib/shortcut_detect/causal/causal_effect/src/__init__.py -> build/bdist.linux-armv7l/wheel/./shortcut_detect/causal/causal_effect/src 2026-03-27T20:57:26,415 copying build/lib/shortcut_detect/causal/causal_effect/__init__.py -> build/bdist.linux-armv7l/wheel/./shortcut_detect/causal/causal_effect 2026-03-27T20:57:26,417 creating build/bdist.linux-armv7l/wheel/shortcut_detect/causal/generative_cvae 2026-03-27T20:57:26,418 copying build/lib/shortcut_detect/causal/generative_cvae/registry.py -> build/bdist.linux-armv7l/wheel/./shortcut_detect/causal/generative_cvae 2026-03-27T20:57:26,420 copying build/lib/shortcut_detect/causal/generative_cvae/builder.py -> build/bdist.linux-armv7l/wheel/./shortcut_detect/causal/generative_cvae 2026-03-27T20:57:26,422 creating build/bdist.linux-armv7l/wheel/shortcut_detect/causal/generative_cvae/src 2026-03-27T20:57:26,423 copying build/lib/shortcut_detect/causal/generative_cvae/src/detector.py -> build/bdist.linux-armv7l/wheel/./shortcut_detect/causal/generative_cvae/src 2026-03-27T20:57:26,425 copying build/lib/shortcut_detect/causal/generative_cvae/src/__init__.py -> build/bdist.linux-armv7l/wheel/./shortcut_detect/causal/generative_cvae/src 2026-03-27T20:57:26,427 copying build/lib/shortcut_detect/causal/generative_cvae/__init__.py -> build/bdist.linux-armv7l/wheel/./shortcut_detect/causal/generative_cvae 2026-03-27T20:57:26,428 copying build/lib/shortcut_detect/causal/causal_effect_detector.py -> build/bdist.linux-armv7l/wheel/./shortcut_detect/causal 2026-03-27T20:57:26,430 copying build/lib/shortcut_detect/causal/plugin.py -> build/bdist.linux-armv7l/wheel/./shortcut_detect/causal 2026-03-27T20:57:26,432 copying build/lib/shortcut_detect/causal/__init__.py -> build/bdist.linux-armv7l/wheel/./shortcut_detect/causal 2026-03-27T20:57:26,434 copying build/lib/shortcut_detect/detector_template.py -> build/bdist.linux-armv7l/wheel/./shortcut_detect 2026-03-27T20:57:26,436 running install_egg_info 2026-03-27T20:57:26,441 Copying shortkit_ml.egg-info to build/bdist.linux-armv7l/wheel/./shortkit_ml-0.1.0-py3.11.egg-info 2026-03-27T20:57:26,452 running install_scripts 2026-03-27T20:57:26,464 creating build/bdist.linux-armv7l/wheel/shortkit_ml-0.1.0.dist-info/WHEEL 2026-03-27T20:57:26,466 creating '/tmp/pip-wheel-nws4l9kv/.tmp-eincma_s/shortkit_ml-0.1.0-py3-none-any.whl' and adding 'build/bdist.linux-armv7l/wheel' to it 2026-03-27T20:57:26,469 adding 'shortcut_detect/__init__.py' 2026-03-27T20:57:26,471 adding 'shortcut_detect/base_builder.py' 2026-03-27T20:57:26,472 adding 'shortcut_detect/datasets.py' 2026-03-27T20:57:26,475 adding 'shortcut_detect/detector_base.py' 2026-03-27T20:57:26,477 adding 'shortcut_detect/detector_template.py' 2026-03-27T20:57:26,478 adding 'shortcut_detect/discovery.py' 2026-03-27T20:57:26,480 adding 'shortcut_detect/embedding_sources.py' 2026-03-27T20:57:26,482 adding 'shortcut_detect/gradcam.py' 2026-03-27T20:57:26,484 adding 'shortcut_detect/mcp_server.py' 2026-03-27T20:57:26,486 adding 'shortcut_detect/metrics.py' 2026-03-27T20:57:26,487 adding 'shortcut_detect/model_registry.py' 2026-03-27T20:57:26,490 adding 'shortcut_detect/unified.py' 2026-03-27T20:57:26,491 adding 'shortcut_detect/utils.py' 2026-03-27T20:57:26,493 adding 'shortcut_detect/benchmark/__init__.py' 2026-03-27T20:57:26,495 adding 'shortcut_detect/benchmark/baseline_comparison.py' 2026-03-27T20:57:26,497 adding 'shortcut_detect/benchmark/chexpert_extraction.py' 2026-03-27T20:57:26,499 adding 'shortcut_detect/benchmark/convergence_viz.py' 2026-03-27T20:57:26,502 adding 'shortcut_detect/benchmark/figures.py' 2026-03-27T20:57:26,503 adding 'shortcut_detect/benchmark/fp_analysis.py' 2026-03-27T20:57:26,506 adding 'shortcut_detect/benchmark/measurement.py' 2026-03-27T20:57:26,507 adding 'shortcut_detect/benchmark/method_utils.py' 2026-03-27T20:57:26,508 adding 'shortcut_detect/benchmark/paper_run.py' 2026-03-27T20:57:26,513 adding 'shortcut_detect/benchmark/paper_runner.py' 2026-03-27T20:57:26,514 adding 'shortcut_detect/benchmark/run.py' 2026-03-27T20:57:26,518 adding 'shortcut_detect/benchmark/runner.py' 2026-03-27T20:57:26,520 adding 'shortcut_detect/benchmark/sensitivity.py' 2026-03-27T20:57:26,521 adding 'shortcut_detect/benchmark/synthetic.py' 2026-03-27T20:57:26,524 adding 'shortcut_detect/benchmark/synthetic_generator.py' 2026-03-27T20:57:26,525 adding 'shortcut_detect/causal/__init__.py' 2026-03-27T20:57:26,526 adding 'shortcut_detect/causal/causal_effect_detector.py' 2026-03-27T20:57:26,527 adding 'shortcut_detect/causal/plugin.py' 2026-03-27T20:57:26,529 adding 'shortcut_detect/causal/causal_effect/__init__.py' 2026-03-27T20:57:26,530 adding 'shortcut_detect/causal/causal_effect/builder.py' 2026-03-27T20:57:26,531 adding 'shortcut_detect/causal/causal_effect/registry.py' 2026-03-27T20:57:26,533 adding 'shortcut_detect/causal/causal_effect/src/__init__.py' 2026-03-27T20:57:26,535 adding 'shortcut_detect/causal/causal_effect/src/detector.py' 2026-03-27T20:57:26,536 adding 'shortcut_detect/causal/generative_cvae/__init__.py' 2026-03-27T20:57:26,538 adding 'shortcut_detect/causal/generative_cvae/builder.py' 2026-03-27T20:57:26,539 adding 'shortcut_detect/causal/generative_cvae/registry.py' 2026-03-27T20:57:26,540 adding 'shortcut_detect/causal/generative_cvae/src/__init__.py' 2026-03-27T20:57:26,542 adding 'shortcut_detect/causal/generative_cvae/src/detector.py' 2026-03-27T20:57:26,544 adding 'shortcut_detect/clustering/__init__.py' 2026-03-27T20:57:26,546 adding 'shortcut_detect/clustering/builder.py' 2026-03-27T20:57:26,548 adding 'shortcut_detect/clustering/hbac_detector.py' 2026-03-27T20:57:26,549 adding 'shortcut_detect/clustering/plugin.py' 2026-03-27T20:57:26,551 adding 'shortcut_detect/comparison/__init__.py' 2026-03-27T20:57:26,553 adding 'shortcut_detect/comparison/runner.py' 2026-03-27T20:57:26,555 adding 'shortcut_detect/conditions/__init__.py' 2026-03-27T20:57:26,556 adding 'shortcut_detect/conditions/base.py' 2026-03-27T20:57:26,557 adding 'shortcut_detect/conditions/indicator_count.py' 2026-03-27T20:57:26,558 adding 'shortcut_detect/conditions/majority_vote.py' 2026-03-27T20:57:26,560 adding 'shortcut_detect/conditions/meta_classifier.py' 2026-03-27T20:57:26,561 adding 'shortcut_detect/conditions/meta_model.joblib' 2026-03-27T20:57:26,563 adding 'shortcut_detect/conditions/meta_model.meta.json' 2026-03-27T20:57:26,564 adding 'shortcut_detect/conditions/multi_attribute.py' 2026-03-27T20:57:26,565 adding 'shortcut_detect/conditions/registry.py' 2026-03-27T20:57:26,567 adding 'shortcut_detect/conditions/weighted_risk.py' 2026-03-27T20:57:26,569 adding 'shortcut_detect/fairness/__init__.py' 2026-03-27T20:57:26,570 adding 'shortcut_detect/fairness/plugin.py' 2026-03-27T20:57:26,571 adding 'shortcut_detect/fairness/demographic_parity/__init__.py' 2026-03-27T20:57:26,573 adding 'shortcut_detect/fairness/demographic_parity/builder.py' 2026-03-27T20:57:26,574 adding 'shortcut_detect/fairness/demographic_parity/registry.py' 2026-03-27T20:57:26,575 adding 'shortcut_detect/fairness/demographic_parity/src/__init__.py' 2026-03-27T20:57:26,577 adding 'shortcut_detect/fairness/demographic_parity/src/detector.py' 2026-03-27T20:57:26,579 adding 'shortcut_detect/fairness/equalized_odds/__init__.py' 2026-03-27T20:57:26,580 adding 'shortcut_detect/fairness/equalized_odds/builder.py' 2026-03-27T20:57:26,581 adding 'shortcut_detect/fairness/equalized_odds/registry.py' 2026-03-27T20:57:26,583 adding 'shortcut_detect/fairness/equalized_odds/src/__init__.py' 2026-03-27T20:57:26,584 adding 'shortcut_detect/fairness/equalized_odds/src/detector.py' 2026-03-27T20:57:26,586 adding 'shortcut_detect/fairness/intersectional/__init__.py' 2026-03-27T20:57:26,587 adding 'shortcut_detect/fairness/intersectional/builder.py' 2026-03-27T20:57:26,588 adding 'shortcut_detect/fairness/intersectional/registry.py' 2026-03-27T20:57:26,590 adding 'shortcut_detect/fairness/intersectional/src/__init__.py' 2026-03-27T20:57:26,591 adding 'shortcut_detect/fairness/intersectional/src/detector.py' 2026-03-27T20:57:26,593 adding 'shortcut_detect/frequency/__init__.py' 2026-03-27T20:57:26,594 adding 'shortcut_detect/frequency/adcs.py' 2026-03-27T20:57:26,595 adding 'shortcut_detect/frequency/builder.py' 2026-03-27T20:57:26,597 adding 'shortcut_detect/frequency/detector.py' 2026-03-27T20:57:26,598 adding 'shortcut_detect/frequency/frequency_detector.py' 2026-03-27T20:57:26,599 adding 'shortcut_detect/frequency/plugin.py' 2026-03-27T20:57:26,600 adding 'shortcut_detect/frequency/sensitivity.py' 2026-03-27T20:57:26,602 adding 'shortcut_detect/gce/__init__.py' 2026-03-27T20:57:26,603 adding 'shortcut_detect/gce/builder.py' 2026-03-27T20:57:26,605 adding 'shortcut_detect/gce/gce_detector.py' 2026-03-27T20:57:26,606 adding 'shortcut_detect/gce/plugin.py' 2026-03-27T20:57:26,608 adding 'shortcut_detect/geometric/__init__.py' 2026-03-27T20:57:26,609 adding 'shortcut_detect/geometric/plugin.py' 2026-03-27T20:57:26,610 adding 'shortcut_detect/geometric/bias_direction_pca/__init__.py' 2026-03-27T20:57:26,611 adding 'shortcut_detect/geometric/bias_direction_pca/builder.py' 2026-03-27T20:57:26,613 adding 'shortcut_detect/geometric/bias_direction_pca/registry.py' 2026-03-27T20:57:26,614 adding 'shortcut_detect/geometric/bias_direction_pca/src/__init__.py' 2026-03-27T20:57:26,616 adding 'shortcut_detect/geometric/bias_direction_pca/src/detector.py' 2026-03-27T20:57:26,617 adding 'shortcut_detect/geometric/geometric/__init__.py' 2026-03-27T20:57:26,619 adding 'shortcut_detect/geometric/geometric/builder.py' 2026-03-27T20:57:26,620 adding 'shortcut_detect/geometric/geometric/registry.py' 2026-03-27T20:57:26,621 adding 'shortcut_detect/geometric/geometric/src/__init__.py' 2026-03-27T20:57:26,623 adding 'shortcut_detect/geometric/geometric/src/detector.py' 2026-03-27T20:57:26,625 adding 'shortcut_detect/groupdro/__init__.py' 2026-03-27T20:57:26,626 adding 'shortcut_detect/groupdro/builder.py' 2026-03-27T20:57:26,630 adding 'shortcut_detect/groupdro/groupdro.py' 2026-03-27T20:57:26,632 adding 'shortcut_detect/groupdro/plugin.py' 2026-03-27T20:57:26,634 adding 'shortcut_detect/mitigation/__init__.py' 2026-03-27T20:57:26,635 adding 'shortcut_detect/mitigation/adversarial_debiasing.py' 2026-03-27T20:57:26,637 adding 'shortcut_detect/mitigation/background_randomizer.py' 2026-03-27T20:57:26,639 adding 'shortcut_detect/mitigation/contrastive_debiasing.py' 2026-03-27T20:57:26,640 adding 'shortcut_detect/mitigation/explanation_regularization.py' 2026-03-27T20:57:26,642 adding 'shortcut_detect/mitigation/last_layer_retraining.py' 2026-03-27T20:57:26,644 adding 'shortcut_detect/mitigation/shortcut_masking.py' 2026-03-27T20:57:26,646 adding 'shortcut_detect/probes/__init__.py' 2026-03-27T20:57:26,647 adding 'shortcut_detect/probes/builder.py' 2026-03-27T20:57:26,648 adding 'shortcut_detect/probes/pipeline.py' 2026-03-27T20:57:26,650 adding 'shortcut_detect/probes/plugin.py' 2026-03-27T20:57:26,651 adding 'shortcut_detect/probes/probe_factory.py' 2026-03-27T20:57:26,653 adding 'shortcut_detect/probes/sklearn_probe.py' 2026-03-27T20:57:26,656 adding 'shortcut_detect/probes/torch_probe.py' 2026-03-27T20:57:26,658 adding 'shortcut_detect/reporting/__init__.py' 2026-03-27T20:57:26,660 adding 'shortcut_detect/reporting/comparison_report.py' 2026-03-27T20:57:26,663 adding 'shortcut_detect/reporting/csv_export.py' 2026-03-27T20:57:26,671 adding 'shortcut_detect/reporting/report_builder.py' 2026-03-27T20:57:26,673 adding 'shortcut_detect/reporting/reporters.py' 2026-03-27T20:57:26,675 adding 'shortcut_detect/reporting/risk_format.py' 2026-03-27T20:57:26,677 adding 'shortcut_detect/reporting/visualizations.py' 2026-03-27T20:57:26,679 adding 'shortcut_detect/ssa/__init__.py' 2026-03-27T20:57:26,680 adding 'shortcut_detect/ssa/builder.py' 2026-03-27T20:57:26,681 adding 'shortcut_detect/ssa/plugin.py' 2026-03-27T20:57:26,684 adding 'shortcut_detect/ssa/ssa.py' 2026-03-27T20:57:26,686 adding 'shortcut_detect/statistical/__init__.py' 2026-03-27T20:57:26,687 adding 'shortcut_detect/statistical/builder.py' 2026-03-27T20:57:26,689 adding 'shortcut_detect/statistical/group_diff_test.py' 2026-03-27T20:57:26,690 adding 'shortcut_detect/statistical/plugin.py' 2026-03-27T20:57:26,691 adding 'shortcut_detect/training/__init__.py' 2026-03-27T20:57:26,693 adding 'shortcut_detect/training/builder.py' 2026-03-27T20:57:26,694 adding 'shortcut_detect/training/data_adapters.py' 2026-03-27T20:57:26,696 adding 'shortcut_detect/training/early_epoch_clustering.py' 2026-03-27T20:57:26,697 adding 'shortcut_detect/training/loader_hooks.py' 2026-03-27T20:57:26,698 adding 'shortcut_detect/training/plugin.py' 2026-03-27T20:57:26,700 adding 'shortcut_detect/vae/__init__.py' 2026-03-27T20:57:26,701 adding 'shortcut_detect/vae/builder.py' 2026-03-27T20:57:26,703 adding 'shortcut_detect/vae/latent_analyzer.py' 2026-03-27T20:57:26,704 adding 'shortcut_detect/vae/plugin.py' 2026-03-27T20:57:26,705 adding 'shortcut_detect/vae/vae_arch.py' 2026-03-27T20:57:26,707 adding 'shortcut_detect/vae/vae_detector.py' 2026-03-27T20:57:26,709 adding 'shortcut_detect/xai/__init__.py' 2026-03-27T20:57:26,710 adding 'shortcut_detect/xai/plugin.py' 2026-03-27T20:57:26,712 adding 'shortcut_detect/xai/spray_detector.py' 2026-03-27T20:57:26,714 adding 'shortcut_detect/xai/cav/__init__.py' 2026-03-27T20:57:26,716 adding 'shortcut_detect/xai/cav/builder.py' 2026-03-27T20:57:26,717 adding 'shortcut_detect/xai/cav/registry.py' 2026-03-27T20:57:26,718 adding 'shortcut_detect/xai/cav/src/__init__.py' 2026-03-27T20:57:26,720 adding 'shortcut_detect/xai/cav/src/detector.py' 2026-03-27T20:57:26,722 adding 'shortcut_detect/xai/gradcam_mask_overlap/__init__.py' 2026-03-27T20:57:26,723 adding 'shortcut_detect/xai/gradcam_mask_overlap/builder.py' 2026-03-27T20:57:26,724 adding 'shortcut_detect/xai/gradcam_mask_overlap/registry.py' 2026-03-27T20:57:26,726 adding 'shortcut_detect/xai/gradcam_mask_overlap/src/__init__.py' 2026-03-27T20:57:26,728 adding 'shortcut_detect/xai/gradcam_mask_overlap/src/detector.py' 2026-03-27T20:57:26,730 adding 'shortcut_detect/xai/sis/__init__.py' 2026-03-27T20:57:26,731 adding 'shortcut_detect/xai/sis/builder.py' 2026-03-27T20:57:26,732 adding 'shortcut_detect/xai/sis/registry.py' 2026-03-27T20:57:26,734 adding 'shortcut_detect/xai/sis/src/__init__.py' 2026-03-27T20:57:26,736 adding 'shortcut_detect/xai/sis/src/detector.py' 2026-03-27T20:57:26,738 adding 'shortkit_ml-0.1.0.dist-info/licenses/LICENSE' 2026-03-27T20:57:26,741 adding 'shortkit_ml-0.1.0.dist-info/METADATA' 2026-03-27T20:57:26,743 adding 'shortkit_ml-0.1.0.dist-info/WHEEL' 2026-03-27T20:57:26,744 adding 'shortkit_ml-0.1.0.dist-info/entry_points.txt' 2026-03-27T20:57:26,744 adding 'shortkit_ml-0.1.0.dist-info/top_level.txt' 2026-03-27T20:57:26,747 adding 'shortkit_ml-0.1.0.dist-info/RECORD' 2026-03-27T20:57:26,753 removing build/bdist.linux-armv7l/wheel 2026-03-27T20:57:26,900 Building wheel for shortkit-ml (pyproject.toml): finished with status 'done' 2026-03-27T20:57:26,912 Created wheel for shortkit-ml: filename=shortkit_ml-0.1.0-py3-none-any.whl size=292783 sha256=c794bc25773d611625a98fdd5fe034d58c463c00dafb706c0bdeda4ecdfa218d 2026-03-27T20:57:26,913 Stored in directory: /tmp/pip-ephem-wheel-cache-hjgx9qb5/wheels/29/b2/49/97b64ff77d9d6fba8146c09b667198b60e2d87c38fec32e4d5 2026-03-27T20:57:26,933 Successfully built shortkit-ml 2026-03-27T20:57:26,949 Removed build tracker: '/tmp/pip-build-tracker-1s1_3l57'