2026-02-10T04:07:05,713 Created temporary directory: /tmp/pip-ephem-wheel-cache-hbblmwjm 2026-02-10T04:07:05,715 Created temporary directory: /tmp/pip-build-tracker-i7x8al4k 2026-02-10T04:07:05,716 Initialized build tracking at /tmp/pip-build-tracker-i7x8al4k 2026-02-10T04:07:05,716 Created build tracker: /tmp/pip-build-tracker-i7x8al4k 2026-02-10T04:07:05,716 Entered build tracker: /tmp/pip-build-tracker-i7x8al4k 2026-02-10T04:07:05,717 Created temporary directory: /tmp/pip-wheel-0qk4vpd_ 2026-02-10T04:07:05,720 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-02-10T04:07:05,723 Created temporary directory: /tmp/pip-ephem-wheel-cache-cu5bk7ph 2026-02-10T04:07:05,744 Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple 2026-02-10T04:07:05,747 2 location(s) to search for versions of kontra: 2026-02-10T04:07:05,747 * https://pypi.org/simple/kontra/ 2026-02-10T04:07:05,747 * https://www.piwheels.org/simple/kontra/ 2026-02-10T04:07:05,748 Fetching project page and analyzing links: https://pypi.org/simple/kontra/ 2026-02-10T04:07:05,749 Getting page https://pypi.org/simple/kontra/ 2026-02-10T04:07:05,750 Found index url https://pypi.org/simple 2026-02-10T04:07:05,892 Fetched page https://pypi.org/simple/kontra/ as application/vnd.pypi.simple.v1+json 2026-02-10T04:07:05,898 Skipping link: No binaries permitted for kontra: https://files.pythonhosted.org/packages/0a/07/c8518e168cfba25cb77227929ac1937ec07347b2c886237a5d3c6e6a81b2/kontra-0.0.0-py2.py3-none-any.whl (from https://pypi.org/simple/kontra/) 2026-02-10T04:07:05,898 Found link https://files.pythonhosted.org/packages/9f/98/f7e5fdb8e4d4f60400a937f987c2767e8d6158ae51a44af8df72403ce4e6/kontra-0.0.0.tar.gz (from https://pypi.org/simple/kontra/), version: 0.0.0 2026-02-10T04:07:05,899 Skipping link: No binaries permitted for kontra: https://files.pythonhosted.org/packages/f4/97/a6b39f1beae8011b50dc92ceeb27a7a3ac5e8d36ebbdf9fb7f0767e39f74/kontra-0.5.0-py3-none-any.whl (from https://pypi.org/simple/kontra/) (requires-python:>=3.10) 2026-02-10T04:07:05,900 Found link https://files.pythonhosted.org/packages/bc/e1/a397c38ccac95532804a8804ce069796e04d28f8492998b9d641ec69c9c3/kontra-0.5.0.tar.gz (from https://pypi.org/simple/kontra/) (requires-python:>=3.10), version: 0.5.0 2026-02-10T04:07:05,901 Skipping link: No binaries permitted for kontra: https://files.pythonhosted.org/packages/9c/3f/471896ee5058f91c3299c1699152b6b50ed4cd21fb3090d0294e9e1e46e1/kontra-0.5.1-py3-none-any.whl (from https://pypi.org/simple/kontra/) (requires-python:>=3.10) 2026-02-10T04:07:05,902 Found link https://files.pythonhosted.org/packages/21/59/a06ad9ddc8852579c8bcf86ca17e1c981d6ab91efc26a2ba8e99ab135f3a/kontra-0.5.1.tar.gz (from https://pypi.org/simple/kontra/) (requires-python:>=3.10), version: 0.5.1 2026-02-10T04:07:05,903 Skipping link: No binaries permitted for kontra: https://files.pythonhosted.org/packages/06/09/ae443e085a9d064c8af8fff7961552eef10180e6fda73fb222bddd154829/kontra-0.5.2-py3-none-any.whl (from https://pypi.org/simple/kontra/) (requires-python:>=3.10) 2026-02-10T04:07:05,904 Found link https://files.pythonhosted.org/packages/3f/c0/53ba905d657dcf478ff95a61eab5939cd796819067a8a567c37479acef20/kontra-0.5.2.tar.gz (from https://pypi.org/simple/kontra/) (requires-python:>=3.10), version: 0.5.2 2026-02-10T04:07:05,905 Skipping link: No binaries permitted for kontra: https://files.pythonhosted.org/packages/cf/d5/7fb1ff6d06338d55f99d41dc3e39c1f6752f5dfe61c01ed151773ad564aa/kontra-0.5.3-py3-none-any.whl (from https://pypi.org/simple/kontra/) (requires-python:>=3.10) 2026-02-10T04:07:05,905 Found link https://files.pythonhosted.org/packages/00/4e/3f05ce884f941011b3791e8fd988d031f9d80fbe3cad6d7151bae7b0fc75/kontra-0.5.3.tar.gz (from https://pypi.org/simple/kontra/) (requires-python:>=3.10), version: 0.5.3 2026-02-10T04:07:05,906 Skipping link: No binaries permitted for kontra: https://files.pythonhosted.org/packages/11/29/8118c0e1f5eeffbd561f7b2f6181108f1f2cec0928704f821afeef011064/kontra-0.5.4-py3-none-any.whl (from https://pypi.org/simple/kontra/) (requires-python:>=3.10) 2026-02-10T04:07:05,907 Found link https://files.pythonhosted.org/packages/69/12/03431ed689e71926d1250a8fbda43b99c861e43db472182dfc8b029b0a1d/kontra-0.5.4.tar.gz (from https://pypi.org/simple/kontra/) (requires-python:>=3.10), version: 0.5.4 2026-02-10T04:07:05,908 Skipping link: No binaries permitted for kontra: https://files.pythonhosted.org/packages/0e/27/b0f4951a8e045852f30e70cf386fcb34d26bcdd8a054b409c8542450cc64/kontra-0.6.0-py3-none-any.whl (from https://pypi.org/simple/kontra/) (requires-python:>=3.10) 2026-02-10T04:07:05,909 Found link https://files.pythonhosted.org/packages/f1/ca/d9b1aefc3e817ef55a0d4827adcacc3472f909defb7ea3b3ebceb97952de/kontra-0.6.0.tar.gz (from https://pypi.org/simple/kontra/) (requires-python:>=3.10), version: 0.6.0 2026-02-10T04:07:05,909 Skipping link: No binaries permitted for kontra: https://files.pythonhosted.org/packages/8e/8c/0d51d0b667b61294e343ae37fa0d9e35f4e1242dab5199428c7348f32e88/kontra-0.6.1-py3-none-any.whl (from https://pypi.org/simple/kontra/) (requires-python:>=3.10) 2026-02-10T04:07:05,910 Found link https://files.pythonhosted.org/packages/ff/08/3d83a7271f52e8ef25125502bebebae5939a95789a00b05fe45250c13866/kontra-0.6.1.tar.gz (from https://pypi.org/simple/kontra/) (requires-python:>=3.10), version: 0.6.1 2026-02-10T04:07:05,911 Skipping link: No binaries permitted for kontra: https://files.pythonhosted.org/packages/8f/06/43e7a461597eb31e7d4c1871982d73d5c41c37870135ada96bff429ec46c/kontra-0.6.2-py3-none-any.whl (from https://pypi.org/simple/kontra/) (requires-python:>=3.10) 2026-02-10T04:07:05,912 Found link https://files.pythonhosted.org/packages/c6/09/550250bcf89df425f648005f2a374f49f50359a30f21015e788c58073774/kontra-0.6.2.tar.gz (from https://pypi.org/simple/kontra/) (requires-python:>=3.10), version: 0.6.2 2026-02-10T04:07:05,912 Skipping link: No binaries permitted for kontra: https://files.pythonhosted.org/packages/71/23/55b6fb7ad31c87fdec7cbe6bdc3ad1c77c395d9c78501d6980cfc7370a98/kontra-0.6.3-py3-none-any.whl (from https://pypi.org/simple/kontra/) (requires-python:>=3.10) 2026-02-10T04:07:05,913 Found link https://files.pythonhosted.org/packages/2d/23/676bfc9952b36404e97982740bdf7a23c22b66a9b57c3efb6f850bf1fb3f/kontra-0.6.3.tar.gz (from https://pypi.org/simple/kontra/) (requires-python:>=3.10), version: 0.6.3 2026-02-10T04:07:05,914 Fetching project page and analyzing links: https://www.piwheels.org/simple/kontra/ 2026-02-10T04:07:05,915 Getting page https://www.piwheels.org/simple/kontra/ 2026-02-10T04:07:05,916 Found index url https://www.piwheels.org/simple 2026-02-10T04:07:06,073 Fetched page https://www.piwheels.org/simple/kontra/ as text/html 2026-02-10T04:07:06,076 Skipping link: No binaries permitted for kontra: https://www.piwheels.org/simple/kontra/kontra-0.5.3-py3-none-any.whl#sha256=3ef2f236a108202d8b8370f7e2a2d498aa9f71cfd06bc85bed546e30dcfab1ea (from https://www.piwheels.org/simple/kontra/) (requires-python:>=3.10) 2026-02-10T04:07:06,076 Skipping link: No binaries permitted for kontra: https://www.piwheels.org/simple/kontra/kontra-0.5.2-py3-none-any.whl#sha256=022194aa46e346efdd0d1425a26ca01bb674fcd8f8e60c2522a6fef9bd0981e5 (from https://www.piwheels.org/simple/kontra/) (requires-python:>=3.10) 2026-02-10T04:07:06,077 Skipping link: No binaries permitted for kontra: https://www.piwheels.org/simple/kontra/kontra-0.5.1-py3-none-any.whl#sha256=6b47019a1fccf8a03aaf5d61d983ea150a3a4c81365f7439bcc8f06a8722ffb2 (from https://www.piwheels.org/simple/kontra/) (requires-python:>=3.10) 2026-02-10T04:07:06,078 Skipping link: No binaries permitted for kontra: https://www.piwheels.org/simple/kontra/kontra-0.5.0-py3-none-any.whl#sha256=f10d2677ec7ddb384cf4b635f5e33d540bb5dcd5ae1ebbf108c0c3224ee3b3df (from https://www.piwheels.org/simple/kontra/) (requires-python:>=3.10) 2026-02-10T04:07:06,078 Skipping link: No binaries permitted for kontra: https://archive1.piwheels.org/simple/kontra/kontra-0.0.0-py2.py3-none-any.whl#sha256=e20805ed205f1e629843ad58d8b0fce87be678f08b49d47c00a759e33419256a (from https://www.piwheels.org/simple/kontra/) 2026-02-10T04:07:06,079 Skipping link: not a file: https://www.piwheels.org/simple/kontra/ 2026-02-10T04:07:06,080 Skipping link: not a file: https://pypi.org/simple/kontra/ 2026-02-10T04:07:06,099 Given no hashes to check 1 links for project 'kontra': discarding no candidates 2026-02-10T04:07:06,117 Collecting kontra==0.5.4 2026-02-10T04:07:06,119 Created temporary directory: /tmp/pip-unpack-75libbdj 2026-02-10T04:07:06,335 Downloading kontra-0.5.4.tar.gz (336 kB) 2026-02-10T04:07:06,800 Added kontra==0.5.4 from https://files.pythonhosted.org/packages/69/12/03431ed689e71926d1250a8fbda43b99c861e43db472182dfc8b029b0a1d/kontra-0.5.4.tar.gz to build tracker '/tmp/pip-build-tracker-i7x8al4k' 2026-02-10T04:07:06,805 Created temporary directory: /tmp/pip-build-env-mad0ha53 2026-02-10T04:07:06,810 Installing build dependencies: started 2026-02-10T04:07:06,811 Running command pip subprocess to install build dependencies 2026-02-10T04:07:07,982 Using pip 23.0.1 from /usr/lib/python3/dist-packages/pip (python 3.11) 2026-02-10T04:07:08,607 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-02-10T04:07:08,631 Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple 2026-02-10T04:07:10,372 Collecting setuptools>=69 2026-02-10T04:07:10,392 Using cached setuptools-82.0.0-py3-none-any.whl (1.0 MB) 2026-02-10T04:07:10,666 Collecting wheel 2026-02-10T04:07:10,680 Using cached https://www.piwheels.org/simple/wheel/wheel-0.46.3-py3-none-any.whl (30 kB) 2026-02-10T04:07:10,864 Collecting packaging>=24.0 2026-02-10T04:07:10,882 Using cached https://www.piwheels.org/simple/packaging/packaging-26.0-py3-none-any.whl (74 kB) 2026-02-10T04:07:13,872 Installing collected packages: setuptools, packaging, wheel 2026-02-10T04:07:17,253 Creating /tmp/pip-build-env-mad0ha53/overlay/local/bin 2026-02-10T04:07:17,255 changing mode of /tmp/pip-build-env-mad0ha53/overlay/local/bin/wheel to 755 2026-02-10T04:07:17,276 Successfully installed packaging-26.0 setuptools-82.0.0 wheel-0.46.3 2026-02-10T04:07:17,552 Installing build dependencies: finished with status 'done' 2026-02-10T04:07:17,558 Getting requirements to build wheel: started 2026-02-10T04:07:17,559 Running command Getting requirements to build wheel 2026-02-10T04:07:18,180 /tmp/pip-build-env-mad0ha53/overlay/local/lib/python3.11/dist-packages/setuptools/config/_apply_pyprojecttoml.py:82: SetuptoolsDeprecationWarning: `project.license` as a TOML table is deprecated 2026-02-10T04:07:18,180 !! 2026-02-10T04:07:18,182 ******************************************************************************** 2026-02-10T04:07:18,182 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-02-10T04:07:18,183 By 2027-Feb-18, you need to update your project and remove deprecated calls 2026-02-10T04:07:18,184 or your builds will no longer be supported. 2026-02-10T04:07:18,185 See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. 2026-02-10T04:07:18,186 ******************************************************************************** 2026-02-10T04:07:18,187 !! 2026-02-10T04:07:18,187 corresp(dist, value, root_dir) 2026-02-10T04:07:18,259 /tmp/pip-build-env-mad0ha53/overlay/local/lib/python3.11/dist-packages/setuptools/config/_apply_pyprojecttoml.py:61: SetuptoolsDeprecationWarning: License classifiers are deprecated. 2026-02-10T04:07:18,259 !! 2026-02-10T04:07:18,260 ******************************************************************************** 2026-02-10T04:07:18,261 Please consider removing the following classifiers in favor of a SPDX license expression: 2026-02-10T04:07:18,262 License :: OSI Approved :: Apache Software License 2026-02-10T04:07:18,262 See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. 2026-02-10T04:07:18,263 ******************************************************************************** 2026-02-10T04:07:18,264 !! 2026-02-10T04:07:18,264 dist._finalize_license_expression() 2026-02-10T04:07:18,265 /tmp/pip-build-env-mad0ha53/overlay/local/lib/python3.11/dist-packages/setuptools/dist.py:765: SetuptoolsDeprecationWarning: License classifiers are deprecated. 2026-02-10T04:07:18,265 !! 2026-02-10T04:07:18,266 ******************************************************************************** 2026-02-10T04:07:18,267 Please consider removing the following classifiers in favor of a SPDX license expression: 2026-02-10T04:07:18,268 License :: OSI Approved :: Apache Software License 2026-02-10T04:07:18,269 See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. 2026-02-10T04:07:18,269 ******************************************************************************** 2026-02-10T04:07:18,270 !! 2026-02-10T04:07:18,271 self._finalize_license_expression() 2026-02-10T04:07:18,272 running egg_info 2026-02-10T04:07:18,274 writing src/kontra.egg-info/PKG-INFO 2026-02-10T04:07:18,280 writing dependency_links to src/kontra.egg-info/dependency_links.txt 2026-02-10T04:07:18,281 writing entry points to src/kontra.egg-info/entry_points.txt 2026-02-10T04:07:18,285 writing requirements to src/kontra.egg-info/requires.txt 2026-02-10T04:07:18,286 writing top-level names to src/kontra.egg-info/top_level.txt 2026-02-10T04:07:18,328 reading manifest file 'src/kontra.egg-info/SOURCES.txt' 2026-02-10T04:07:18,338 adding license file 'LICENSE' 2026-02-10T04:07:18,347 writing manifest file 'src/kontra.egg-info/SOURCES.txt' 2026-02-10T04:07:18,443 Getting requirements to build wheel: finished with status 'done' 2026-02-10T04:07:18,447 Created temporary directory: /tmp/pip-modern-metadata-w3xgfggd 2026-02-10T04:07:18,449 Preparing metadata (pyproject.toml): started 2026-02-10T04:07:18,450 Running command Preparing metadata (pyproject.toml) 2026-02-10T04:07:19,017 /tmp/pip-build-env-mad0ha53/overlay/local/lib/python3.11/dist-packages/setuptools/config/_apply_pyprojecttoml.py:82: SetuptoolsDeprecationWarning: `project.license` as a TOML table is deprecated 2026-02-10T04:07:19,017 !! 2026-02-10T04:07:19,018 ******************************************************************************** 2026-02-10T04:07:19,019 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-02-10T04:07:19,020 By 2027-Feb-18, you need to update your project and remove deprecated calls 2026-02-10T04:07:19,020 or your builds will no longer be supported. 2026-02-10T04:07:19,022 See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. 2026-02-10T04:07:19,022 ******************************************************************************** 2026-02-10T04:07:19,023 !! 2026-02-10T04:07:19,024 corresp(dist, value, root_dir) 2026-02-10T04:07:19,095 /tmp/pip-build-env-mad0ha53/overlay/local/lib/python3.11/dist-packages/setuptools/config/_apply_pyprojecttoml.py:61: SetuptoolsDeprecationWarning: License classifiers are deprecated. 2026-02-10T04:07:19,095 !! 2026-02-10T04:07:19,097 ******************************************************************************** 2026-02-10T04:07:19,097 Please consider removing the following classifiers in favor of a SPDX license expression: 2026-02-10T04:07:19,098 License :: OSI Approved :: Apache Software License 2026-02-10T04:07:19,099 See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. 2026-02-10T04:07:19,099 ******************************************************************************** 2026-02-10T04:07:19,100 !! 2026-02-10T04:07:19,101 dist._finalize_license_expression() 2026-02-10T04:07:19,101 /tmp/pip-build-env-mad0ha53/overlay/local/lib/python3.11/dist-packages/setuptools/dist.py:765: SetuptoolsDeprecationWarning: License classifiers are deprecated. 2026-02-10T04:07:19,102 !! 2026-02-10T04:07:19,103 ******************************************************************************** 2026-02-10T04:07:19,103 Please consider removing the following classifiers in favor of a SPDX license expression: 2026-02-10T04:07:19,104 License :: OSI Approved :: Apache Software License 2026-02-10T04:07:19,105 See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. 2026-02-10T04:07:19,106 ******************************************************************************** 2026-02-10T04:07:19,106 !! 2026-02-10T04:07:19,107 self._finalize_license_expression() 2026-02-10T04:07:19,108 running dist_info 2026-02-10T04:07:19,119 creating /tmp/pip-modern-metadata-w3xgfggd/kontra.egg-info 2026-02-10T04:07:19,120 writing /tmp/pip-modern-metadata-w3xgfggd/kontra.egg-info/PKG-INFO 2026-02-10T04:07:19,126 writing dependency_links to /tmp/pip-modern-metadata-w3xgfggd/kontra.egg-info/dependency_links.txt 2026-02-10T04:07:19,127 writing entry points to /tmp/pip-modern-metadata-w3xgfggd/kontra.egg-info/entry_points.txt 2026-02-10T04:07:19,131 writing requirements to /tmp/pip-modern-metadata-w3xgfggd/kontra.egg-info/requires.txt 2026-02-10T04:07:19,132 writing top-level names to /tmp/pip-modern-metadata-w3xgfggd/kontra.egg-info/top_level.txt 2026-02-10T04:07:19,133 writing manifest file '/tmp/pip-modern-metadata-w3xgfggd/kontra.egg-info/SOURCES.txt' 2026-02-10T04:07:19,170 reading manifest file '/tmp/pip-modern-metadata-w3xgfggd/kontra.egg-info/SOURCES.txt' 2026-02-10T04:07:19,172 adding license file 'LICENSE' 2026-02-10T04:07:19,180 writing manifest file '/tmp/pip-modern-metadata-w3xgfggd/kontra.egg-info/SOURCES.txt' 2026-02-10T04:07:19,181 creating '/tmp/pip-modern-metadata-w3xgfggd/kontra-0.5.4.dist-info' 2026-02-10T04:07:19,303 Preparing metadata (pyproject.toml): finished with status 'done' 2026-02-10T04:07:19,307 Source in /tmp/pip-wheel-0qk4vpd_/kontra_458f72419fc047e1a08c361bf4424e72 has version 0.5.4, which satisfies requirement kontra==0.5.4 from https://files.pythonhosted.org/packages/69/12/03431ed689e71926d1250a8fbda43b99c861e43db472182dfc8b029b0a1d/kontra-0.5.4.tar.gz 2026-02-10T04:07:19,308 Removed kontra==0.5.4 from https://files.pythonhosted.org/packages/69/12/03431ed689e71926d1250a8fbda43b99c861e43db472182dfc8b029b0a1d/kontra-0.5.4.tar.gz from build tracker '/tmp/pip-build-tracker-i7x8al4k' 2026-02-10T04:07:19,314 Created temporary directory: /tmp/pip-unpack-cy5p35a5 2026-02-10T04:07:19,315 Building wheels for collected packages: kontra 2026-02-10T04:07:19,319 Created temporary directory: /tmp/pip-wheel-ove0il3a 2026-02-10T04:07:19,320 Destination directory: /tmp/pip-wheel-ove0il3a 2026-02-10T04:07:19,322 Building wheel for kontra (pyproject.toml): started 2026-02-10T04:07:19,323 Running command Building wheel for kontra (pyproject.toml) 2026-02-10T04:07:19,875 /tmp/pip-build-env-mad0ha53/overlay/local/lib/python3.11/dist-packages/setuptools/config/_apply_pyprojecttoml.py:82: SetuptoolsDeprecationWarning: `project.license` as a TOML table is deprecated 2026-02-10T04:07:19,875 !! 2026-02-10T04:07:19,876 ******************************************************************************** 2026-02-10T04:07:19,877 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-02-10T04:07:19,878 By 2027-Feb-18, you need to update your project and remove deprecated calls 2026-02-10T04:07:19,878 or your builds will no longer be supported. 2026-02-10T04:07:19,879 See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. 2026-02-10T04:07:19,879 ******************************************************************************** 2026-02-10T04:07:19,880 !! 2026-02-10T04:07:19,881 corresp(dist, value, root_dir) 2026-02-10T04:07:19,945 /tmp/pip-build-env-mad0ha53/overlay/local/lib/python3.11/dist-packages/setuptools/config/_apply_pyprojecttoml.py:61: SetuptoolsDeprecationWarning: License classifiers are deprecated. 2026-02-10T04:07:19,946 !! 2026-02-10T04:07:19,947 ******************************************************************************** 2026-02-10T04:07:19,947 Please consider removing the following classifiers in favor of a SPDX license expression: 2026-02-10T04:07:19,948 License :: OSI Approved :: Apache Software License 2026-02-10T04:07:19,949 See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. 2026-02-10T04:07:19,949 ******************************************************************************** 2026-02-10T04:07:19,951 !! 2026-02-10T04:07:19,951 dist._finalize_license_expression() 2026-02-10T04:07:19,952 /tmp/pip-build-env-mad0ha53/overlay/local/lib/python3.11/dist-packages/setuptools/dist.py:765: SetuptoolsDeprecationWarning: License classifiers are deprecated. 2026-02-10T04:07:19,953 !! 2026-02-10T04:07:19,954 ******************************************************************************** 2026-02-10T04:07:19,954 Please consider removing the following classifiers in favor of a SPDX license expression: 2026-02-10T04:07:19,955 License :: OSI Approved :: Apache Software License 2026-02-10T04:07:19,957 See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. 2026-02-10T04:07:19,957 ******************************************************************************** 2026-02-10T04:07:19,959 !! 2026-02-10T04:07:19,959 self._finalize_license_expression() 2026-02-10T04:07:19,960 running bdist_wheel 2026-02-10T04:07:19,972 running build 2026-02-10T04:07:19,972 running build_py 2026-02-10T04:07:19,978 creating build/lib/kontra 2026-02-10T04:07:19,980 copying src/kontra/logging.py -> build/lib/kontra 2026-02-10T04:07:19,982 copying src/kontra/__init__.py -> build/lib/kontra 2026-02-10T04:07:19,986 copying src/kontra/version.py -> build/lib/kontra 2026-02-10T04:07:19,988 copying src/kontra/errors.py -> build/lib/kontra 2026-02-10T04:07:19,991 creating build/lib/kontra/engine 2026-02-10T04:07:19,992 copying src/kontra/engine/sql_utils.py -> build/lib/kontra/engine 2026-02-10T04:07:19,995 copying src/kontra/engine/paths.py -> build/lib/kontra/engine 2026-02-10T04:07:19,997 copying src/kontra/engine/types.py -> build/lib/kontra/engine 2026-02-10T04:07:19,999 copying src/kontra/engine/engine.py -> build/lib/kontra/engine 2026-02-10T04:07:20,002 copying src/kontra/engine/__init__.py -> build/lib/kontra/engine 2026-02-10T04:07:20,003 copying src/kontra/engine/result.py -> build/lib/kontra/engine 2026-02-10T04:07:20,005 copying src/kontra/engine/stats.py -> build/lib/kontra/engine 2026-02-10T04:07:20,007 copying src/kontra/engine/sql_validator.py -> build/lib/kontra/engine 2026-02-10T04:07:20,010 creating build/lib/kontra/connectors 2026-02-10T04:07:20,012 copying src/kontra/connectors/detection.py -> build/lib/kontra/connectors 2026-02-10T04:07:20,014 copying src/kontra/connectors/postgres.py -> build/lib/kontra/connectors 2026-02-10T04:07:20,016 copying src/kontra/connectors/__init__.py -> build/lib/kontra/connectors 2026-02-10T04:07:20,018 copying src/kontra/connectors/db_utils.py -> build/lib/kontra/connectors 2026-02-10T04:07:20,020 copying src/kontra/connectors/sqlserver.py -> build/lib/kontra/connectors 2026-02-10T04:07:20,022 copying src/kontra/connectors/handle.py -> build/lib/kontra/connectors 2026-02-10T04:07:20,025 creating build/lib/kontra/scout 2026-02-10T04:07:20,026 copying src/kontra/scout/profiler.py -> build/lib/kontra/scout 2026-02-10T04:07:20,029 copying src/kontra/scout/types.py -> build/lib/kontra/scout 2026-02-10T04:07:20,031 copying src/kontra/scout/patterns.py -> build/lib/kontra/scout 2026-02-10T04:07:20,033 copying src/kontra/scout/__init__.py -> build/lib/kontra/scout 2026-02-10T04:07:20,035 copying src/kontra/scout/dtype_mapping.py -> build/lib/kontra/scout 2026-02-10T04:07:20,037 copying src/kontra/scout/suggest.py -> build/lib/kontra/scout 2026-02-10T04:07:20,039 copying src/kontra/scout/store.py -> build/lib/kontra/scout 2026-02-10T04:07:20,042 creating build/lib/kontra/reporters 2026-02-10T04:07:20,043 copying src/kontra/reporters/rich_reporter.py -> build/lib/kontra/reporters 2026-02-10T04:07:20,045 copying src/kontra/reporters/__init__.py -> build/lib/kontra/reporters 2026-02-10T04:07:20,046 copying src/kontra/reporters/json_reporter.py -> build/lib/kontra/reporters 2026-02-10T04:07:20,049 creating build/lib/kontra/preplan 2026-02-10T04:07:20,050 copying src/kontra/preplan/types.py -> build/lib/kontra/preplan 2026-02-10T04:07:20,052 copying src/kontra/preplan/postgres.py -> build/lib/kontra/preplan 2026-02-10T04:07:20,054 copying src/kontra/preplan/__init__.py -> build/lib/kontra/preplan 2026-02-10T04:07:20,056 copying src/kontra/preplan/planner.py -> build/lib/kontra/preplan 2026-02-10T04:07:20,058 copying src/kontra/preplan/sqlserver.py -> build/lib/kontra/preplan 2026-02-10T04:07:20,061 creating build/lib/kontra/state 2026-02-10T04:07:20,062 copying src/kontra/state/types.py -> build/lib/kontra/state 2026-02-10T04:07:20,065 copying src/kontra/state/__init__.py -> build/lib/kontra/state 2026-02-10T04:07:20,067 copying src/kontra/state/fingerprint.py -> build/lib/kontra/state 2026-02-10T04:07:20,070 creating build/lib/kontra/cli 2026-02-10T04:07:20,071 copying src/kontra/cli/renderers.py -> build/lib/kontra/cli 2026-02-10T04:07:20,073 copying src/kontra/cli/utils.py -> build/lib/kontra/cli 2026-02-10T04:07:20,075 copying src/kontra/cli/__init__.py -> build/lib/kontra/cli 2026-02-10T04:07:20,076 copying src/kontra/cli/main.py -> build/lib/kontra/cli 2026-02-10T04:07:20,078 copying src/kontra/cli/constants.py -> build/lib/kontra/cli 2026-02-10T04:07:20,080 creating build/lib/kontra/rule_defs 2026-02-10T04:07:20,081 copying src/kontra/rule_defs/factory.py -> build/lib/kontra/rule_defs 2026-02-10T04:07:20,084 copying src/kontra/rule_defs/static_predicates.py -> build/lib/kontra/rule_defs 2026-02-10T04:07:20,086 copying src/kontra/rule_defs/__init__.py -> build/lib/kontra/rule_defs 2026-02-10T04:07:20,088 copying src/kontra/rule_defs/predicates.py -> build/lib/kontra/rule_defs 2026-02-10T04:07:20,090 copying src/kontra/rule_defs/base.py -> build/lib/kontra/rule_defs 2026-02-10T04:07:20,092 copying src/kontra/rule_defs/execution_plan.py -> build/lib/kontra/rule_defs 2026-02-10T04:07:20,095 copying src/kontra/rule_defs/registry.py -> build/lib/kontra/rule_defs 2026-02-10T04:07:20,097 copying src/kontra/rule_defs/condition_parser.py -> build/lib/kontra/rule_defs 2026-02-10T04:07:20,099 creating build/lib/kontra/config 2026-02-10T04:07:20,100 copying src/kontra/config/models.py -> build/lib/kontra/config 2026-02-10T04:07:20,102 copying src/kontra/config/__init__.py -> build/lib/kontra/config 2026-02-10T04:07:20,104 copying src/kontra/config/loader.py -> build/lib/kontra/config 2026-02-10T04:07:20,106 copying src/kontra/config/settings.py -> build/lib/kontra/config 2026-02-10T04:07:20,109 creating build/lib/kontra/probes 2026-02-10T04:07:20,110 copying src/kontra/probes/relationship.py -> build/lib/kontra/probes 2026-02-10T04:07:20,113 copying src/kontra/probes/__init__.py -> build/lib/kontra/probes 2026-02-10T04:07:20,115 copying src/kontra/probes/compare.py -> build/lib/kontra/probes 2026-02-10T04:07:20,118 creating build/lib/kontra/api 2026-02-10T04:07:20,119 copying src/kontra/api/decorators.py -> build/lib/kontra/api 2026-02-10T04:07:20,121 copying src/kontra/api/rules.py -> build/lib/kontra/api 2026-02-10T04:07:20,124 copying src/kontra/api/__init__.py -> build/lib/kontra/api 2026-02-10T04:07:20,125 copying src/kontra/api/results.py -> build/lib/kontra/api 2026-02-10T04:07:20,129 copying src/kontra/api/compare.py -> build/lib/kontra/api 2026-02-10T04:07:20,132 creating build/lib/kontra/engine/executors 2026-02-10T04:07:20,133 copying src/kontra/engine/executors/sqlserver_sql.py -> build/lib/kontra/engine/executors 2026-02-10T04:07:20,135 copying src/kontra/engine/executors/__init__.py -> build/lib/kontra/engine/executors 2026-02-10T04:07:20,137 copying src/kontra/engine/executors/base.py -> build/lib/kontra/engine/executors 2026-02-10T04:07:20,139 copying src/kontra/engine/executors/duckdb_sql.py -> build/lib/kontra/engine/executors 2026-02-10T04:07:20,142 copying src/kontra/engine/executors/registry.py -> build/lib/kontra/engine/executors 2026-02-10T04:07:20,144 copying src/kontra/engine/executors/postgres_sql.py -> build/lib/kontra/engine/executors 2026-02-10T04:07:20,146 copying src/kontra/engine/executors/database_base.py -> build/lib/kontra/engine/executors 2026-02-10T04:07:20,149 creating build/lib/kontra/engine/materializers 2026-02-10T04:07:20,150 copying src/kontra/engine/materializers/factory.py -> build/lib/kontra/engine/materializers 2026-02-10T04:07:20,152 copying src/kontra/engine/materializers/postgres.py -> build/lib/kontra/engine/materializers 2026-02-10T04:07:20,154 copying src/kontra/engine/materializers/__init__.py -> build/lib/kontra/engine/materializers 2026-02-10T04:07:20,156 copying src/kontra/engine/materializers/base.py -> build/lib/kontra/engine/materializers 2026-02-10T04:07:20,158 copying src/kontra/engine/materializers/sqlserver.py -> build/lib/kontra/engine/materializers 2026-02-10T04:07:20,160 copying src/kontra/engine/materializers/registry.py -> build/lib/kontra/engine/materializers 2026-02-10T04:07:20,162 copying src/kontra/engine/materializers/duckdb.py -> build/lib/kontra/engine/materializers 2026-02-10T04:07:20,164 copying src/kontra/engine/materializers/polars_connector.py -> build/lib/kontra/engine/materializers 2026-02-10T04:07:20,167 creating build/lib/kontra/engine/backends 2026-02-10T04:07:20,168 copying src/kontra/engine/backends/polars_backend.py -> build/lib/kontra/engine/backends 2026-02-10T04:07:20,170 copying src/kontra/engine/backends/duckdb_session.py -> build/lib/kontra/engine/backends 2026-02-10T04:07:20,173 copying src/kontra/engine/backends/duckdb_utils.py -> build/lib/kontra/engine/backends 2026-02-10T04:07:20,175 creating build/lib/kontra/scout/reporters 2026-02-10T04:07:20,176 copying src/kontra/scout/reporters/rich_reporter.py -> build/lib/kontra/scout/reporters 2026-02-10T04:07:20,179 copying src/kontra/scout/reporters/__init__.py -> build/lib/kontra/scout/reporters 2026-02-10T04:07:20,180 copying src/kontra/scout/reporters/markdown_reporter.py -> build/lib/kontra/scout/reporters 2026-02-10T04:07:20,183 copying src/kontra/scout/reporters/json_reporter.py -> build/lib/kontra/scout/reporters 2026-02-10T04:07:20,186 creating build/lib/kontra/scout/backends 2026-02-10T04:07:20,187 copying src/kontra/scout/backends/sqlserver_backend.py -> build/lib/kontra/scout/backends 2026-02-10T04:07:20,190 copying src/kontra/scout/backends/postgres_backend.py -> build/lib/kontra/scout/backends 2026-02-10T04:07:20,192 copying src/kontra/scout/backends/__init__.py -> build/lib/kontra/scout/backends 2026-02-10T04:07:20,194 copying src/kontra/scout/backends/base.py -> build/lib/kontra/scout/backends 2026-02-10T04:07:20,196 copying src/kontra/scout/backends/duckdb_backend.py -> build/lib/kontra/scout/backends 2026-02-10T04:07:20,200 creating build/lib/kontra/state/backends 2026-02-10T04:07:20,201 copying src/kontra/state/backends/postgres.py -> build/lib/kontra/state/backends 2026-02-10T04:07:20,203 copying src/kontra/state/backends/__init__.py -> build/lib/kontra/state/backends 2026-02-10T04:07:20,205 copying src/kontra/state/backends/base.py -> build/lib/kontra/state/backends 2026-02-10T04:07:20,208 copying src/kontra/state/backends/sqlserver.py -> build/lib/kontra/state/backends 2026-02-10T04:07:20,210 copying src/kontra/state/backends/local.py -> build/lib/kontra/state/backends 2026-02-10T04:07:20,213 copying src/kontra/state/backends/s3.py -> build/lib/kontra/state/backends 2026-02-10T04:07:20,216 creating build/lib/kontra/cli/commands 2026-02-10T04:07:20,217 copying src/kontra/cli/commands/history.py -> build/lib/kontra/cli/commands 2026-02-10T04:07:20,219 copying src/kontra/cli/commands/config.py -> build/lib/kontra/cli/commands 2026-02-10T04:07:20,221 copying src/kontra/cli/commands/__init__.py -> build/lib/kontra/cli/commands 2026-02-10T04:07:20,223 copying src/kontra/cli/commands/validate.py -> build/lib/kontra/cli/commands 2026-02-10T04:07:20,226 copying src/kontra/cli/commands/profile.py -> build/lib/kontra/cli/commands 2026-02-10T04:07:20,228 copying src/kontra/cli/commands/diff.py -> build/lib/kontra/cli/commands 2026-02-10T04:07:20,231 creating build/lib/kontra/rule_defs/builtin 2026-02-10T04:07:20,232 copying src/kontra/rule_defs/builtin/unique.py -> build/lib/kontra/rule_defs/builtin 2026-02-10T04:07:20,235 copying src/kontra/rule_defs/builtin/dtype.py -> build/lib/kontra/rule_defs/builtin 2026-02-10T04:07:20,237 copying src/kontra/rule_defs/builtin/range.py -> build/lib/kontra/rule_defs/builtin 2026-02-10T04:07:20,239 copying src/kontra/rule_defs/builtin/allowed_values.py -> build/lib/kontra/rule_defs/builtin 2026-02-10T04:07:20,241 copying src/kontra/rule_defs/builtin/ends_with.py -> build/lib/kontra/rule_defs/builtin 2026-02-10T04:07:20,243 copying src/kontra/rule_defs/builtin/regex.py -> build/lib/kontra/rule_defs/builtin 2026-02-10T04:07:20,246 copying src/kontra/rule_defs/builtin/__init__.py -> build/lib/kontra/rule_defs/builtin 2026-02-10T04:07:20,248 copying src/kontra/rule_defs/builtin/custom_sql_check.py -> build/lib/kontra/rule_defs/builtin 2026-02-10T04:07:20,250 copying src/kontra/rule_defs/builtin/conditional_range.py -> build/lib/kontra/rule_defs/builtin 2026-02-10T04:07:20,252 copying src/kontra/rule_defs/builtin/starts_with.py -> build/lib/kontra/rule_defs/builtin 2026-02-10T04:07:20,255 copying src/kontra/rule_defs/builtin/freshness.py -> build/lib/kontra/rule_defs/builtin 2026-02-10T04:07:20,257 copying src/kontra/rule_defs/builtin/contains.py -> build/lib/kontra/rule_defs/builtin 2026-02-10T04:07:20,259 copying src/kontra/rule_defs/builtin/max_rows.py -> build/lib/kontra/rule_defs/builtin 2026-02-10T04:07:20,261 copying src/kontra/rule_defs/builtin/conditional_not_null.py -> build/lib/kontra/rule_defs/builtin 2026-02-10T04:07:20,263 copying src/kontra/rule_defs/builtin/compare.py -> build/lib/kontra/rule_defs/builtin 2026-02-10T04:07:20,266 copying src/kontra/rule_defs/builtin/disallowed_values.py -> build/lib/kontra/rule_defs/builtin 2026-02-10T04:07:20,268 copying src/kontra/rule_defs/builtin/length.py -> build/lib/kontra/rule_defs/builtin 2026-02-10T04:07:20,271 copying src/kontra/rule_defs/builtin/not_null.py -> build/lib/kontra/rule_defs/builtin 2026-02-10T04:07:20,273 copying src/kontra/rule_defs/builtin/min_rows.py -> build/lib/kontra/rule_defs/builtin 2026-02-10T04:07:20,275 running egg_info 2026-02-10T04:07:20,284 writing src/kontra.egg-info/PKG-INFO 2026-02-10T04:07:20,290 writing dependency_links to src/kontra.egg-info/dependency_links.txt 2026-02-10T04:07:20,291 writing entry points to src/kontra.egg-info/entry_points.txt 2026-02-10T04:07:20,295 writing requirements to src/kontra.egg-info/requires.txt 2026-02-10T04:07:20,296 writing top-level names to src/kontra.egg-info/top_level.txt 2026-02-10T04:07:20,325 reading manifest file 'src/kontra.egg-info/SOURCES.txt' 2026-02-10T04:07:20,334 adding license file 'LICENSE' 2026-02-10T04:07:20,343 writing manifest file 'src/kontra.egg-info/SOURCES.txt' 2026-02-10T04:07:20,373 installing to build/bdist.linux-armv7l/wheel 2026-02-10T04:07:20,373 running install 2026-02-10T04:07:20,397 running install_lib 2026-02-10T04:07:20,403 creating build/bdist.linux-armv7l/wheel 2026-02-10T04:07:20,405 creating build/bdist.linux-armv7l/wheel/kontra 2026-02-10T04:07:20,406 creating build/bdist.linux-armv7l/wheel/kontra/engine 2026-02-10T04:07:20,408 copying build/lib/kontra/engine/sql_utils.py -> build/bdist.linux-armv7l/wheel/./kontra/engine 2026-02-10T04:07:20,411 creating build/bdist.linux-armv7l/wheel/kontra/engine/executors 2026-02-10T04:07:20,412 copying build/lib/kontra/engine/executors/sqlserver_sql.py -> build/bdist.linux-armv7l/wheel/./kontra/engine/executors 2026-02-10T04:07:20,414 copying build/lib/kontra/engine/executors/__init__.py -> build/bdist.linux-armv7l/wheel/./kontra/engine/executors 2026-02-10T04:07:20,416 copying build/lib/kontra/engine/executors/base.py -> build/bdist.linux-armv7l/wheel/./kontra/engine/executors 2026-02-10T04:07:20,417 copying build/lib/kontra/engine/executors/duckdb_sql.py -> build/bdist.linux-armv7l/wheel/./kontra/engine/executors 2026-02-10T04:07:20,420 copying build/lib/kontra/engine/executors/registry.py -> build/bdist.linux-armv7l/wheel/./kontra/engine/executors 2026-02-10T04:07:20,422 copying build/lib/kontra/engine/executors/postgres_sql.py -> build/bdist.linux-armv7l/wheel/./kontra/engine/executors 2026-02-10T04:07:20,424 copying build/lib/kontra/engine/executors/database_base.py -> build/bdist.linux-armv7l/wheel/./kontra/engine/executors 2026-02-10T04:07:20,427 copying build/lib/kontra/engine/paths.py -> build/bdist.linux-armv7l/wheel/./kontra/engine 2026-02-10T04:07:20,429 copying build/lib/kontra/engine/types.py -> build/bdist.linux-armv7l/wheel/./kontra/engine 2026-02-10T04:07:20,431 copying build/lib/kontra/engine/engine.py -> build/bdist.linux-armv7l/wheel/./kontra/engine 2026-02-10T04:07:20,434 copying build/lib/kontra/engine/__init__.py -> build/bdist.linux-armv7l/wheel/./kontra/engine 2026-02-10T04:07:20,436 creating build/bdist.linux-armv7l/wheel/kontra/engine/materializers 2026-02-10T04:07:20,437 copying build/lib/kontra/engine/materializers/factory.py -> build/bdist.linux-armv7l/wheel/./kontra/engine/materializers 2026-02-10T04:07:20,439 copying build/lib/kontra/engine/materializers/postgres.py -> build/bdist.linux-armv7l/wheel/./kontra/engine/materializers 2026-02-10T04:07:20,441 copying build/lib/kontra/engine/materializers/__init__.py -> build/bdist.linux-armv7l/wheel/./kontra/engine/materializers 2026-02-10T04:07:20,443 copying build/lib/kontra/engine/materializers/base.py -> build/bdist.linux-armv7l/wheel/./kontra/engine/materializers 2026-02-10T04:07:20,445 copying build/lib/kontra/engine/materializers/sqlserver.py -> build/bdist.linux-armv7l/wheel/./kontra/engine/materializers 2026-02-10T04:07:20,447 copying build/lib/kontra/engine/materializers/registry.py -> build/bdist.linux-armv7l/wheel/./kontra/engine/materializers 2026-02-10T04:07:20,449 copying build/lib/kontra/engine/materializers/duckdb.py -> build/bdist.linux-armv7l/wheel/./kontra/engine/materializers 2026-02-10T04:07:20,451 copying build/lib/kontra/engine/materializers/polars_connector.py -> build/bdist.linux-armv7l/wheel/./kontra/engine/materializers 2026-02-10T04:07:20,454 creating build/bdist.linux-armv7l/wheel/kontra/engine/backends 2026-02-10T04:07:20,455 copying build/lib/kontra/engine/backends/polars_backend.py -> build/bdist.linux-armv7l/wheel/./kontra/engine/backends 2026-02-10T04:07:20,457 copying build/lib/kontra/engine/backends/duckdb_session.py -> build/bdist.linux-armv7l/wheel/./kontra/engine/backends 2026-02-10T04:07:20,460 copying build/lib/kontra/engine/backends/duckdb_utils.py -> build/bdist.linux-armv7l/wheel/./kontra/engine/backends 2026-02-10T04:07:20,462 copying build/lib/kontra/engine/result.py -> build/bdist.linux-armv7l/wheel/./kontra/engine 2026-02-10T04:07:20,463 copying build/lib/kontra/engine/stats.py -> build/bdist.linux-armv7l/wheel/./kontra/engine 2026-02-10T04:07:20,465 copying build/lib/kontra/engine/sql_validator.py -> build/bdist.linux-armv7l/wheel/./kontra/engine 2026-02-10T04:07:20,468 creating build/bdist.linux-armv7l/wheel/kontra/connectors 2026-02-10T04:07:20,469 copying build/lib/kontra/connectors/detection.py -> build/bdist.linux-armv7l/wheel/./kontra/connectors 2026-02-10T04:07:20,472 copying build/lib/kontra/connectors/postgres.py -> build/bdist.linux-armv7l/wheel/./kontra/connectors 2026-02-10T04:07:20,474 copying build/lib/kontra/connectors/__init__.py -> build/bdist.linux-armv7l/wheel/./kontra/connectors 2026-02-10T04:07:20,475 copying build/lib/kontra/connectors/db_utils.py -> build/bdist.linux-armv7l/wheel/./kontra/connectors 2026-02-10T04:07:20,477 copying build/lib/kontra/connectors/sqlserver.py -> build/bdist.linux-armv7l/wheel/./kontra/connectors 2026-02-10T04:07:20,479 copying build/lib/kontra/connectors/handle.py -> build/bdist.linux-armv7l/wheel/./kontra/connectors 2026-02-10T04:07:20,482 copying build/lib/kontra/logging.py -> build/bdist.linux-armv7l/wheel/./kontra 2026-02-10T04:07:20,483 copying build/lib/kontra/__init__.py -> build/bdist.linux-armv7l/wheel/./kontra 2026-02-10T04:07:20,487 creating build/bdist.linux-armv7l/wheel/kontra/scout 2026-02-10T04:07:20,488 copying build/lib/kontra/scout/profiler.py -> build/bdist.linux-armv7l/wheel/./kontra/scout 2026-02-10T04:07:20,491 copying build/lib/kontra/scout/types.py -> build/bdist.linux-armv7l/wheel/./kontra/scout 2026-02-10T04:07:20,493 copying build/lib/kontra/scout/patterns.py -> build/bdist.linux-armv7l/wheel/./kontra/scout 2026-02-10T04:07:20,495 copying build/lib/kontra/scout/__init__.py -> build/bdist.linux-armv7l/wheel/./kontra/scout 2026-02-10T04:07:20,497 copying build/lib/kontra/scout/dtype_mapping.py -> build/bdist.linux-armv7l/wheel/./kontra/scout 2026-02-10T04:07:20,499 copying build/lib/kontra/scout/suggest.py -> build/bdist.linux-armv7l/wheel/./kontra/scout 2026-02-10T04:07:20,502 creating build/bdist.linux-armv7l/wheel/kontra/scout/reporters 2026-02-10T04:07:20,503 copying build/lib/kontra/scout/reporters/rich_reporter.py -> build/bdist.linux-armv7l/wheel/./kontra/scout/reporters 2026-02-10T04:07:20,505 copying build/lib/kontra/scout/reporters/__init__.py -> build/bdist.linux-armv7l/wheel/./kontra/scout/reporters 2026-02-10T04:07:20,507 copying build/lib/kontra/scout/reporters/markdown_reporter.py -> build/bdist.linux-armv7l/wheel/./kontra/scout/reporters 2026-02-10T04:07:20,509 copying build/lib/kontra/scout/reporters/json_reporter.py -> build/bdist.linux-armv7l/wheel/./kontra/scout/reporters 2026-02-10T04:07:20,512 creating build/bdist.linux-armv7l/wheel/kontra/scout/backends 2026-02-10T04:07:20,513 copying build/lib/kontra/scout/backends/sqlserver_backend.py -> build/bdist.linux-armv7l/wheel/./kontra/scout/backends 2026-02-10T04:07:20,515 copying build/lib/kontra/scout/backends/postgres_backend.py -> build/bdist.linux-armv7l/wheel/./kontra/scout/backends 2026-02-10T04:07:20,518 copying build/lib/kontra/scout/backends/__init__.py -> build/bdist.linux-armv7l/wheel/./kontra/scout/backends 2026-02-10T04:07:20,519 copying build/lib/kontra/scout/backends/base.py -> build/bdist.linux-armv7l/wheel/./kontra/scout/backends 2026-02-10T04:07:20,521 copying build/lib/kontra/scout/backends/duckdb_backend.py -> build/bdist.linux-armv7l/wheel/./kontra/scout/backends 2026-02-10T04:07:20,524 copying build/lib/kontra/scout/store.py -> build/bdist.linux-armv7l/wheel/./kontra/scout 2026-02-10T04:07:20,527 creating build/bdist.linux-armv7l/wheel/kontra/reporters 2026-02-10T04:07:20,528 copying build/lib/kontra/reporters/rich_reporter.py -> build/bdist.linux-armv7l/wheel/./kontra/reporters 2026-02-10T04:07:20,530 copying build/lib/kontra/reporters/__init__.py -> build/bdist.linux-armv7l/wheel/./kontra/reporters 2026-02-10T04:07:20,531 copying build/lib/kontra/reporters/json_reporter.py -> build/bdist.linux-armv7l/wheel/./kontra/reporters 2026-02-10T04:07:20,534 creating build/bdist.linux-armv7l/wheel/kontra/preplan 2026-02-10T04:07:20,535 copying build/lib/kontra/preplan/types.py -> build/bdist.linux-armv7l/wheel/./kontra/preplan 2026-02-10T04:07:20,537 copying build/lib/kontra/preplan/postgres.py -> build/bdist.linux-armv7l/wheel/./kontra/preplan 2026-02-10T04:07:20,539 copying build/lib/kontra/preplan/__init__.py -> build/bdist.linux-armv7l/wheel/./kontra/preplan 2026-02-10T04:07:20,541 copying build/lib/kontra/preplan/planner.py -> build/bdist.linux-armv7l/wheel/./kontra/preplan 2026-02-10T04:07:20,543 copying build/lib/kontra/preplan/sqlserver.py -> build/bdist.linux-armv7l/wheel/./kontra/preplan 2026-02-10T04:07:20,545 copying build/lib/kontra/version.py -> build/bdist.linux-armv7l/wheel/./kontra 2026-02-10T04:07:20,547 creating build/bdist.linux-armv7l/wheel/kontra/state 2026-02-10T04:07:20,548 copying build/lib/kontra/state/types.py -> build/bdist.linux-armv7l/wheel/./kontra/state 2026-02-10T04:07:20,551 copying build/lib/kontra/state/__init__.py -> build/bdist.linux-armv7l/wheel/./kontra/state 2026-02-10T04:07:20,553 creating build/bdist.linux-armv7l/wheel/kontra/state/backends 2026-02-10T04:07:20,554 copying build/lib/kontra/state/backends/postgres.py -> build/bdist.linux-armv7l/wheel/./kontra/state/backends 2026-02-10T04:07:20,558 copying build/lib/kontra/state/backends/__init__.py -> build/bdist.linux-armv7l/wheel/./kontra/state/backends 2026-02-10T04:07:20,559 copying build/lib/kontra/state/backends/base.py -> build/bdist.linux-armv7l/wheel/./kontra/state/backends 2026-02-10T04:07:20,562 copying build/lib/kontra/state/backends/sqlserver.py -> build/bdist.linux-armv7l/wheel/./kontra/state/backends 2026-02-10T04:07:20,564 copying build/lib/kontra/state/backends/local.py -> build/bdist.linux-armv7l/wheel/./kontra/state/backends 2026-02-10T04:07:20,567 copying build/lib/kontra/state/backends/s3.py -> build/bdist.linux-armv7l/wheel/./kontra/state/backends 2026-02-10T04:07:20,569 copying build/lib/kontra/state/fingerprint.py -> build/bdist.linux-armv7l/wheel/./kontra/state 2026-02-10T04:07:20,572 creating build/bdist.linux-armv7l/wheel/kontra/cli 2026-02-10T04:07:20,573 copying build/lib/kontra/cli/renderers.py -> build/bdist.linux-armv7l/wheel/./kontra/cli 2026-02-10T04:07:20,575 copying build/lib/kontra/cli/utils.py -> build/bdist.linux-armv7l/wheel/./kontra/cli 2026-02-10T04:07:20,577 copying build/lib/kontra/cli/__init__.py -> build/bdist.linux-armv7l/wheel/./kontra/cli 2026-02-10T04:07:20,579 copying build/lib/kontra/cli/main.py -> build/bdist.linux-armv7l/wheel/./kontra/cli 2026-02-10T04:07:20,581 creating build/bdist.linux-armv7l/wheel/kontra/cli/commands 2026-02-10T04:07:20,582 copying build/lib/kontra/cli/commands/history.py -> build/bdist.linux-armv7l/wheel/./kontra/cli/commands 2026-02-10T04:07:20,584 copying build/lib/kontra/cli/commands/config.py -> build/bdist.linux-armv7l/wheel/./kontra/cli/commands 2026-02-10T04:07:20,586 copying build/lib/kontra/cli/commands/__init__.py -> build/bdist.linux-armv7l/wheel/./kontra/cli/commands 2026-02-10T04:07:20,588 copying build/lib/kontra/cli/commands/validate.py -> build/bdist.linux-armv7l/wheel/./kontra/cli/commands 2026-02-10T04:07:20,590 copying build/lib/kontra/cli/commands/profile.py -> build/bdist.linux-armv7l/wheel/./kontra/cli/commands 2026-02-10T04:07:20,593 copying build/lib/kontra/cli/commands/diff.py -> build/bdist.linux-armv7l/wheel/./kontra/cli/commands 2026-02-10T04:07:20,595 copying build/lib/kontra/cli/constants.py -> build/bdist.linux-armv7l/wheel/./kontra/cli 2026-02-10T04:07:20,598 creating build/bdist.linux-armv7l/wheel/kontra/rule_defs 2026-02-10T04:07:20,599 copying build/lib/kontra/rule_defs/factory.py -> build/bdist.linux-armv7l/wheel/./kontra/rule_defs 2026-02-10T04:07:20,601 copying build/lib/kontra/rule_defs/static_predicates.py -> build/bdist.linux-armv7l/wheel/./kontra/rule_defs 2026-02-10T04:07:20,603 copying build/lib/kontra/rule_defs/__init__.py -> build/bdist.linux-armv7l/wheel/./kontra/rule_defs 2026-02-10T04:07:20,605 copying build/lib/kontra/rule_defs/predicates.py -> build/bdist.linux-armv7l/wheel/./kontra/rule_defs 2026-02-10T04:07:20,606 copying build/lib/kontra/rule_defs/base.py -> build/bdist.linux-armv7l/wheel/./kontra/rule_defs 2026-02-10T04:07:20,609 copying build/lib/kontra/rule_defs/execution_plan.py -> build/bdist.linux-armv7l/wheel/./kontra/rule_defs 2026-02-10T04:07:20,612 creating build/bdist.linux-armv7l/wheel/kontra/rule_defs/builtin 2026-02-10T04:07:20,613 copying build/lib/kontra/rule_defs/builtin/unique.py -> build/bdist.linux-armv7l/wheel/./kontra/rule_defs/builtin 2026-02-10T04:07:20,615 copying build/lib/kontra/rule_defs/builtin/dtype.py -> build/bdist.linux-armv7l/wheel/./kontra/rule_defs/builtin 2026-02-10T04:07:20,617 copying build/lib/kontra/rule_defs/builtin/range.py -> build/bdist.linux-armv7l/wheel/./kontra/rule_defs/builtin 2026-02-10T04:07:20,619 copying build/lib/kontra/rule_defs/builtin/allowed_values.py -> build/bdist.linux-armv7l/wheel/./kontra/rule_defs/builtin 2026-02-10T04:07:20,621 copying build/lib/kontra/rule_defs/builtin/ends_with.py -> build/bdist.linux-armv7l/wheel/./kontra/rule_defs/builtin 2026-02-10T04:07:20,623 copying build/lib/kontra/rule_defs/builtin/regex.py -> build/bdist.linux-armv7l/wheel/./kontra/rule_defs/builtin 2026-02-10T04:07:20,625 copying build/lib/kontra/rule_defs/builtin/__init__.py -> build/bdist.linux-armv7l/wheel/./kontra/rule_defs/builtin 2026-02-10T04:07:20,627 copying build/lib/kontra/rule_defs/builtin/custom_sql_check.py -> build/bdist.linux-armv7l/wheel/./kontra/rule_defs/builtin 2026-02-10T04:07:20,629 copying build/lib/kontra/rule_defs/builtin/conditional_range.py -> build/bdist.linux-armv7l/wheel/./kontra/rule_defs/builtin 2026-02-10T04:07:20,631 copying build/lib/kontra/rule_defs/builtin/starts_with.py -> build/bdist.linux-armv7l/wheel/./kontra/rule_defs/builtin 2026-02-10T04:07:20,634 copying build/lib/kontra/rule_defs/builtin/freshness.py -> build/bdist.linux-armv7l/wheel/./kontra/rule_defs/builtin 2026-02-10T04:07:20,636 copying build/lib/kontra/rule_defs/builtin/contains.py -> build/bdist.linux-armv7l/wheel/./kontra/rule_defs/builtin 2026-02-10T04:07:20,638 copying build/lib/kontra/rule_defs/builtin/max_rows.py -> build/bdist.linux-armv7l/wheel/./kontra/rule_defs/builtin 2026-02-10T04:07:20,640 copying build/lib/kontra/rule_defs/builtin/conditional_not_null.py -> build/bdist.linux-armv7l/wheel/./kontra/rule_defs/builtin 2026-02-10T04:07:20,642 copying build/lib/kontra/rule_defs/builtin/compare.py -> build/bdist.linux-armv7l/wheel/./kontra/rule_defs/builtin 2026-02-10T04:07:20,644 copying build/lib/kontra/rule_defs/builtin/disallowed_values.py -> build/bdist.linux-armv7l/wheel/./kontra/rule_defs/builtin 2026-02-10T04:07:20,646 copying build/lib/kontra/rule_defs/builtin/length.py -> build/bdist.linux-armv7l/wheel/./kontra/rule_defs/builtin 2026-02-10T04:07:20,648 copying build/lib/kontra/rule_defs/builtin/not_null.py -> build/bdist.linux-armv7l/wheel/./kontra/rule_defs/builtin 2026-02-10T04:07:20,650 copying build/lib/kontra/rule_defs/builtin/min_rows.py -> build/bdist.linux-armv7l/wheel/./kontra/rule_defs/builtin 2026-02-10T04:07:20,652 copying build/lib/kontra/rule_defs/registry.py -> build/bdist.linux-armv7l/wheel/./kontra/rule_defs 2026-02-10T04:07:20,654 copying build/lib/kontra/rule_defs/condition_parser.py -> build/bdist.linux-armv7l/wheel/./kontra/rule_defs 2026-02-10T04:07:20,657 creating build/bdist.linux-armv7l/wheel/kontra/config 2026-02-10T04:07:20,658 copying build/lib/kontra/config/models.py -> build/bdist.linux-armv7l/wheel/./kontra/config 2026-02-10T04:07:20,660 copying build/lib/kontra/config/__init__.py -> build/bdist.linux-armv7l/wheel/./kontra/config 2026-02-10T04:07:20,662 copying build/lib/kontra/config/loader.py -> build/bdist.linux-armv7l/wheel/./kontra/config 2026-02-10T04:07:20,664 copying build/lib/kontra/config/settings.py -> build/bdist.linux-armv7l/wheel/./kontra/config 2026-02-10T04:07:20,667 creating build/bdist.linux-armv7l/wheel/kontra/probes 2026-02-10T04:07:20,668 copying build/lib/kontra/probes/relationship.py -> build/bdist.linux-armv7l/wheel/./kontra/probes 2026-02-10T04:07:20,671 copying build/lib/kontra/probes/__init__.py -> build/bdist.linux-armv7l/wheel/./kontra/probes 2026-02-10T04:07:20,672 copying build/lib/kontra/probes/compare.py -> build/bdist.linux-armv7l/wheel/./kontra/probes 2026-02-10T04:07:20,675 creating build/bdist.linux-armv7l/wheel/kontra/api 2026-02-10T04:07:20,676 copying build/lib/kontra/api/decorators.py -> build/bdist.linux-armv7l/wheel/./kontra/api 2026-02-10T04:07:20,678 copying build/lib/kontra/api/rules.py -> build/bdist.linux-armv7l/wheel/./kontra/api 2026-02-10T04:07:20,681 copying build/lib/kontra/api/__init__.py -> build/bdist.linux-armv7l/wheel/./kontra/api 2026-02-10T04:07:20,682 copying build/lib/kontra/api/results.py -> build/bdist.linux-armv7l/wheel/./kontra/api 2026-02-10T04:07:20,686 copying build/lib/kontra/api/compare.py -> build/bdist.linux-armv7l/wheel/./kontra/api 2026-02-10T04:07:20,689 copying build/lib/kontra/errors.py -> build/bdist.linux-armv7l/wheel/./kontra 2026-02-10T04:07:20,691 running install_egg_info 2026-02-10T04:07:20,696 Copying src/kontra.egg-info to build/bdist.linux-armv7l/wheel/./kontra-0.5.4-py3.11.egg-info 2026-02-10T04:07:20,707 running install_scripts 2026-02-10T04:07:20,717 creating build/bdist.linux-armv7l/wheel/kontra-0.5.4.dist-info/WHEEL 2026-02-10T04:07:20,720 creating '/tmp/pip-wheel-ove0il3a/.tmp-ver79ebo/kontra-0.5.4-py3-none-any.whl' and adding 'build/bdist.linux-armv7l/wheel' to it 2026-02-10T04:07:20,730 adding 'kontra/__init__.py' 2026-02-10T04:07:20,732 adding 'kontra/errors.py' 2026-02-10T04:07:20,734 adding 'kontra/logging.py' 2026-02-10T04:07:20,735 adding 'kontra/version.py' 2026-02-10T04:07:20,737 adding 'kontra/api/__init__.py' 2026-02-10T04:07:20,739 adding 'kontra/api/compare.py' 2026-02-10T04:07:20,740 adding 'kontra/api/decorators.py' 2026-02-10T04:07:20,749 adding 'kontra/api/results.py' 2026-02-10T04:07:20,752 adding 'kontra/api/rules.py' 2026-02-10T04:07:20,754 adding 'kontra/cli/__init__.py' 2026-02-10T04:07:20,755 adding 'kontra/cli/constants.py' 2026-02-10T04:07:20,756 adding 'kontra/cli/main.py' 2026-02-10T04:07:20,758 adding 'kontra/cli/renderers.py' 2026-02-10T04:07:20,759 adding 'kontra/cli/utils.py' 2026-02-10T04:07:20,761 adding 'kontra/cli/commands/__init__.py' 2026-02-10T04:07:20,762 adding 'kontra/cli/commands/config.py' 2026-02-10T04:07:20,765 adding 'kontra/cli/commands/diff.py' 2026-02-10T04:07:20,766 adding 'kontra/cli/commands/history.py' 2026-02-10T04:07:20,768 adding 'kontra/cli/commands/profile.py' 2026-02-10T04:07:20,770 adding 'kontra/cli/commands/validate.py' 2026-02-10T04:07:20,772 adding 'kontra/config/__init__.py' 2026-02-10T04:07:20,774 adding 'kontra/config/loader.py' 2026-02-10T04:07:20,775 adding 'kontra/config/models.py' 2026-02-10T04:07:20,778 adding 'kontra/config/settings.py' 2026-02-10T04:07:20,780 adding 'kontra/connectors/__init__.py' 2026-02-10T04:07:20,782 adding 'kontra/connectors/db_utils.py' 2026-02-10T04:07:20,783 adding 'kontra/connectors/detection.py' 2026-02-10T04:07:20,786 adding 'kontra/connectors/handle.py' 2026-02-10T04:07:20,787 adding 'kontra/connectors/postgres.py' 2026-02-10T04:07:20,789 adding 'kontra/connectors/sqlserver.py' 2026-02-10T04:07:20,791 adding 'kontra/engine/__init__.py' 2026-02-10T04:07:20,797 adding 'kontra/engine/engine.py' 2026-02-10T04:07:20,799 adding 'kontra/engine/paths.py' 2026-02-10T04:07:20,800 adding 'kontra/engine/result.py' 2026-02-10T04:07:20,803 adding 'kontra/engine/sql_utils.py' 2026-02-10T04:07:20,805 adding 'kontra/engine/sql_validator.py' 2026-02-10T04:07:20,807 adding 'kontra/engine/stats.py' 2026-02-10T04:07:20,809 adding 'kontra/engine/types.py' 2026-02-10T04:07:20,811 adding 'kontra/engine/backends/duckdb_session.py' 2026-02-10T04:07:20,812 adding 'kontra/engine/backends/duckdb_utils.py' 2026-02-10T04:07:20,813 adding 'kontra/engine/backends/polars_backend.py' 2026-02-10T04:07:20,815 adding 'kontra/engine/executors/__init__.py' 2026-02-10T04:07:20,816 adding 'kontra/engine/executors/base.py' 2026-02-10T04:07:20,819 adding 'kontra/engine/executors/database_base.py' 2026-02-10T04:07:20,821 adding 'kontra/engine/executors/duckdb_sql.py' 2026-02-10T04:07:20,823 adding 'kontra/engine/executors/postgres_sql.py' 2026-02-10T04:07:20,824 adding 'kontra/engine/executors/registry.py' 2026-02-10T04:07:20,826 adding 'kontra/engine/executors/sqlserver_sql.py' 2026-02-10T04:07:20,828 adding 'kontra/engine/materializers/__init__.py' 2026-02-10T04:07:20,829 adding 'kontra/engine/materializers/base.py' 2026-02-10T04:07:20,830 adding 'kontra/engine/materializers/duckdb.py' 2026-02-10T04:07:20,831 adding 'kontra/engine/materializers/factory.py' 2026-02-10T04:07:20,833 adding 'kontra/engine/materializers/polars_connector.py' 2026-02-10T04:07:20,834 adding 'kontra/engine/materializers/postgres.py' 2026-02-10T04:07:20,836 adding 'kontra/engine/materializers/registry.py' 2026-02-10T04:07:20,838 adding 'kontra/engine/materializers/sqlserver.py' 2026-02-10T04:07:20,839 adding 'kontra/preplan/__init__.py' 2026-02-10T04:07:20,841 adding 'kontra/preplan/planner.py' 2026-02-10T04:07:20,843 adding 'kontra/preplan/postgres.py' 2026-02-10T04:07:20,844 adding 'kontra/preplan/sqlserver.py' 2026-02-10T04:07:20,846 adding 'kontra/preplan/types.py' 2026-02-10T04:07:20,847 adding 'kontra/probes/__init__.py' 2026-02-10T04:07:20,850 adding 'kontra/probes/compare.py' 2026-02-10T04:07:20,851 adding 'kontra/probes/relationship.py' 2026-02-10T04:07:20,853 adding 'kontra/reporters/__init__.py' 2026-02-10T04:07:20,855 adding 'kontra/reporters/json_reporter.py' 2026-02-10T04:07:20,856 adding 'kontra/reporters/rich_reporter.py' 2026-02-10T04:07:20,858 adding 'kontra/rule_defs/__init__.py' 2026-02-10T04:07:20,859 adding 'kontra/rule_defs/base.py' 2026-02-10T04:07:20,861 adding 'kontra/rule_defs/condition_parser.py' 2026-02-10T04:07:20,864 adding 'kontra/rule_defs/execution_plan.py' 2026-02-10T04:07:20,865 adding 'kontra/rule_defs/factory.py' 2026-02-10T04:07:20,866 adding 'kontra/rule_defs/predicates.py' 2026-02-10T04:07:20,868 adding 'kontra/rule_defs/registry.py' 2026-02-10T04:07:20,869 adding 'kontra/rule_defs/static_predicates.py' 2026-02-10T04:07:20,871 adding 'kontra/rule_defs/builtin/__init__.py' 2026-02-10T04:07:20,873 adding 'kontra/rule_defs/builtin/allowed_values.py' 2026-02-10T04:07:20,874 adding 'kontra/rule_defs/builtin/compare.py' 2026-02-10T04:07:20,876 adding 'kontra/rule_defs/builtin/conditional_not_null.py' 2026-02-10T04:07:20,878 adding 'kontra/rule_defs/builtin/conditional_range.py' 2026-02-10T04:07:20,880 adding 'kontra/rule_defs/builtin/contains.py' 2026-02-10T04:07:20,881 adding 'kontra/rule_defs/builtin/custom_sql_check.py' 2026-02-10T04:07:20,883 adding 'kontra/rule_defs/builtin/disallowed_values.py' 2026-02-10T04:07:20,884 adding 'kontra/rule_defs/builtin/dtype.py' 2026-02-10T04:07:20,886 adding 'kontra/rule_defs/builtin/ends_with.py' 2026-02-10T04:07:20,888 adding 'kontra/rule_defs/builtin/freshness.py' 2026-02-10T04:07:20,889 adding 'kontra/rule_defs/builtin/length.py' 2026-02-10T04:07:20,891 adding 'kontra/rule_defs/builtin/max_rows.py' 2026-02-10T04:07:20,892 adding 'kontra/rule_defs/builtin/min_rows.py' 2026-02-10T04:07:20,893 adding 'kontra/rule_defs/builtin/not_null.py' 2026-02-10T04:07:20,895 adding 'kontra/rule_defs/builtin/range.py' 2026-02-10T04:07:20,897 adding 'kontra/rule_defs/builtin/regex.py' 2026-02-10T04:07:20,898 adding 'kontra/rule_defs/builtin/starts_with.py' 2026-02-10T04:07:20,899 adding 'kontra/rule_defs/builtin/unique.py' 2026-02-10T04:07:20,901 adding 'kontra/scout/__init__.py' 2026-02-10T04:07:20,903 adding 'kontra/scout/dtype_mapping.py' 2026-02-10T04:07:20,904 adding 'kontra/scout/patterns.py' 2026-02-10T04:07:20,908 adding 'kontra/scout/profiler.py' 2026-02-10T04:07:20,910 adding 'kontra/scout/store.py' 2026-02-10T04:07:20,911 adding 'kontra/scout/suggest.py' 2026-02-10T04:07:20,914 adding 'kontra/scout/types.py' 2026-02-10T04:07:20,916 adding 'kontra/scout/backends/__init__.py' 2026-02-10T04:07:20,917 adding 'kontra/scout/backends/base.py' 2026-02-10T04:07:20,920 adding 'kontra/scout/backends/duckdb_backend.py' 2026-02-10T04:07:20,922 adding 'kontra/scout/backends/postgres_backend.py' 2026-02-10T04:07:20,925 adding 'kontra/scout/backends/sqlserver_backend.py' 2026-02-10T04:07:20,927 adding 'kontra/scout/reporters/__init__.py' 2026-02-10T04:07:20,928 adding 'kontra/scout/reporters/json_reporter.py' 2026-02-10T04:07:20,930 adding 'kontra/scout/reporters/markdown_reporter.py' 2026-02-10T04:07:20,931 adding 'kontra/scout/reporters/rich_reporter.py' 2026-02-10T04:07:20,933 adding 'kontra/state/__init__.py' 2026-02-10T04:07:20,935 adding 'kontra/state/fingerprint.py' 2026-02-10T04:07:20,939 adding 'kontra/state/types.py' 2026-02-10T04:07:20,941 adding 'kontra/state/backends/__init__.py' 2026-02-10T04:07:20,943 adding 'kontra/state/backends/base.py' 2026-02-10T04:07:20,945 adding 'kontra/state/backends/local.py' 2026-02-10T04:07:20,949 adding 'kontra/state/backends/postgres.py' 2026-02-10T04:07:20,951 adding 'kontra/state/backends/s3.py' 2026-02-10T04:07:20,954 adding 'kontra/state/backends/sqlserver.py' 2026-02-10T04:07:20,957 adding 'kontra-0.5.4.dist-info/licenses/LICENSE' 2026-02-10T04:07:20,958 adding 'kontra-0.5.4.dist-info/METADATA' 2026-02-10T04:07:20,959 adding 'kontra-0.5.4.dist-info/WHEEL' 2026-02-10T04:07:20,960 adding 'kontra-0.5.4.dist-info/entry_points.txt' 2026-02-10T04:07:20,961 adding 'kontra-0.5.4.dist-info/top_level.txt' 2026-02-10T04:07:20,963 adding 'kontra-0.5.4.dist-info/RECORD' 2026-02-10T04:07:20,969 removing build/bdist.linux-armv7l/wheel 2026-02-10T04:07:21,097 Building wheel for kontra (pyproject.toml): finished with status 'done' 2026-02-10T04:07:21,107 Created wheel for kontra: filename=kontra-0.5.4-py3-none-any.whl size=303718 sha256=82be0fc8ce85a8a5a09bbb2efef33b45121612287e81fbda1a2ac3ab3bb8cace 2026-02-10T04:07:21,109 Stored in directory: /tmp/pip-ephem-wheel-cache-cu5bk7ph/wheels/76/54/9d/240f0b91595ff262b1dc36955b371966248bf60c12dd8d54a2 2026-02-10T04:07:21,124 Successfully built kontra 2026-02-10T04:07:21,137 Removed build tracker: '/tmp/pip-build-tracker-i7x8al4k'