2026-02-10T19:16:39,555 Created temporary directory: /tmp/pip-ephem-wheel-cache-02ydp3eg 2026-02-10T19:16:39,557 Created temporary directory: /tmp/pip-build-tracker-yq658r_2 2026-02-10T19:16:39,558 Initialized build tracking at /tmp/pip-build-tracker-yq658r_2 2026-02-10T19:16:39,558 Created build tracker: /tmp/pip-build-tracker-yq658r_2 2026-02-10T19:16:39,558 Entered build tracker: /tmp/pip-build-tracker-yq658r_2 2026-02-10T19:16:39,560 Created temporary directory: /tmp/pip-wheel-5d2xkrq_ 2026-02-10T19:16:39,563 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-10T19:16:39,566 Created temporary directory: /tmp/pip-ephem-wheel-cache-n5ezezf9 2026-02-10T19:16:39,588 Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple 2026-02-10T19:16:39,592 2 location(s) to search for versions of kontra: 2026-02-10T19:16:39,592 * https://pypi.org/simple/kontra/ 2026-02-10T19:16:39,592 * https://www.piwheels.org/simple/kontra/ 2026-02-10T19:16:39,593 Fetching project page and analyzing links: https://pypi.org/simple/kontra/ 2026-02-10T19:16:39,594 Getting page https://pypi.org/simple/kontra/ 2026-02-10T19:16:39,595 Found index url https://pypi.org/simple 2026-02-10T19:16:39,739 Fetched page https://pypi.org/simple/kontra/ as application/vnd.pypi.simple.v1+json 2026-02-10T19:16:39,743 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-10T19:16:39,744 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-10T19:16:39,745 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-10T19:16:39,746 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-10T19:16:39,747 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-10T19:16:39,747 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-10T19:16:39,748 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-10T19:16:39,749 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-10T19:16:39,750 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-10T19:16:39,751 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-10T19:16:39,752 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-10T19:16:39,753 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-10T19:16:39,753 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-10T19:16:39,754 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-10T19:16:39,755 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-10T19:16:39,756 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-10T19:16:39,756 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-10T19:16:39,757 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-10T19:16:39,758 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-10T19:16:39,759 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-10T19:16:39,760 Fetching project page and analyzing links: https://www.piwheels.org/simple/kontra/ 2026-02-10T19:16:39,761 Getting page https://www.piwheels.org/simple/kontra/ 2026-02-10T19:16:39,762 Found index url https://www.piwheels.org/simple 2026-02-10T19:16:39,917 Fetched page https://www.piwheels.org/simple/kontra/ as text/html 2026-02-10T19:16:39,920 Skipping link: No binaries permitted for kontra: https://www.piwheels.org/simple/kontra/kontra-0.5.4-py3-none-any.whl#sha256=82be0fc8ce85a8a5a09bbb2efef33b45121612287e81fbda1a2ac3ab3bb8cace (from https://www.piwheels.org/simple/kontra/) (requires-python:>=3.10) 2026-02-10T19:16:39,921 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-10T19:16:39,921 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-10T19:16:39,922 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-10T19:16:39,923 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-10T19:16:39,923 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-10T19:16:39,924 Skipping link: not a file: https://www.piwheels.org/simple/kontra/ 2026-02-10T19:16:39,924 Skipping link: not a file: https://pypi.org/simple/kontra/ 2026-02-10T19:16:39,944 Given no hashes to check 1 links for project 'kontra': discarding no candidates 2026-02-10T19:16:39,962 Collecting kontra==0.6.0 2026-02-10T19:16:39,965 Created temporary directory: /tmp/pip-unpack-u16vdy5i 2026-02-10T19:16:40,179 Downloading kontra-0.6.0.tar.gz (357 kB) 2026-02-10T19:16:40,940 Added kontra==0.6.0 from https://files.pythonhosted.org/packages/f1/ca/d9b1aefc3e817ef55a0d4827adcacc3472f909defb7ea3b3ebceb97952de/kontra-0.6.0.tar.gz to build tracker '/tmp/pip-build-tracker-yq658r_2' 2026-02-10T19:16:40,946 Created temporary directory: /tmp/pip-build-env-k0m_ezqq 2026-02-10T19:16:40,950 Installing build dependencies: started 2026-02-10T19:16:40,952 Running command pip subprocess to install build dependencies 2026-02-10T19:16:42,191 Using pip 23.0.1 from /usr/lib/python3/dist-packages/pip (python 3.11) 2026-02-10T19:16:42,824 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-10T19:16:42,850 Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple 2026-02-10T19:16:44,573 Collecting setuptools>=69 2026-02-10T19:16:44,593 Using cached setuptools-82.0.0-py3-none-any.whl (1.0 MB) 2026-02-10T19:16:44,869 Collecting wheel 2026-02-10T19:16:44,885 Using cached https://www.piwheels.org/simple/wheel/wheel-0.46.3-py3-none-any.whl (30 kB) 2026-02-10T19:16:45,067 Collecting packaging>=24.0 2026-02-10T19:16:45,086 Using cached https://www.piwheels.org/simple/packaging/packaging-26.0-py3-none-any.whl (74 kB) 2026-02-10T19:16:48,091 Installing collected packages: setuptools, packaging, wheel 2026-02-10T19:16:51,391 Creating /tmp/pip-build-env-k0m_ezqq/overlay/local/bin 2026-02-10T19:16:51,393 changing mode of /tmp/pip-build-env-k0m_ezqq/overlay/local/bin/wheel to 755 2026-02-10T19:16:51,414 Successfully installed packaging-26.0 setuptools-82.0.0 wheel-0.46.3 2026-02-10T19:16:51,697 Installing build dependencies: finished with status 'done' 2026-02-10T19:16:51,703 Getting requirements to build wheel: started 2026-02-10T19:16:51,705 Running command Getting requirements to build wheel 2026-02-10T19:16:52,545 /tmp/pip-build-env-k0m_ezqq/overlay/local/lib/python3.11/dist-packages/setuptools/config/_apply_pyprojecttoml.py:82: SetuptoolsDeprecationWarning: `project.license` as a TOML table is deprecated 2026-02-10T19:16:52,545 !! 2026-02-10T19:16:52,546 ******************************************************************************** 2026-02-10T19:16:52,547 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-10T19:16:52,548 By 2027-Feb-18, you need to update your project and remove deprecated calls 2026-02-10T19:16:52,549 or your builds will no longer be supported. 2026-02-10T19:16:52,550 See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. 2026-02-10T19:16:52,551 ******************************************************************************** 2026-02-10T19:16:52,551 !! 2026-02-10T19:16:52,552 corresp(dist, value, root_dir) 2026-02-10T19:16:52,626 /tmp/pip-build-env-k0m_ezqq/overlay/local/lib/python3.11/dist-packages/setuptools/config/_apply_pyprojecttoml.py:61: SetuptoolsDeprecationWarning: License classifiers are deprecated. 2026-02-10T19:16:52,626 !! 2026-02-10T19:16:52,627 ******************************************************************************** 2026-02-10T19:16:52,627 Please consider removing the following classifiers in favor of a SPDX license expression: 2026-02-10T19:16:52,628 License :: OSI Approved :: Apache Software License 2026-02-10T19:16:52,629 See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. 2026-02-10T19:16:52,630 ******************************************************************************** 2026-02-10T19:16:52,630 !! 2026-02-10T19:16:52,631 dist._finalize_license_expression() 2026-02-10T19:16:52,631 /tmp/pip-build-env-k0m_ezqq/overlay/local/lib/python3.11/dist-packages/setuptools/dist.py:765: SetuptoolsDeprecationWarning: License classifiers are deprecated. 2026-02-10T19:16:52,632 !! 2026-02-10T19:16:52,633 ******************************************************************************** 2026-02-10T19:16:52,633 Please consider removing the following classifiers in favor of a SPDX license expression: 2026-02-10T19:16:52,634 License :: OSI Approved :: Apache Software License 2026-02-10T19:16:52,636 See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. 2026-02-10T19:16:52,636 ******************************************************************************** 2026-02-10T19:16:52,638 !! 2026-02-10T19:16:52,638 self._finalize_license_expression() 2026-02-10T19:16:52,639 running egg_info 2026-02-10T19:16:52,644 writing src/kontra.egg-info/PKG-INFO 2026-02-10T19:16:52,650 writing dependency_links to src/kontra.egg-info/dependency_links.txt 2026-02-10T19:16:52,652 writing entry points to src/kontra.egg-info/entry_points.txt 2026-02-10T19:16:52,655 writing requirements to src/kontra.egg-info/requires.txt 2026-02-10T19:16:52,657 writing top-level names to src/kontra.egg-info/top_level.txt 2026-02-10T19:16:52,700 reading manifest file 'src/kontra.egg-info/SOURCES.txt' 2026-02-10T19:16:52,710 adding license file 'LICENSE' 2026-02-10T19:16:52,719 writing manifest file 'src/kontra.egg-info/SOURCES.txt' 2026-02-10T19:16:52,816 Getting requirements to build wheel: finished with status 'done' 2026-02-10T19:16:52,820 Created temporary directory: /tmp/pip-modern-metadata-2146xuii 2026-02-10T19:16:52,822 Preparing metadata (pyproject.toml): started 2026-02-10T19:16:52,823 Running command Preparing metadata (pyproject.toml) 2026-02-10T19:16:53,385 /tmp/pip-build-env-k0m_ezqq/overlay/local/lib/python3.11/dist-packages/setuptools/config/_apply_pyprojecttoml.py:82: SetuptoolsDeprecationWarning: `project.license` as a TOML table is deprecated 2026-02-10T19:16:53,385 !! 2026-02-10T19:16:53,386 ******************************************************************************** 2026-02-10T19:16:53,387 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-10T19:16:53,388 By 2027-Feb-18, you need to update your project and remove deprecated calls 2026-02-10T19:16:53,389 or your builds will no longer be supported. 2026-02-10T19:16:53,390 See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. 2026-02-10T19:16:53,391 ******************************************************************************** 2026-02-10T19:16:53,392 !! 2026-02-10T19:16:53,392 corresp(dist, value, root_dir) 2026-02-10T19:16:53,460 /tmp/pip-build-env-k0m_ezqq/overlay/local/lib/python3.11/dist-packages/setuptools/config/_apply_pyprojecttoml.py:61: SetuptoolsDeprecationWarning: License classifiers are deprecated. 2026-02-10T19:16:53,461 !! 2026-02-10T19:16:53,462 ******************************************************************************** 2026-02-10T19:16:53,462 Please consider removing the following classifiers in favor of a SPDX license expression: 2026-02-10T19:16:53,463 License :: OSI Approved :: Apache Software License 2026-02-10T19:16:53,464 See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. 2026-02-10T19:16:53,464 ******************************************************************************** 2026-02-10T19:16:53,465 !! 2026-02-10T19:16:53,466 dist._finalize_license_expression() 2026-02-10T19:16:53,466 /tmp/pip-build-env-k0m_ezqq/overlay/local/lib/python3.11/dist-packages/setuptools/dist.py:765: SetuptoolsDeprecationWarning: License classifiers are deprecated. 2026-02-10T19:16:53,467 !! 2026-02-10T19:16:53,468 ******************************************************************************** 2026-02-10T19:16:53,468 Please consider removing the following classifiers in favor of a SPDX license expression: 2026-02-10T19:16:53,469 License :: OSI Approved :: Apache Software License 2026-02-10T19:16:53,470 See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. 2026-02-10T19:16:53,471 ******************************************************************************** 2026-02-10T19:16:53,472 !! 2026-02-10T19:16:53,472 self._finalize_license_expression() 2026-02-10T19:16:53,473 running dist_info 2026-02-10T19:16:53,481 creating /tmp/pip-modern-metadata-2146xuii/kontra.egg-info 2026-02-10T19:16:53,482 writing /tmp/pip-modern-metadata-2146xuii/kontra.egg-info/PKG-INFO 2026-02-10T19:16:53,489 writing dependency_links to /tmp/pip-modern-metadata-2146xuii/kontra.egg-info/dependency_links.txt 2026-02-10T19:16:53,491 writing entry points to /tmp/pip-modern-metadata-2146xuii/kontra.egg-info/entry_points.txt 2026-02-10T19:16:53,494 writing requirements to /tmp/pip-modern-metadata-2146xuii/kontra.egg-info/requires.txt 2026-02-10T19:16:53,495 writing top-level names to /tmp/pip-modern-metadata-2146xuii/kontra.egg-info/top_level.txt 2026-02-10T19:16:53,496 writing manifest file '/tmp/pip-modern-metadata-2146xuii/kontra.egg-info/SOURCES.txt' 2026-02-10T19:16:53,534 reading manifest file '/tmp/pip-modern-metadata-2146xuii/kontra.egg-info/SOURCES.txt' 2026-02-10T19:16:53,536 adding license file 'LICENSE' 2026-02-10T19:16:53,543 writing manifest file '/tmp/pip-modern-metadata-2146xuii/kontra.egg-info/SOURCES.txt' 2026-02-10T19:16:53,544 creating '/tmp/pip-modern-metadata-2146xuii/kontra-0.6.0.dist-info' 2026-02-10T19:16:53,668 Preparing metadata (pyproject.toml): finished with status 'done' 2026-02-10T19:16:53,673 Source in /tmp/pip-wheel-5d2xkrq_/kontra_14ac84acb41f48b1909e568bba9e6efb has version 0.6.0, which satisfies requirement kontra==0.6.0 from https://files.pythonhosted.org/packages/f1/ca/d9b1aefc3e817ef55a0d4827adcacc3472f909defb7ea3b3ebceb97952de/kontra-0.6.0.tar.gz 2026-02-10T19:16:53,674 Removed kontra==0.6.0 from https://files.pythonhosted.org/packages/f1/ca/d9b1aefc3e817ef55a0d4827adcacc3472f909defb7ea3b3ebceb97952de/kontra-0.6.0.tar.gz from build tracker '/tmp/pip-build-tracker-yq658r_2' 2026-02-10T19:16:53,680 Created temporary directory: /tmp/pip-unpack-vsm01ufn 2026-02-10T19:16:53,681 Building wheels for collected packages: kontra 2026-02-10T19:16:53,685 Created temporary directory: /tmp/pip-wheel-9ue9e74q 2026-02-10T19:16:53,686 Destination directory: /tmp/pip-wheel-9ue9e74q 2026-02-10T19:16:53,688 Building wheel for kontra (pyproject.toml): started 2026-02-10T19:16:53,689 Running command Building wheel for kontra (pyproject.toml) 2026-02-10T19:16:54,255 /tmp/pip-build-env-k0m_ezqq/overlay/local/lib/python3.11/dist-packages/setuptools/config/_apply_pyprojecttoml.py:82: SetuptoolsDeprecationWarning: `project.license` as a TOML table is deprecated 2026-02-10T19:16:54,255 !! 2026-02-10T19:16:54,256 ******************************************************************************** 2026-02-10T19:16:54,257 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-10T19:16:54,258 By 2027-Feb-18, you need to update your project and remove deprecated calls 2026-02-10T19:16:54,258 or your builds will no longer be supported. 2026-02-10T19:16:54,259 See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. 2026-02-10T19:16:54,259 ******************************************************************************** 2026-02-10T19:16:54,260 !! 2026-02-10T19:16:54,261 corresp(dist, value, root_dir) 2026-02-10T19:16:54,326 /tmp/pip-build-env-k0m_ezqq/overlay/local/lib/python3.11/dist-packages/setuptools/config/_apply_pyprojecttoml.py:61: SetuptoolsDeprecationWarning: License classifiers are deprecated. 2026-02-10T19:16:54,326 !! 2026-02-10T19:16:54,327 ******************************************************************************** 2026-02-10T19:16:54,328 Please consider removing the following classifiers in favor of a SPDX license expression: 2026-02-10T19:16:54,329 License :: OSI Approved :: Apache Software License 2026-02-10T19:16:54,330 See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. 2026-02-10T19:16:54,330 ******************************************************************************** 2026-02-10T19:16:54,331 !! 2026-02-10T19:16:54,332 dist._finalize_license_expression() 2026-02-10T19:16:54,333 /tmp/pip-build-env-k0m_ezqq/overlay/local/lib/python3.11/dist-packages/setuptools/dist.py:765: SetuptoolsDeprecationWarning: License classifiers are deprecated. 2026-02-10T19:16:54,333 !! 2026-02-10T19:16:54,335 ******************************************************************************** 2026-02-10T19:16:54,335 Please consider removing the following classifiers in favor of a SPDX license expression: 2026-02-10T19:16:54,336 License :: OSI Approved :: Apache Software License 2026-02-10T19:16:54,338 See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. 2026-02-10T19:16:54,338 ******************************************************************************** 2026-02-10T19:16:54,340 !! 2026-02-10T19:16:54,340 self._finalize_license_expression() 2026-02-10T19:16:54,341 running bdist_wheel 2026-02-10T19:16:54,352 running build 2026-02-10T19:16:54,353 running build_py 2026-02-10T19:16:54,359 creating build/lib/kontra 2026-02-10T19:16:54,361 copying src/kontra/__init__.py -> build/lib/kontra 2026-02-10T19:16:54,365 copying src/kontra/errors.py -> build/lib/kontra 2026-02-10T19:16:54,367 copying src/kontra/logging.py -> build/lib/kontra 2026-02-10T19:16:54,369 copying src/kontra/version.py -> build/lib/kontra 2026-02-10T19:16:54,372 creating build/lib/kontra/rule_defs 2026-02-10T19:16:54,373 copying src/kontra/rule_defs/predicates.py -> build/lib/kontra/rule_defs 2026-02-10T19:16:54,375 copying src/kontra/rule_defs/factory.py -> build/lib/kontra/rule_defs 2026-02-10T19:16:54,377 copying src/kontra/rule_defs/__init__.py -> build/lib/kontra/rule_defs 2026-02-10T19:16:54,379 copying src/kontra/rule_defs/base.py -> build/lib/kontra/rule_defs 2026-02-10T19:16:54,381 copying src/kontra/rule_defs/execution_plan.py -> build/lib/kontra/rule_defs 2026-02-10T19:16:54,384 copying src/kontra/rule_defs/condition_parser.py -> build/lib/kontra/rule_defs 2026-02-10T19:16:54,387 copying src/kontra/rule_defs/static_predicates.py -> build/lib/kontra/rule_defs 2026-02-10T19:16:54,389 copying src/kontra/rule_defs/registry.py -> build/lib/kontra/rule_defs 2026-02-10T19:16:54,391 creating build/lib/kontra/engine 2026-02-10T19:16:54,392 copying src/kontra/engine/types.py -> build/lib/kontra/engine 2026-02-10T19:16:54,394 copying src/kontra/engine/paths.py -> build/lib/kontra/engine 2026-02-10T19:16:54,397 copying src/kontra/engine/__init__.py -> build/lib/kontra/engine 2026-02-10T19:16:54,398 copying src/kontra/engine/engine.py -> build/lib/kontra/engine 2026-02-10T19:16:54,402 copying src/kontra/engine/sql_utils.py -> build/lib/kontra/engine 2026-02-10T19:16:54,404 copying src/kontra/engine/result.py -> build/lib/kontra/engine 2026-02-10T19:16:54,406 copying src/kontra/engine/sql_validator.py -> build/lib/kontra/engine 2026-02-10T19:16:54,409 copying src/kontra/engine/stats.py -> build/lib/kontra/engine 2026-02-10T19:16:54,411 creating build/lib/kontra/state 2026-02-10T19:16:54,412 copying src/kontra/state/types.py -> build/lib/kontra/state 2026-02-10T19:16:54,415 copying src/kontra/state/__init__.py -> build/lib/kontra/state 2026-02-10T19:16:54,417 copying src/kontra/state/fingerprint.py -> build/lib/kontra/state 2026-02-10T19:16:54,420 creating build/lib/kontra/api 2026-02-10T19:16:54,421 copying src/kontra/api/results.py -> build/lib/kontra/api 2026-02-10T19:16:54,425 copying src/kontra/api/decorators.py -> build/lib/kontra/api 2026-02-10T19:16:54,427 copying src/kontra/api/compare.py -> build/lib/kontra/api 2026-02-10T19:16:54,430 copying src/kontra/api/__init__.py -> build/lib/kontra/api 2026-02-10T19:16:54,431 copying src/kontra/api/rules.py -> build/lib/kontra/api 2026-02-10T19:16:54,435 creating build/lib/kontra/config 2026-02-10T19:16:54,436 copying src/kontra/config/models.py -> build/lib/kontra/config 2026-02-10T19:16:54,438 copying src/kontra/config/__init__.py -> build/lib/kontra/config 2026-02-10T19:16:54,440 copying src/kontra/config/loader.py -> build/lib/kontra/config 2026-02-10T19:16:54,442 copying src/kontra/config/settings.py -> build/lib/kontra/config 2026-02-10T19:16:54,445 creating build/lib/kontra/cli 2026-02-10T19:16:54,446 copying src/kontra/cli/renderers.py -> build/lib/kontra/cli 2026-02-10T19:16:54,449 copying src/kontra/cli/__init__.py -> build/lib/kontra/cli 2026-02-10T19:16:54,450 copying src/kontra/cli/constants.py -> build/lib/kontra/cli 2026-02-10T19:16:54,452 copying src/kontra/cli/main.py -> build/lib/kontra/cli 2026-02-10T19:16:54,454 copying src/kontra/cli/utils.py -> build/lib/kontra/cli 2026-02-10T19:16:54,456 creating build/lib/kontra/probes 2026-02-10T19:16:54,457 copying src/kontra/probes/compare.py -> build/lib/kontra/probes 2026-02-10T19:16:54,460 copying src/kontra/probes/__init__.py -> build/lib/kontra/probes 2026-02-10T19:16:54,461 copying src/kontra/probes/relationship.py -> build/lib/kontra/probes 2026-02-10T19:16:54,464 copying src/kontra/probes/utils.py -> build/lib/kontra/probes 2026-02-10T19:16:54,466 creating build/lib/kontra/reporters 2026-02-10T19:16:54,467 copying src/kontra/reporters/json_reporter.py -> build/lib/kontra/reporters 2026-02-10T19:16:54,470 copying src/kontra/reporters/rich_reporter.py -> build/lib/kontra/reporters 2026-02-10T19:16:54,472 copying src/kontra/reporters/__init__.py -> build/lib/kontra/reporters 2026-02-10T19:16:54,474 creating build/lib/kontra/connectors 2026-02-10T19:16:54,475 copying src/kontra/connectors/handle.py -> build/lib/kontra/connectors 2026-02-10T19:16:54,477 copying src/kontra/connectors/__init__.py -> build/lib/kontra/connectors 2026-02-10T19:16:54,479 copying src/kontra/connectors/detection.py -> build/lib/kontra/connectors 2026-02-10T19:16:54,481 copying src/kontra/connectors/postgres.py -> build/lib/kontra/connectors 2026-02-10T19:16:54,483 copying src/kontra/connectors/sqlserver.py -> build/lib/kontra/connectors 2026-02-10T19:16:54,485 copying src/kontra/connectors/db_utils.py -> build/lib/kontra/connectors 2026-02-10T19:16:54,488 creating build/lib/kontra/preplan 2026-02-10T19:16:54,490 copying src/kontra/preplan/types.py -> build/lib/kontra/preplan 2026-02-10T19:16:54,491 copying src/kontra/preplan/__init__.py -> build/lib/kontra/preplan 2026-02-10T19:16:54,493 copying src/kontra/preplan/planner.py -> build/lib/kontra/preplan 2026-02-10T19:16:54,495 copying src/kontra/preplan/postgres.py -> build/lib/kontra/preplan 2026-02-10T19:16:54,498 copying src/kontra/preplan/sqlserver.py -> build/lib/kontra/preplan 2026-02-10T19:16:54,500 creating build/lib/kontra/scout 2026-02-10T19:16:54,501 copying src/kontra/scout/types.py -> build/lib/kontra/scout 2026-02-10T19:16:54,504 copying src/kontra/scout/suggest.py -> build/lib/kontra/scout 2026-02-10T19:16:54,506 copying src/kontra/scout/store.py -> build/lib/kontra/scout 2026-02-10T19:16:54,508 copying src/kontra/scout/__init__.py -> build/lib/kontra/scout 2026-02-10T19:16:54,510 copying src/kontra/scout/patterns.py -> build/lib/kontra/scout 2026-02-10T19:16:54,512 copying src/kontra/scout/profiler.py -> build/lib/kontra/scout 2026-02-10T19:16:54,515 copying src/kontra/scout/dtype_mapping.py -> build/lib/kontra/scout 2026-02-10T19:16:54,518 creating build/lib/kontra/rule_defs/builtin 2026-02-10T19:16:54,519 copying src/kontra/rule_defs/builtin/unique.py -> build/lib/kontra/rule_defs/builtin 2026-02-10T19:16:54,521 copying src/kontra/rule_defs/builtin/max_rows.py -> build/lib/kontra/rule_defs/builtin 2026-02-10T19:16:54,523 copying src/kontra/rule_defs/builtin/compare.py -> build/lib/kontra/rule_defs/builtin 2026-02-10T19:16:54,525 copying src/kontra/rule_defs/builtin/custom_sql_check.py -> build/lib/kontra/rule_defs/builtin 2026-02-10T19:16:54,528 copying src/kontra/rule_defs/builtin/conditional_range.py -> build/lib/kontra/rule_defs/builtin 2026-02-10T19:16:54,530 copying src/kontra/rule_defs/builtin/allowed_values.py -> build/lib/kontra/rule_defs/builtin 2026-02-10T19:16:54,532 copying src/kontra/rule_defs/builtin/disallowed_values.py -> build/lib/kontra/rule_defs/builtin 2026-02-10T19:16:54,535 copying src/kontra/rule_defs/builtin/conditional_not_null.py -> build/lib/kontra/rule_defs/builtin 2026-02-10T19:16:54,537 copying src/kontra/rule_defs/builtin/__init__.py -> build/lib/kontra/rule_defs/builtin 2026-02-10T19:16:54,539 copying src/kontra/rule_defs/builtin/not_null.py -> build/lib/kontra/rule_defs/builtin 2026-02-10T19:16:54,541 copying src/kontra/rule_defs/builtin/range.py -> build/lib/kontra/rule_defs/builtin 2026-02-10T19:16:54,544 copying src/kontra/rule_defs/builtin/starts_with.py -> build/lib/kontra/rule_defs/builtin 2026-02-10T19:16:54,546 copying src/kontra/rule_defs/builtin/freshness.py -> build/lib/kontra/rule_defs/builtin 2026-02-10T19:16:54,548 copying src/kontra/rule_defs/builtin/ends_with.py -> build/lib/kontra/rule_defs/builtin 2026-02-10T19:16:54,550 copying src/kontra/rule_defs/builtin/min_rows.py -> build/lib/kontra/rule_defs/builtin 2026-02-10T19:16:54,552 copying src/kontra/rule_defs/builtin/dtype.py -> build/lib/kontra/rule_defs/builtin 2026-02-10T19:16:54,554 copying src/kontra/rule_defs/builtin/length.py -> build/lib/kontra/rule_defs/builtin 2026-02-10T19:16:54,557 copying src/kontra/rule_defs/builtin/regex.py -> build/lib/kontra/rule_defs/builtin 2026-02-10T19:16:54,559 copying src/kontra/rule_defs/builtin/contains.py -> build/lib/kontra/rule_defs/builtin 2026-02-10T19:16:54,562 creating build/lib/kontra/engine/materializers 2026-02-10T19:16:54,563 copying src/kontra/engine/materializers/polars_connector.py -> build/lib/kontra/engine/materializers 2026-02-10T19:16:54,565 copying src/kontra/engine/materializers/factory.py -> build/lib/kontra/engine/materializers 2026-02-10T19:16:54,567 copying src/kontra/engine/materializers/__init__.py -> build/lib/kontra/engine/materializers 2026-02-10T19:16:54,569 copying src/kontra/engine/materializers/duckdb.py -> build/lib/kontra/engine/materializers 2026-02-10T19:16:54,571 copying src/kontra/engine/materializers/postgres.py -> build/lib/kontra/engine/materializers 2026-02-10T19:16:54,573 copying src/kontra/engine/materializers/base.py -> build/lib/kontra/engine/materializers 2026-02-10T19:16:54,575 copying src/kontra/engine/materializers/sqlserver.py -> build/lib/kontra/engine/materializers 2026-02-10T19:16:54,577 copying src/kontra/engine/materializers/registry.py -> build/lib/kontra/engine/materializers 2026-02-10T19:16:54,580 creating build/lib/kontra/engine/executors 2026-02-10T19:16:54,581 copying src/kontra/engine/executors/database_base.py -> build/lib/kontra/engine/executors 2026-02-10T19:16:54,583 copying src/kontra/engine/executors/sqlserver_sql.py -> build/lib/kontra/engine/executors 2026-02-10T19:16:54,585 copying src/kontra/engine/executors/__init__.py -> build/lib/kontra/engine/executors 2026-02-10T19:16:54,587 copying src/kontra/engine/executors/postgres_sql.py -> build/lib/kontra/engine/executors 2026-02-10T19:16:54,589 copying src/kontra/engine/executors/base.py -> build/lib/kontra/engine/executors 2026-02-10T19:16:54,591 copying src/kontra/engine/executors/duckdb_sql.py -> build/lib/kontra/engine/executors 2026-02-10T19:16:54,594 copying src/kontra/engine/executors/registry.py -> build/lib/kontra/engine/executors 2026-02-10T19:16:54,596 creating build/lib/kontra/engine/backends 2026-02-10T19:16:54,597 copying src/kontra/engine/backends/polars_backend.py -> build/lib/kontra/engine/backends 2026-02-10T19:16:54,599 copying src/kontra/engine/backends/duckdb_utils.py -> build/lib/kontra/engine/backends 2026-02-10T19:16:54,600 copying src/kontra/engine/backends/duckdb_session.py -> build/lib/kontra/engine/backends 2026-02-10T19:16:54,603 creating build/lib/kontra/state/backends 2026-02-10T19:16:54,604 copying src/kontra/state/backends/__init__.py -> build/lib/kontra/state/backends 2026-02-10T19:16:54,606 copying src/kontra/state/backends/postgres.py -> build/lib/kontra/state/backends 2026-02-10T19:16:54,609 copying src/kontra/state/backends/base.py -> build/lib/kontra/state/backends 2026-02-10T19:16:54,612 copying src/kontra/state/backends/sqlserver.py -> build/lib/kontra/state/backends 2026-02-10T19:16:54,616 copying src/kontra/state/backends/s3.py -> build/lib/kontra/state/backends 2026-02-10T19:16:54,619 copying src/kontra/state/backends/local.py -> build/lib/kontra/state/backends 2026-02-10T19:16:54,622 creating build/lib/kontra/cli/commands 2026-02-10T19:16:54,623 copying src/kontra/cli/commands/__init__.py -> build/lib/kontra/cli/commands 2026-02-10T19:16:54,625 copying src/kontra/cli/commands/validate.py -> build/lib/kontra/cli/commands 2026-02-10T19:16:54,627 copying src/kontra/cli/commands/diff.py -> build/lib/kontra/cli/commands 2026-02-10T19:16:54,630 copying src/kontra/cli/commands/config.py -> build/lib/kontra/cli/commands 2026-02-10T19:16:54,632 copying src/kontra/cli/commands/profile.py -> build/lib/kontra/cli/commands 2026-02-10T19:16:54,634 copying src/kontra/cli/commands/history.py -> build/lib/kontra/cli/commands 2026-02-10T19:16:54,637 creating build/lib/kontra/scout/backends 2026-02-10T19:16:54,638 copying src/kontra/scout/backends/postgres_backend.py -> build/lib/kontra/scout/backends 2026-02-10T19:16:54,641 copying src/kontra/scout/backends/sqlserver_backend.py -> build/lib/kontra/scout/backends 2026-02-10T19:16:54,643 copying src/kontra/scout/backends/__init__.py -> build/lib/kontra/scout/backends 2026-02-10T19:16:54,645 copying src/kontra/scout/backends/duckdb_backend.py -> build/lib/kontra/scout/backends 2026-02-10T19:16:54,648 copying src/kontra/scout/backends/base.py -> build/lib/kontra/scout/backends 2026-02-10T19:16:54,650 creating build/lib/kontra/scout/reporters 2026-02-10T19:16:54,651 copying src/kontra/scout/reporters/json_reporter.py -> build/lib/kontra/scout/reporters 2026-02-10T19:16:54,653 copying src/kontra/scout/reporters/rich_reporter.py -> build/lib/kontra/scout/reporters 2026-02-10T19:16:54,655 copying src/kontra/scout/reporters/markdown_reporter.py -> build/lib/kontra/scout/reporters 2026-02-10T19:16:54,657 copying src/kontra/scout/reporters/__init__.py -> build/lib/kontra/scout/reporters 2026-02-10T19:16:54,659 running egg_info 2026-02-10T19:16:54,669 writing src/kontra.egg-info/PKG-INFO 2026-02-10T19:16:54,675 writing dependency_links to src/kontra.egg-info/dependency_links.txt 2026-02-10T19:16:54,676 writing entry points to src/kontra.egg-info/entry_points.txt 2026-02-10T19:16:54,679 writing requirements to src/kontra.egg-info/requires.txt 2026-02-10T19:16:54,680 writing top-level names to src/kontra.egg-info/top_level.txt 2026-02-10T19:16:54,709 reading manifest file 'src/kontra.egg-info/SOURCES.txt' 2026-02-10T19:16:54,719 adding license file 'LICENSE' 2026-02-10T19:16:54,728 writing manifest file 'src/kontra.egg-info/SOURCES.txt' 2026-02-10T19:16:54,758 installing to build/bdist.linux-armv7l/wheel 2026-02-10T19:16:54,759 running install 2026-02-10T19:16:54,781 running install_lib 2026-02-10T19:16:54,787 creating build/bdist.linux-armv7l/wheel 2026-02-10T19:16:54,789 creating build/bdist.linux-armv7l/wheel/kontra 2026-02-10T19:16:54,791 creating build/bdist.linux-armv7l/wheel/kontra/rule_defs 2026-02-10T19:16:54,792 copying build/lib/kontra/rule_defs/predicates.py -> build/bdist.linux-armv7l/wheel/./kontra/rule_defs 2026-02-10T19:16:54,794 copying build/lib/kontra/rule_defs/factory.py -> build/bdist.linux-armv7l/wheel/./kontra/rule_defs 2026-02-10T19:16:54,796 copying build/lib/kontra/rule_defs/__init__.py -> build/bdist.linux-armv7l/wheel/./kontra/rule_defs 2026-02-10T19:16:54,798 copying build/lib/kontra/rule_defs/base.py -> build/bdist.linux-armv7l/wheel/./kontra/rule_defs 2026-02-10T19:16:54,801 copying build/lib/kontra/rule_defs/execution_plan.py -> build/bdist.linux-armv7l/wheel/./kontra/rule_defs 2026-02-10T19:16:54,803 copying build/lib/kontra/rule_defs/condition_parser.py -> build/bdist.linux-armv7l/wheel/./kontra/rule_defs 2026-02-10T19:16:54,806 creating build/bdist.linux-armv7l/wheel/kontra/rule_defs/builtin 2026-02-10T19:16:54,807 copying build/lib/kontra/rule_defs/builtin/unique.py -> build/bdist.linux-armv7l/wheel/./kontra/rule_defs/builtin 2026-02-10T19:16:54,809 copying build/lib/kontra/rule_defs/builtin/max_rows.py -> build/bdist.linux-armv7l/wheel/./kontra/rule_defs/builtin 2026-02-10T19:16:54,811 copying build/lib/kontra/rule_defs/builtin/compare.py -> build/bdist.linux-armv7l/wheel/./kontra/rule_defs/builtin 2026-02-10T19:16:54,813 copying build/lib/kontra/rule_defs/builtin/custom_sql_check.py -> build/bdist.linux-armv7l/wheel/./kontra/rule_defs/builtin 2026-02-10T19:16:54,816 copying build/lib/kontra/rule_defs/builtin/conditional_range.py -> build/bdist.linux-armv7l/wheel/./kontra/rule_defs/builtin 2026-02-10T19:16:54,818 copying build/lib/kontra/rule_defs/builtin/allowed_values.py -> build/bdist.linux-armv7l/wheel/./kontra/rule_defs/builtin 2026-02-10T19:16:54,820 copying build/lib/kontra/rule_defs/builtin/disallowed_values.py -> build/bdist.linux-armv7l/wheel/./kontra/rule_defs/builtin 2026-02-10T19:16:54,822 copying build/lib/kontra/rule_defs/builtin/conditional_not_null.py -> build/bdist.linux-armv7l/wheel/./kontra/rule_defs/builtin 2026-02-10T19:16:54,825 copying build/lib/kontra/rule_defs/builtin/__init__.py -> build/bdist.linux-armv7l/wheel/./kontra/rule_defs/builtin 2026-02-10T19:16:54,826 copying build/lib/kontra/rule_defs/builtin/not_null.py -> build/bdist.linux-armv7l/wheel/./kontra/rule_defs/builtin 2026-02-10T19:16:54,829 copying build/lib/kontra/rule_defs/builtin/range.py -> build/bdist.linux-armv7l/wheel/./kontra/rule_defs/builtin 2026-02-10T19:16:54,831 copying build/lib/kontra/rule_defs/builtin/starts_with.py -> build/bdist.linux-armv7l/wheel/./kontra/rule_defs/builtin 2026-02-10T19:16:54,833 copying build/lib/kontra/rule_defs/builtin/freshness.py -> build/bdist.linux-armv7l/wheel/./kontra/rule_defs/builtin 2026-02-10T19:16:54,835 copying build/lib/kontra/rule_defs/builtin/ends_with.py -> build/bdist.linux-armv7l/wheel/./kontra/rule_defs/builtin 2026-02-10T19:16:54,837 copying build/lib/kontra/rule_defs/builtin/min_rows.py -> build/bdist.linux-armv7l/wheel/./kontra/rule_defs/builtin 2026-02-10T19:16:54,839 copying build/lib/kontra/rule_defs/builtin/dtype.py -> build/bdist.linux-armv7l/wheel/./kontra/rule_defs/builtin 2026-02-10T19:16:54,842 copying build/lib/kontra/rule_defs/builtin/length.py -> build/bdist.linux-armv7l/wheel/./kontra/rule_defs/builtin 2026-02-10T19:16:54,844 copying build/lib/kontra/rule_defs/builtin/regex.py -> build/bdist.linux-armv7l/wheel/./kontra/rule_defs/builtin 2026-02-10T19:16:54,846 copying build/lib/kontra/rule_defs/builtin/contains.py -> build/bdist.linux-armv7l/wheel/./kontra/rule_defs/builtin 2026-02-10T19:16:54,848 copying build/lib/kontra/rule_defs/static_predicates.py -> build/bdist.linux-armv7l/wheel/./kontra/rule_defs 2026-02-10T19:16:54,850 copying build/lib/kontra/rule_defs/registry.py -> build/bdist.linux-armv7l/wheel/./kontra/rule_defs 2026-02-10T19:16:54,852 creating build/bdist.linux-armv7l/wheel/kontra/engine 2026-02-10T19:16:54,853 copying build/lib/kontra/engine/types.py -> build/bdist.linux-armv7l/wheel/./kontra/engine 2026-02-10T19:16:54,855 copying build/lib/kontra/engine/paths.py -> build/bdist.linux-armv7l/wheel/./kontra/engine 2026-02-10T19:16:54,858 creating build/bdist.linux-armv7l/wheel/kontra/engine/materializers 2026-02-10T19:16:54,859 copying build/lib/kontra/engine/materializers/polars_connector.py -> build/bdist.linux-armv7l/wheel/./kontra/engine/materializers 2026-02-10T19:16:54,861 copying build/lib/kontra/engine/materializers/factory.py -> build/bdist.linux-armv7l/wheel/./kontra/engine/materializers 2026-02-10T19:16:54,863 copying build/lib/kontra/engine/materializers/__init__.py -> build/bdist.linux-armv7l/wheel/./kontra/engine/materializers 2026-02-10T19:16:54,864 copying build/lib/kontra/engine/materializers/duckdb.py -> build/bdist.linux-armv7l/wheel/./kontra/engine/materializers 2026-02-10T19:16:54,866 copying build/lib/kontra/engine/materializers/postgres.py -> build/bdist.linux-armv7l/wheel/./kontra/engine/materializers 2026-02-10T19:16:54,868 copying build/lib/kontra/engine/materializers/base.py -> build/bdist.linux-armv7l/wheel/./kontra/engine/materializers 2026-02-10T19:16:54,870 copying build/lib/kontra/engine/materializers/sqlserver.py -> build/bdist.linux-armv7l/wheel/./kontra/engine/materializers 2026-02-10T19:16:54,872 copying build/lib/kontra/engine/materializers/registry.py -> build/bdist.linux-armv7l/wheel/./kontra/engine/materializers 2026-02-10T19:16:54,875 creating build/bdist.linux-armv7l/wheel/kontra/engine/executors 2026-02-10T19:16:54,876 copying build/lib/kontra/engine/executors/database_base.py -> build/bdist.linux-armv7l/wheel/./kontra/engine/executors 2026-02-10T19:16:54,879 copying build/lib/kontra/engine/executors/sqlserver_sql.py -> build/bdist.linux-armv7l/wheel/./kontra/engine/executors 2026-02-10T19:16:54,881 copying build/lib/kontra/engine/executors/__init__.py -> build/bdist.linux-armv7l/wheel/./kontra/engine/executors 2026-02-10T19:16:54,883 copying build/lib/kontra/engine/executors/postgres_sql.py -> build/bdist.linux-armv7l/wheel/./kontra/engine/executors 2026-02-10T19:16:54,885 copying build/lib/kontra/engine/executors/base.py -> build/bdist.linux-armv7l/wheel/./kontra/engine/executors 2026-02-10T19:16:54,887 copying build/lib/kontra/engine/executors/duckdb_sql.py -> build/bdist.linux-armv7l/wheel/./kontra/engine/executors 2026-02-10T19:16:54,889 copying build/lib/kontra/engine/executors/registry.py -> build/bdist.linux-armv7l/wheel/./kontra/engine/executors 2026-02-10T19:16:54,891 copying build/lib/kontra/engine/__init__.py -> build/bdist.linux-armv7l/wheel/./kontra/engine 2026-02-10T19:16:54,893 copying build/lib/kontra/engine/engine.py -> build/bdist.linux-armv7l/wheel/./kontra/engine 2026-02-10T19:16:54,897 creating build/bdist.linux-armv7l/wheel/kontra/engine/backends 2026-02-10T19:16:54,898 copying build/lib/kontra/engine/backends/polars_backend.py -> build/bdist.linux-armv7l/wheel/./kontra/engine/backends 2026-02-10T19:16:54,900 copying build/lib/kontra/engine/backends/duckdb_utils.py -> build/bdist.linux-armv7l/wheel/./kontra/engine/backends 2026-02-10T19:16:54,902 copying build/lib/kontra/engine/backends/duckdb_session.py -> build/bdist.linux-armv7l/wheel/./kontra/engine/backends 2026-02-10T19:16:54,904 copying build/lib/kontra/engine/sql_utils.py -> build/bdist.linux-armv7l/wheel/./kontra/engine 2026-02-10T19:16:54,907 copying build/lib/kontra/engine/result.py -> build/bdist.linux-armv7l/wheel/./kontra/engine 2026-02-10T19:16:54,909 copying build/lib/kontra/engine/sql_validator.py -> build/bdist.linux-armv7l/wheel/./kontra/engine 2026-02-10T19:16:54,911 copying build/lib/kontra/engine/stats.py -> build/bdist.linux-armv7l/wheel/./kontra/engine 2026-02-10T19:16:54,914 creating build/bdist.linux-armv7l/wheel/kontra/state 2026-02-10T19:16:54,915 copying build/lib/kontra/state/types.py -> build/bdist.linux-armv7l/wheel/./kontra/state 2026-02-10T19:16:54,918 copying build/lib/kontra/state/__init__.py -> build/bdist.linux-armv7l/wheel/./kontra/state 2026-02-10T19:16:54,920 creating build/bdist.linux-armv7l/wheel/kontra/state/backends 2026-02-10T19:16:54,921 copying build/lib/kontra/state/backends/__init__.py -> build/bdist.linux-armv7l/wheel/./kontra/state/backends 2026-02-10T19:16:54,923 copying build/lib/kontra/state/backends/postgres.py -> build/bdist.linux-armv7l/wheel/./kontra/state/backends 2026-02-10T19:16:54,926 copying build/lib/kontra/state/backends/base.py -> build/bdist.linux-armv7l/wheel/./kontra/state/backends 2026-02-10T19:16:54,928 copying build/lib/kontra/state/backends/sqlserver.py -> build/bdist.linux-armv7l/wheel/./kontra/state/backends 2026-02-10T19:16:54,931 copying build/lib/kontra/state/backends/s3.py -> build/bdist.linux-armv7l/wheel/./kontra/state/backends 2026-02-10T19:16:54,933 copying build/lib/kontra/state/backends/local.py -> build/bdist.linux-armv7l/wheel/./kontra/state/backends 2026-02-10T19:16:54,936 copying build/lib/kontra/state/fingerprint.py -> build/bdist.linux-armv7l/wheel/./kontra/state 2026-02-10T19:16:54,939 creating build/bdist.linux-armv7l/wheel/kontra/api 2026-02-10T19:16:54,940 copying build/lib/kontra/api/results.py -> build/bdist.linux-armv7l/wheel/./kontra/api 2026-02-10T19:16:54,944 copying build/lib/kontra/api/decorators.py -> build/bdist.linux-armv7l/wheel/./kontra/api 2026-02-10T19:16:54,946 copying build/lib/kontra/api/compare.py -> build/bdist.linux-armv7l/wheel/./kontra/api 2026-02-10T19:16:54,949 copying build/lib/kontra/api/__init__.py -> build/bdist.linux-armv7l/wheel/./kontra/api 2026-02-10T19:16:54,951 copying build/lib/kontra/api/rules.py -> build/bdist.linux-armv7l/wheel/./kontra/api 2026-02-10T19:16:54,954 creating build/bdist.linux-armv7l/wheel/kontra/config 2026-02-10T19:16:54,955 copying build/lib/kontra/config/models.py -> build/bdist.linux-armv7l/wheel/./kontra/config 2026-02-10T19:16:54,957 copying build/lib/kontra/config/__init__.py -> build/bdist.linux-armv7l/wheel/./kontra/config 2026-02-10T19:16:54,959 copying build/lib/kontra/config/loader.py -> build/bdist.linux-armv7l/wheel/./kontra/config 2026-02-10T19:16:54,962 copying build/lib/kontra/config/settings.py -> build/bdist.linux-armv7l/wheel/./kontra/config 2026-02-10T19:16:54,964 copying build/lib/kontra/__init__.py -> build/bdist.linux-armv7l/wheel/./kontra 2026-02-10T19:16:54,969 creating build/bdist.linux-armv7l/wheel/kontra/cli 2026-02-10T19:16:54,970 copying build/lib/kontra/cli/renderers.py -> build/bdist.linux-armv7l/wheel/./kontra/cli 2026-02-10T19:16:54,972 copying build/lib/kontra/cli/__init__.py -> build/bdist.linux-armv7l/wheel/./kontra/cli 2026-02-10T19:16:54,974 copying build/lib/kontra/cli/constants.py -> build/bdist.linux-armv7l/wheel/./kontra/cli 2026-02-10T19:16:54,976 copying build/lib/kontra/cli/main.py -> build/bdist.linux-armv7l/wheel/./kontra/cli 2026-02-10T19:16:54,978 copying build/lib/kontra/cli/utils.py -> build/bdist.linux-armv7l/wheel/./kontra/cli 2026-02-10T19:16:54,981 creating build/bdist.linux-armv7l/wheel/kontra/cli/commands 2026-02-10T19:16:54,982 copying build/lib/kontra/cli/commands/__init__.py -> build/bdist.linux-armv7l/wheel/./kontra/cli/commands 2026-02-10T19:16:54,984 copying build/lib/kontra/cli/commands/validate.py -> build/bdist.linux-armv7l/wheel/./kontra/cli/commands 2026-02-10T19:16:54,987 copying build/lib/kontra/cli/commands/diff.py -> build/bdist.linux-armv7l/wheel/./kontra/cli/commands 2026-02-10T19:16:54,990 copying build/lib/kontra/cli/commands/config.py -> build/bdist.linux-armv7l/wheel/./kontra/cli/commands 2026-02-10T19:16:54,992 copying build/lib/kontra/cli/commands/profile.py -> build/bdist.linux-armv7l/wheel/./kontra/cli/commands 2026-02-10T19:16:54,994 copying build/lib/kontra/cli/commands/history.py -> build/bdist.linux-armv7l/wheel/./kontra/cli/commands 2026-02-10T19:16:54,996 copying build/lib/kontra/errors.py -> build/bdist.linux-armv7l/wheel/./kontra 2026-02-10T19:16:54,999 copying build/lib/kontra/logging.py -> build/bdist.linux-armv7l/wheel/./kontra 2026-02-10T19:16:55,001 copying build/lib/kontra/version.py -> build/bdist.linux-armv7l/wheel/./kontra 2026-02-10T19:16:55,003 creating build/bdist.linux-armv7l/wheel/kontra/probes 2026-02-10T19:16:55,004 copying build/lib/kontra/probes/compare.py -> build/bdist.linux-armv7l/wheel/./kontra/probes 2026-02-10T19:16:55,007 copying build/lib/kontra/probes/__init__.py -> build/bdist.linux-armv7l/wheel/./kontra/probes 2026-02-10T19:16:55,009 copying build/lib/kontra/probes/relationship.py -> build/bdist.linux-armv7l/wheel/./kontra/probes 2026-02-10T19:16:55,012 copying build/lib/kontra/probes/utils.py -> build/bdist.linux-armv7l/wheel/./kontra/probes 2026-02-10T19:16:55,014 creating build/bdist.linux-armv7l/wheel/kontra/reporters 2026-02-10T19:16:55,015 copying build/lib/kontra/reporters/json_reporter.py -> build/bdist.linux-armv7l/wheel/./kontra/reporters 2026-02-10T19:16:55,017 copying build/lib/kontra/reporters/rich_reporter.py -> build/bdist.linux-armv7l/wheel/./kontra/reporters 2026-02-10T19:16:55,019 copying build/lib/kontra/reporters/__init__.py -> build/bdist.linux-armv7l/wheel/./kontra/reporters 2026-02-10T19:16:55,021 creating build/bdist.linux-armv7l/wheel/kontra/connectors 2026-02-10T19:16:55,022 copying build/lib/kontra/connectors/handle.py -> build/bdist.linux-armv7l/wheel/./kontra/connectors 2026-02-10T19:16:55,025 copying build/lib/kontra/connectors/__init__.py -> build/bdist.linux-armv7l/wheel/./kontra/connectors 2026-02-10T19:16:55,027 copying build/lib/kontra/connectors/detection.py -> build/bdist.linux-armv7l/wheel/./kontra/connectors 2026-02-10T19:16:55,029 copying build/lib/kontra/connectors/postgres.py -> build/bdist.linux-armv7l/wheel/./kontra/connectors 2026-02-10T19:16:55,031 copying build/lib/kontra/connectors/sqlserver.py -> build/bdist.linux-armv7l/wheel/./kontra/connectors 2026-02-10T19:16:55,033 copying build/lib/kontra/connectors/db_utils.py -> build/bdist.linux-armv7l/wheel/./kontra/connectors 2026-02-10T19:16:55,036 creating build/bdist.linux-armv7l/wheel/kontra/preplan 2026-02-10T19:16:55,037 copying build/lib/kontra/preplan/types.py -> build/bdist.linux-armv7l/wheel/./kontra/preplan 2026-02-10T19:16:55,039 copying build/lib/kontra/preplan/__init__.py -> build/bdist.linux-armv7l/wheel/./kontra/preplan 2026-02-10T19:16:55,041 copying build/lib/kontra/preplan/planner.py -> build/bdist.linux-armv7l/wheel/./kontra/preplan 2026-02-10T19:16:55,043 copying build/lib/kontra/preplan/postgres.py -> build/bdist.linux-armv7l/wheel/./kontra/preplan 2026-02-10T19:16:55,045 copying build/lib/kontra/preplan/sqlserver.py -> build/bdist.linux-armv7l/wheel/./kontra/preplan 2026-02-10T19:16:55,048 creating build/bdist.linux-armv7l/wheel/kontra/scout 2026-02-10T19:16:55,049 copying build/lib/kontra/scout/types.py -> build/bdist.linux-armv7l/wheel/./kontra/scout 2026-02-10T19:16:55,053 copying build/lib/kontra/scout/suggest.py -> build/bdist.linux-armv7l/wheel/./kontra/scout 2026-02-10T19:16:55,055 copying build/lib/kontra/scout/store.py -> build/bdist.linux-armv7l/wheel/./kontra/scout 2026-02-10T19:16:55,057 copying build/lib/kontra/scout/__init__.py -> build/bdist.linux-armv7l/wheel/./kontra/scout 2026-02-10T19:16:55,059 copying build/lib/kontra/scout/patterns.py -> build/bdist.linux-armv7l/wheel/./kontra/scout 2026-02-10T19:16:55,061 copying build/lib/kontra/scout/profiler.py -> build/bdist.linux-armv7l/wheel/./kontra/scout 2026-02-10T19:16:55,064 creating build/bdist.linux-armv7l/wheel/kontra/scout/backends 2026-02-10T19:16:55,065 copying build/lib/kontra/scout/backends/postgres_backend.py -> build/bdist.linux-armv7l/wheel/./kontra/scout/backends 2026-02-10T19:16:55,068 copying build/lib/kontra/scout/backends/sqlserver_backend.py -> build/bdist.linux-armv7l/wheel/./kontra/scout/backends 2026-02-10T19:16:55,071 copying build/lib/kontra/scout/backends/__init__.py -> build/bdist.linux-armv7l/wheel/./kontra/scout/backends 2026-02-10T19:16:55,072 copying build/lib/kontra/scout/backends/duckdb_backend.py -> build/bdist.linux-armv7l/wheel/./kontra/scout/backends 2026-02-10T19:16:55,075 copying build/lib/kontra/scout/backends/base.py -> build/bdist.linux-armv7l/wheel/./kontra/scout/backends 2026-02-10T19:16:55,077 copying build/lib/kontra/scout/dtype_mapping.py -> build/bdist.linux-armv7l/wheel/./kontra/scout 2026-02-10T19:16:55,080 creating build/bdist.linux-armv7l/wheel/kontra/scout/reporters 2026-02-10T19:16:55,081 copying build/lib/kontra/scout/reporters/json_reporter.py -> build/bdist.linux-armv7l/wheel/./kontra/scout/reporters 2026-02-10T19:16:55,083 copying build/lib/kontra/scout/reporters/rich_reporter.py -> build/bdist.linux-armv7l/wheel/./kontra/scout/reporters 2026-02-10T19:16:55,086 copying build/lib/kontra/scout/reporters/markdown_reporter.py -> build/bdist.linux-armv7l/wheel/./kontra/scout/reporters 2026-02-10T19:16:55,088 copying build/lib/kontra/scout/reporters/__init__.py -> build/bdist.linux-armv7l/wheel/./kontra/scout/reporters 2026-02-10T19:16:55,090 running install_egg_info 2026-02-10T19:16:55,095 Copying src/kontra.egg-info to build/bdist.linux-armv7l/wheel/./kontra-0.6.0-py3.11.egg-info 2026-02-10T19:16:55,108 running install_scripts 2026-02-10T19:16:55,121 creating build/bdist.linux-armv7l/wheel/kontra-0.6.0.dist-info/WHEEL 2026-02-10T19:16:55,124 creating '/tmp/pip-wheel-9ue9e74q/.tmp-wnkv6avj/kontra-0.6.0-py3-none-any.whl' and adding 'build/bdist.linux-armv7l/wheel' to it 2026-02-10T19:16:55,133 adding 'kontra/__init__.py' 2026-02-10T19:16:55,136 adding 'kontra/errors.py' 2026-02-10T19:16:55,138 adding 'kontra/logging.py' 2026-02-10T19:16:55,139 adding 'kontra/version.py' 2026-02-10T19:16:55,141 adding 'kontra/api/__init__.py' 2026-02-10T19:16:55,143 adding 'kontra/api/compare.py' 2026-02-10T19:16:55,145 adding 'kontra/api/decorators.py' 2026-02-10T19:16:55,155 adding 'kontra/api/results.py' 2026-02-10T19:16:55,158 adding 'kontra/api/rules.py' 2026-02-10T19:16:55,160 adding 'kontra/cli/__init__.py' 2026-02-10T19:16:55,161 adding 'kontra/cli/constants.py' 2026-02-10T19:16:55,162 adding 'kontra/cli/main.py' 2026-02-10T19:16:55,164 adding 'kontra/cli/renderers.py' 2026-02-10T19:16:55,166 adding 'kontra/cli/utils.py' 2026-02-10T19:16:55,168 adding 'kontra/cli/commands/__init__.py' 2026-02-10T19:16:55,169 adding 'kontra/cli/commands/config.py' 2026-02-10T19:16:55,172 adding 'kontra/cli/commands/diff.py' 2026-02-10T19:16:55,174 adding 'kontra/cli/commands/history.py' 2026-02-10T19:16:55,175 adding 'kontra/cli/commands/profile.py' 2026-02-10T19:16:55,178 adding 'kontra/cli/commands/validate.py' 2026-02-10T19:16:55,180 adding 'kontra/config/__init__.py' 2026-02-10T19:16:55,181 adding 'kontra/config/loader.py' 2026-02-10T19:16:55,183 adding 'kontra/config/models.py' 2026-02-10T19:16:55,186 adding 'kontra/config/settings.py' 2026-02-10T19:16:55,188 adding 'kontra/connectors/__init__.py' 2026-02-10T19:16:55,189 adding 'kontra/connectors/db_utils.py' 2026-02-10T19:16:55,191 adding 'kontra/connectors/detection.py' 2026-02-10T19:16:55,194 adding 'kontra/connectors/handle.py' 2026-02-10T19:16:55,196 adding 'kontra/connectors/postgres.py' 2026-02-10T19:16:55,197 adding 'kontra/connectors/sqlserver.py' 2026-02-10T19:16:55,199 adding 'kontra/engine/__init__.py' 2026-02-10T19:16:55,207 adding 'kontra/engine/engine.py' 2026-02-10T19:16:55,209 adding 'kontra/engine/paths.py' 2026-02-10T19:16:55,210 adding 'kontra/engine/result.py' 2026-02-10T19:16:55,213 adding 'kontra/engine/sql_utils.py' 2026-02-10T19:16:55,216 adding 'kontra/engine/sql_validator.py' 2026-02-10T19:16:55,218 adding 'kontra/engine/stats.py' 2026-02-10T19:16:55,219 adding 'kontra/engine/types.py' 2026-02-10T19:16:55,221 adding 'kontra/engine/backends/duckdb_session.py' 2026-02-10T19:16:55,222 adding 'kontra/engine/backends/duckdb_utils.py' 2026-02-10T19:16:55,224 adding 'kontra/engine/backends/polars_backend.py' 2026-02-10T19:16:55,225 adding 'kontra/engine/executors/__init__.py' 2026-02-10T19:16:55,227 adding 'kontra/engine/executors/base.py' 2026-02-10T19:16:55,229 adding 'kontra/engine/executors/database_base.py' 2026-02-10T19:16:55,233 adding 'kontra/engine/executors/duckdb_sql.py' 2026-02-10T19:16:55,234 adding 'kontra/engine/executors/postgres_sql.py' 2026-02-10T19:16:55,236 adding 'kontra/engine/executors/registry.py' 2026-02-10T19:16:55,238 adding 'kontra/engine/executors/sqlserver_sql.py' 2026-02-10T19:16:55,239 adding 'kontra/engine/materializers/__init__.py' 2026-02-10T19:16:55,241 adding 'kontra/engine/materializers/base.py' 2026-02-10T19:16:55,242 adding 'kontra/engine/materializers/duckdb.py' 2026-02-10T19:16:55,243 adding 'kontra/engine/materializers/factory.py' 2026-02-10T19:16:55,245 adding 'kontra/engine/materializers/polars_connector.py' 2026-02-10T19:16:55,247 adding 'kontra/engine/materializers/postgres.py' 2026-02-10T19:16:55,248 adding 'kontra/engine/materializers/registry.py' 2026-02-10T19:16:55,250 adding 'kontra/engine/materializers/sqlserver.py' 2026-02-10T19:16:55,252 adding 'kontra/preplan/__init__.py' 2026-02-10T19:16:55,254 adding 'kontra/preplan/planner.py' 2026-02-10T19:16:55,255 adding 'kontra/preplan/postgres.py' 2026-02-10T19:16:55,257 adding 'kontra/preplan/sqlserver.py' 2026-02-10T19:16:55,258 adding 'kontra/preplan/types.py' 2026-02-10T19:16:55,260 adding 'kontra/probes/__init__.py' 2026-02-10T19:16:55,262 adding 'kontra/probes/compare.py' 2026-02-10T19:16:55,264 adding 'kontra/probes/relationship.py' 2026-02-10T19:16:55,265 adding 'kontra/probes/utils.py' 2026-02-10T19:16:55,267 adding 'kontra/reporters/__init__.py' 2026-02-10T19:16:55,269 adding 'kontra/reporters/json_reporter.py' 2026-02-10T19:16:55,270 adding 'kontra/reporters/rich_reporter.py' 2026-02-10T19:16:55,272 adding 'kontra/rule_defs/__init__.py' 2026-02-10T19:16:55,273 adding 'kontra/rule_defs/base.py' 2026-02-10T19:16:55,275 adding 'kontra/rule_defs/condition_parser.py' 2026-02-10T19:16:55,278 adding 'kontra/rule_defs/execution_plan.py' 2026-02-10T19:16:55,280 adding 'kontra/rule_defs/factory.py' 2026-02-10T19:16:55,281 adding 'kontra/rule_defs/predicates.py' 2026-02-10T19:16:55,282 adding 'kontra/rule_defs/registry.py' 2026-02-10T19:16:55,284 adding 'kontra/rule_defs/static_predicates.py' 2026-02-10T19:16:55,286 adding 'kontra/rule_defs/builtin/__init__.py' 2026-02-10T19:16:55,288 adding 'kontra/rule_defs/builtin/allowed_values.py' 2026-02-10T19:16:55,289 adding 'kontra/rule_defs/builtin/compare.py' 2026-02-10T19:16:55,291 adding 'kontra/rule_defs/builtin/conditional_not_null.py' 2026-02-10T19:16:55,293 adding 'kontra/rule_defs/builtin/conditional_range.py' 2026-02-10T19:16:55,295 adding 'kontra/rule_defs/builtin/contains.py' 2026-02-10T19:16:55,296 adding 'kontra/rule_defs/builtin/custom_sql_check.py' 2026-02-10T19:16:55,298 adding 'kontra/rule_defs/builtin/disallowed_values.py' 2026-02-10T19:16:55,300 adding 'kontra/rule_defs/builtin/dtype.py' 2026-02-10T19:16:55,302 adding 'kontra/rule_defs/builtin/ends_with.py' 2026-02-10T19:16:55,303 adding 'kontra/rule_defs/builtin/freshness.py' 2026-02-10T19:16:55,305 adding 'kontra/rule_defs/builtin/length.py' 2026-02-10T19:16:55,307 adding 'kontra/rule_defs/builtin/max_rows.py' 2026-02-10T19:16:55,308 adding 'kontra/rule_defs/builtin/min_rows.py' 2026-02-10T19:16:55,310 adding 'kontra/rule_defs/builtin/not_null.py' 2026-02-10T19:16:55,311 adding 'kontra/rule_defs/builtin/range.py' 2026-02-10T19:16:55,313 adding 'kontra/rule_defs/builtin/regex.py' 2026-02-10T19:16:55,314 adding 'kontra/rule_defs/builtin/starts_with.py' 2026-02-10T19:16:55,316 adding 'kontra/rule_defs/builtin/unique.py' 2026-02-10T19:16:55,317 adding 'kontra/scout/__init__.py' 2026-02-10T19:16:55,319 adding 'kontra/scout/dtype_mapping.py' 2026-02-10T19:16:55,320 adding 'kontra/scout/patterns.py' 2026-02-10T19:16:55,324 adding 'kontra/scout/profiler.py' 2026-02-10T19:16:55,326 adding 'kontra/scout/store.py' 2026-02-10T19:16:55,327 adding 'kontra/scout/suggest.py' 2026-02-10T19:16:55,330 adding 'kontra/scout/types.py' 2026-02-10T19:16:55,332 adding 'kontra/scout/backends/__init__.py' 2026-02-10T19:16:55,333 adding 'kontra/scout/backends/base.py' 2026-02-10T19:16:55,335 adding 'kontra/scout/backends/duckdb_backend.py' 2026-02-10T19:16:55,338 adding 'kontra/scout/backends/postgres_backend.py' 2026-02-10T19:16:55,341 adding 'kontra/scout/backends/sqlserver_backend.py' 2026-02-10T19:16:55,343 adding 'kontra/scout/reporters/__init__.py' 2026-02-10T19:16:55,344 adding 'kontra/scout/reporters/json_reporter.py' 2026-02-10T19:16:55,346 adding 'kontra/scout/reporters/markdown_reporter.py' 2026-02-10T19:16:55,347 adding 'kontra/scout/reporters/rich_reporter.py' 2026-02-10T19:16:55,349 adding 'kontra/state/__init__.py' 2026-02-10T19:16:55,351 adding 'kontra/state/fingerprint.py' 2026-02-10T19:16:55,355 adding 'kontra/state/types.py' 2026-02-10T19:16:55,358 adding 'kontra/state/backends/__init__.py' 2026-02-10T19:16:55,359 adding 'kontra/state/backends/base.py' 2026-02-10T19:16:55,362 adding 'kontra/state/backends/local.py' 2026-02-10T19:16:55,366 adding 'kontra/state/backends/postgres.py' 2026-02-10T19:16:55,369 adding 'kontra/state/backends/s3.py' 2026-02-10T19:16:55,372 adding 'kontra/state/backends/sqlserver.py' 2026-02-10T19:16:55,375 adding 'kontra-0.6.0.dist-info/licenses/LICENSE' 2026-02-10T19:16:55,377 adding 'kontra-0.6.0.dist-info/METADATA' 2026-02-10T19:16:55,378 adding 'kontra-0.6.0.dist-info/WHEEL' 2026-02-10T19:16:55,379 adding 'kontra-0.6.0.dist-info/entry_points.txt' 2026-02-10T19:16:55,380 adding 'kontra-0.6.0.dist-info/top_level.txt' 2026-02-10T19:16:55,382 adding 'kontra-0.6.0.dist-info/RECORD' 2026-02-10T19:16:55,388 removing build/bdist.linux-armv7l/wheel 2026-02-10T19:16:55,737 Building wheel for kontra (pyproject.toml): finished with status 'done' 2026-02-10T19:16:55,750 Created wheel for kontra: filename=kontra-0.6.0-py3-none-any.whl size=319608 sha256=dcd44750235c546f75e7420aa2736d60c14340bd67af8c89fc7593d512cad42b 2026-02-10T19:16:55,752 Stored in directory: /tmp/pip-ephem-wheel-cache-n5ezezf9/wheels/e1/cd/82/b89a599f22e8794525dc2fd84703294bcbf49875191d23bd24 2026-02-10T19:16:55,769 Successfully built kontra 2026-02-10T19:16:55,784 Removed build tracker: '/tmp/pip-build-tracker-yq658r_2'