2026-02-11T09:04:06,541 Created temporary directory: /tmp/pip-ephem-wheel-cache-vh3gmux7 2026-02-11T09:04:06,542 Created temporary directory: /tmp/pip-build-tracker-fw7j7nl6 2026-02-11T09:04:06,543 Initialized build tracking at /tmp/pip-build-tracker-fw7j7nl6 2026-02-11T09:04:06,543 Created build tracker: /tmp/pip-build-tracker-fw7j7nl6 2026-02-11T09:04:06,544 Entered build tracker: /tmp/pip-build-tracker-fw7j7nl6 2026-02-11T09:04:06,545 Created temporary directory: /tmp/pip-wheel-977o7q63 2026-02-11T09:04:06,547 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-11T09:04:06,550 Created temporary directory: /tmp/pip-ephem-wheel-cache-d2kocdzk 2026-02-11T09:04:06,571 Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple 2026-02-11T09:04:06,575 2 location(s) to search for versions of kontra: 2026-02-11T09:04:06,575 * https://pypi.org/simple/kontra/ 2026-02-11T09:04:06,575 * https://www.piwheels.org/simple/kontra/ 2026-02-11T09:04:06,575 Fetching project page and analyzing links: https://pypi.org/simple/kontra/ 2026-02-11T09:04:06,576 Getting page https://pypi.org/simple/kontra/ 2026-02-11T09:04:06,577 Found index url https://pypi.org/simple 2026-02-11T09:04:06,787 Fetched page https://pypi.org/simple/kontra/ as application/vnd.pypi.simple.v1+json 2026-02-11T09:04:06,791 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-11T09:04:06,792 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-11T09:04:06,793 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-11T09:04:06,793 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-11T09:04:06,794 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-11T09:04:06,795 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-11T09:04:06,796 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-11T09:04:06,797 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-11T09:04:06,797 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-11T09:04:06,798 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-11T09:04:06,799 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-11T09:04:06,800 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-11T09:04:06,800 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-11T09:04:06,801 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-11T09:04:06,802 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-11T09:04:06,803 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-11T09:04:06,803 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-11T09:04:06,804 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-11T09:04:06,805 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-11T09:04:06,806 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-11T09:04:06,807 Fetching project page and analyzing links: https://www.piwheels.org/simple/kontra/ 2026-02-11T09:04:06,807 Getting page https://www.piwheels.org/simple/kontra/ 2026-02-11T09:04:06,808 Found index url https://www.piwheels.org/simple 2026-02-11T09:04:06,959 Fetched page https://www.piwheels.org/simple/kontra/ as text/html 2026-02-11T09:04:06,963 Skipping link: No binaries permitted for kontra: https://www.piwheels.org/simple/kontra/kontra-0.6.1-py3-none-any.whl#sha256=c8cf8c5371e154760be0bc01ce18ffcde559db9fbf37c335f56db104fa16aa66 (from https://www.piwheels.org/simple/kontra/) (requires-python:>=3.10) 2026-02-11T09:04:06,964 Skipping link: No binaries permitted for kontra: https://www.piwheels.org/simple/kontra/kontra-0.6.0-py3-none-any.whl#sha256=dcd44750235c546f75e7420aa2736d60c14340bd67af8c89fc7593d512cad42b (from https://www.piwheels.org/simple/kontra/) (requires-python:>=3.10) 2026-02-11T09:04:06,964 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-11T09:04:06,965 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-11T09:04:06,965 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-11T09:04:06,966 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-11T09:04:06,966 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-11T09:04:06,967 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-11T09:04:06,967 Skipping link: not a file: https://www.piwheels.org/simple/kontra/ 2026-02-11T09:04:06,968 Skipping link: not a file: https://pypi.org/simple/kontra/ 2026-02-11T09:04:06,987 Given no hashes to check 1 links for project 'kontra': discarding no candidates 2026-02-11T09:04:07,005 Collecting kontra==0.6.2 2026-02-11T09:04:07,007 Created temporary directory: /tmp/pip-unpack-cdpfvf46 2026-02-11T09:04:07,218 Downloading kontra-0.6.2.tar.gz (363 kB) 2026-02-11T09:04:07,681 Added kontra==0.6.2 from https://files.pythonhosted.org/packages/c6/09/550250bcf89df425f648005f2a374f49f50359a30f21015e788c58073774/kontra-0.6.2.tar.gz to build tracker '/tmp/pip-build-tracker-fw7j7nl6' 2026-02-11T09:04:07,686 Created temporary directory: /tmp/pip-build-env-lm_1kubj 2026-02-11T09:04:07,691 Installing build dependencies: started 2026-02-11T09:04:07,692 Running command pip subprocess to install build dependencies 2026-02-11T09:04:08,866 Using pip 23.0.1 from /usr/lib/python3/dist-packages/pip (python 3.11) 2026-02-11T09:04:09,723 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-11T09:04:09,746 Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple 2026-02-11T09:04:11,498 Collecting setuptools>=69 2026-02-11T09:04:11,518 Using cached setuptools-82.0.0-py3-none-any.whl (1.0 MB) 2026-02-11T09:04:11,823 Collecting wheel 2026-02-11T09:04:11,839 Using cached https://www.piwheels.org/simple/wheel/wheel-0.46.3-py3-none-any.whl (30 kB) 2026-02-11T09:04:12,021 Collecting packaging>=24.0 2026-02-11T09:04:12,039 Using cached https://www.piwheels.org/simple/packaging/packaging-26.0-py3-none-any.whl (74 kB) 2026-02-11T09:04:15,033 Installing collected packages: setuptools, packaging, wheel 2026-02-11T09:04:18,386 Creating /tmp/pip-build-env-lm_1kubj/overlay/local/bin 2026-02-11T09:04:18,388 changing mode of /tmp/pip-build-env-lm_1kubj/overlay/local/bin/wheel to 755 2026-02-11T09:04:18,407 Successfully installed packaging-26.0 setuptools-82.0.0 wheel-0.46.3 2026-02-11T09:04:18,690 Installing build dependencies: finished with status 'done' 2026-02-11T09:04:18,696 Getting requirements to build wheel: started 2026-02-11T09:04:18,697 Running command Getting requirements to build wheel 2026-02-11T09:04:19,302 /tmp/pip-build-env-lm_1kubj/overlay/local/lib/python3.11/dist-packages/setuptools/config/_apply_pyprojecttoml.py:82: SetuptoolsDeprecationWarning: `project.license` as a TOML table is deprecated 2026-02-11T09:04:19,303 !! 2026-02-11T09:04:19,304 ******************************************************************************** 2026-02-11T09:04:19,304 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-11T09:04:19,305 By 2027-Feb-18, you need to update your project and remove deprecated calls 2026-02-11T09:04:19,305 or your builds will no longer be supported. 2026-02-11T09:04:19,306 See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. 2026-02-11T09:04:19,307 ******************************************************************************** 2026-02-11T09:04:19,308 !! 2026-02-11T09:04:19,308 corresp(dist, value, root_dir) 2026-02-11T09:04:19,383 /tmp/pip-build-env-lm_1kubj/overlay/local/lib/python3.11/dist-packages/setuptools/config/_apply_pyprojecttoml.py:61: SetuptoolsDeprecationWarning: License classifiers are deprecated. 2026-02-11T09:04:19,384 !! 2026-02-11T09:04:19,384 ******************************************************************************** 2026-02-11T09:04:19,385 Please consider removing the following classifiers in favor of a SPDX license expression: 2026-02-11T09:04:19,386 License :: OSI Approved :: Apache Software License 2026-02-11T09:04:19,387 See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. 2026-02-11T09:04:19,387 ******************************************************************************** 2026-02-11T09:04:19,388 !! 2026-02-11T09:04:19,389 dist._finalize_license_expression() 2026-02-11T09:04:19,389 /tmp/pip-build-env-lm_1kubj/overlay/local/lib/python3.11/dist-packages/setuptools/dist.py:765: SetuptoolsDeprecationWarning: License classifiers are deprecated. 2026-02-11T09:04:19,390 !! 2026-02-11T09:04:19,391 ******************************************************************************** 2026-02-11T09:04:19,392 Please consider removing the following classifiers in favor of a SPDX license expression: 2026-02-11T09:04:19,393 License :: OSI Approved :: Apache Software License 2026-02-11T09:04:19,394 See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. 2026-02-11T09:04:19,395 ******************************************************************************** 2026-02-11T09:04:19,396 !! 2026-02-11T09:04:19,397 self._finalize_license_expression() 2026-02-11T09:04:19,397 running egg_info 2026-02-11T09:04:19,400 writing src/kontra.egg-info/PKG-INFO 2026-02-11T09:04:19,406 writing dependency_links to src/kontra.egg-info/dependency_links.txt 2026-02-11T09:04:19,408 writing entry points to src/kontra.egg-info/entry_points.txt 2026-02-11T09:04:19,412 writing requirements to src/kontra.egg-info/requires.txt 2026-02-11T09:04:19,413 writing top-level names to src/kontra.egg-info/top_level.txt 2026-02-11T09:04:19,458 reading manifest file 'src/kontra.egg-info/SOURCES.txt' 2026-02-11T09:04:19,468 adding license file 'LICENSE' 2026-02-11T09:04:19,477 writing manifest file 'src/kontra.egg-info/SOURCES.txt' 2026-02-11T09:04:19,574 Getting requirements to build wheel: finished with status 'done' 2026-02-11T09:04:19,578 Created temporary directory: /tmp/pip-modern-metadata-y9paozh9 2026-02-11T09:04:19,580 Preparing metadata (pyproject.toml): started 2026-02-11T09:04:19,581 Running command Preparing metadata (pyproject.toml) 2026-02-11T09:04:20,156 /tmp/pip-build-env-lm_1kubj/overlay/local/lib/python3.11/dist-packages/setuptools/config/_apply_pyprojecttoml.py:82: SetuptoolsDeprecationWarning: `project.license` as a TOML table is deprecated 2026-02-11T09:04:20,156 !! 2026-02-11T09:04:20,158 ******************************************************************************** 2026-02-11T09:04:20,158 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-11T09:04:20,160 By 2027-Feb-18, you need to update your project and remove deprecated calls 2026-02-11T09:04:20,160 or your builds will no longer be supported. 2026-02-11T09:04:20,161 See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. 2026-02-11T09:04:20,161 ******************************************************************************** 2026-02-11T09:04:20,162 !! 2026-02-11T09:04:20,163 corresp(dist, value, root_dir) 2026-02-11T09:04:20,234 /tmp/pip-build-env-lm_1kubj/overlay/local/lib/python3.11/dist-packages/setuptools/config/_apply_pyprojecttoml.py:61: SetuptoolsDeprecationWarning: License classifiers are deprecated. 2026-02-11T09:04:20,235 !! 2026-02-11T09:04:20,236 ******************************************************************************** 2026-02-11T09:04:20,236 Please consider removing the following classifiers in favor of a SPDX license expression: 2026-02-11T09:04:20,237 License :: OSI Approved :: Apache Software License 2026-02-11T09:04:20,238 See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. 2026-02-11T09:04:20,239 ******************************************************************************** 2026-02-11T09:04:20,240 !! 2026-02-11T09:04:20,240 dist._finalize_license_expression() 2026-02-11T09:04:20,241 /tmp/pip-build-env-lm_1kubj/overlay/local/lib/python3.11/dist-packages/setuptools/dist.py:765: SetuptoolsDeprecationWarning: License classifiers are deprecated. 2026-02-11T09:04:20,241 !! 2026-02-11T09:04:20,242 ******************************************************************************** 2026-02-11T09:04:20,243 Please consider removing the following classifiers in favor of a SPDX license expression: 2026-02-11T09:04:20,244 License :: OSI Approved :: Apache Software License 2026-02-11T09:04:20,245 See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. 2026-02-11T09:04:20,246 ******************************************************************************** 2026-02-11T09:04:20,247 !! 2026-02-11T09:04:20,248 self._finalize_license_expression() 2026-02-11T09:04:20,248 running dist_info 2026-02-11T09:04:20,258 creating /tmp/pip-modern-metadata-y9paozh9/kontra.egg-info 2026-02-11T09:04:20,259 writing /tmp/pip-modern-metadata-y9paozh9/kontra.egg-info/PKG-INFO 2026-02-11T09:04:20,265 writing dependency_links to /tmp/pip-modern-metadata-y9paozh9/kontra.egg-info/dependency_links.txt 2026-02-11T09:04:20,267 writing entry points to /tmp/pip-modern-metadata-y9paozh9/kontra.egg-info/entry_points.txt 2026-02-11T09:04:20,271 writing requirements to /tmp/pip-modern-metadata-y9paozh9/kontra.egg-info/requires.txt 2026-02-11T09:04:20,272 writing top-level names to /tmp/pip-modern-metadata-y9paozh9/kontra.egg-info/top_level.txt 2026-02-11T09:04:20,273 writing manifest file '/tmp/pip-modern-metadata-y9paozh9/kontra.egg-info/SOURCES.txt' 2026-02-11T09:04:20,312 reading manifest file '/tmp/pip-modern-metadata-y9paozh9/kontra.egg-info/SOURCES.txt' 2026-02-11T09:04:20,314 adding license file 'LICENSE' 2026-02-11T09:04:20,321 writing manifest file '/tmp/pip-modern-metadata-y9paozh9/kontra.egg-info/SOURCES.txt' 2026-02-11T09:04:20,322 creating '/tmp/pip-modern-metadata-y9paozh9/kontra-0.6.2.dist-info' 2026-02-11T09:04:20,450 Preparing metadata (pyproject.toml): finished with status 'done' 2026-02-11T09:04:20,455 Source in /tmp/pip-wheel-977o7q63/kontra_063efb6c5be44b14bda0ece178f712b6 has version 0.6.2, which satisfies requirement kontra==0.6.2 from https://files.pythonhosted.org/packages/c6/09/550250bcf89df425f648005f2a374f49f50359a30f21015e788c58073774/kontra-0.6.2.tar.gz 2026-02-11T09:04:20,456 Removed kontra==0.6.2 from https://files.pythonhosted.org/packages/c6/09/550250bcf89df425f648005f2a374f49f50359a30f21015e788c58073774/kontra-0.6.2.tar.gz from build tracker '/tmp/pip-build-tracker-fw7j7nl6' 2026-02-11T09:04:20,462 Created temporary directory: /tmp/pip-unpack-dfl_23ek 2026-02-11T09:04:20,463 Building wheels for collected packages: kontra 2026-02-11T09:04:20,468 Created temporary directory: /tmp/pip-wheel-52b1m03l 2026-02-11T09:04:20,468 Destination directory: /tmp/pip-wheel-52b1m03l 2026-02-11T09:04:20,470 Building wheel for kontra (pyproject.toml): started 2026-02-11T09:04:20,471 Running command Building wheel for kontra (pyproject.toml) 2026-02-11T09:04:21,034 /tmp/pip-build-env-lm_1kubj/overlay/local/lib/python3.11/dist-packages/setuptools/config/_apply_pyprojecttoml.py:82: SetuptoolsDeprecationWarning: `project.license` as a TOML table is deprecated 2026-02-11T09:04:21,034 !! 2026-02-11T09:04:21,035 ******************************************************************************** 2026-02-11T09:04:21,036 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-11T09:04:21,037 By 2027-Feb-18, you need to update your project and remove deprecated calls 2026-02-11T09:04:21,037 or your builds will no longer be supported. 2026-02-11T09:04:21,038 See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. 2026-02-11T09:04:21,039 ******************************************************************************** 2026-02-11T09:04:21,040 !! 2026-02-11T09:04:21,040 corresp(dist, value, root_dir) 2026-02-11T09:04:21,107 /tmp/pip-build-env-lm_1kubj/overlay/local/lib/python3.11/dist-packages/setuptools/config/_apply_pyprojecttoml.py:61: SetuptoolsDeprecationWarning: License classifiers are deprecated. 2026-02-11T09:04:21,108 !! 2026-02-11T09:04:21,109 ******************************************************************************** 2026-02-11T09:04:21,110 Please consider removing the following classifiers in favor of a SPDX license expression: 2026-02-11T09:04:21,111 License :: OSI Approved :: Apache Software License 2026-02-11T09:04:21,112 See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. 2026-02-11T09:04:21,113 ******************************************************************************** 2026-02-11T09:04:21,114 !! 2026-02-11T09:04:21,115 dist._finalize_license_expression() 2026-02-11T09:04:21,116 /tmp/pip-build-env-lm_1kubj/overlay/local/lib/python3.11/dist-packages/setuptools/dist.py:765: SetuptoolsDeprecationWarning: License classifiers are deprecated. 2026-02-11T09:04:21,116 !! 2026-02-11T09:04:21,118 ******************************************************************************** 2026-02-11T09:04:21,118 Please consider removing the following classifiers in favor of a SPDX license expression: 2026-02-11T09:04:21,119 License :: OSI Approved :: Apache Software License 2026-02-11T09:04:21,121 See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. 2026-02-11T09:04:21,121 ******************************************************************************** 2026-02-11T09:04:21,122 !! 2026-02-11T09:04:21,123 self._finalize_license_expression() 2026-02-11T09:04:21,123 running bdist_wheel 2026-02-11T09:04:21,135 running build 2026-02-11T09:04:21,136 running build_py 2026-02-11T09:04:21,142 creating build/lib/kontra 2026-02-11T09:04:21,145 copying src/kontra/version.py -> build/lib/kontra 2026-02-11T09:04:21,147 copying src/kontra/errors.py -> build/lib/kontra 2026-02-11T09:04:21,150 copying src/kontra/logging.py -> build/lib/kontra 2026-02-11T09:04:21,152 copying src/kontra/__init__.py -> build/lib/kontra 2026-02-11T09:04:21,156 creating build/lib/kontra/scout 2026-02-11T09:04:21,157 copying src/kontra/scout/dtype_mapping.py -> build/lib/kontra/scout 2026-02-11T09:04:21,160 copying src/kontra/scout/profiler.py -> build/lib/kontra/scout 2026-02-11T09:04:21,163 copying src/kontra/scout/patterns.py -> build/lib/kontra/scout 2026-02-11T09:04:21,165 copying src/kontra/scout/store.py -> build/lib/kontra/scout 2026-02-11T09:04:21,167 copying src/kontra/scout/types.py -> build/lib/kontra/scout 2026-02-11T09:04:21,170 copying src/kontra/scout/suggest.py -> build/lib/kontra/scout 2026-02-11T09:04:21,172 copying src/kontra/scout/__init__.py -> build/lib/kontra/scout 2026-02-11T09:04:21,175 creating build/lib/kontra/state 2026-02-11T09:04:21,176 copying src/kontra/state/types.py -> build/lib/kontra/state 2026-02-11T09:04:21,179 copying src/kontra/state/fingerprint.py -> build/lib/kontra/state 2026-02-11T09:04:21,181 copying src/kontra/state/__init__.py -> build/lib/kontra/state 2026-02-11T09:04:21,184 creating build/lib/kontra/connectors 2026-02-11T09:04:21,185 copying src/kontra/connectors/handle.py -> build/lib/kontra/connectors 2026-02-11T09:04:21,187 copying src/kontra/connectors/detection.py -> build/lib/kontra/connectors 2026-02-11T09:04:21,190 copying src/kontra/connectors/postgres.py -> build/lib/kontra/connectors 2026-02-11T09:04:21,191 copying src/kontra/connectors/sqlserver.py -> build/lib/kontra/connectors 2026-02-11T09:04:21,194 copying src/kontra/connectors/db_utils.py -> build/lib/kontra/connectors 2026-02-11T09:04:21,196 copying src/kontra/connectors/__init__.py -> build/lib/kontra/connectors 2026-02-11T09:04:21,198 creating build/lib/kontra/preplan 2026-02-11T09:04:21,199 copying src/kontra/preplan/postgres.py -> build/lib/kontra/preplan 2026-02-11T09:04:21,202 copying src/kontra/preplan/sqlserver.py -> build/lib/kontra/preplan 2026-02-11T09:04:21,204 copying src/kontra/preplan/types.py -> build/lib/kontra/preplan 2026-02-11T09:04:21,206 copying src/kontra/preplan/__init__.py -> build/lib/kontra/preplan 2026-02-11T09:04:21,208 copying src/kontra/preplan/planner.py -> build/lib/kontra/preplan 2026-02-11T09:04:21,211 creating build/lib/kontra/engine 2026-02-11T09:04:21,212 copying src/kontra/engine/result.py -> build/lib/kontra/engine 2026-02-11T09:04:21,214 copying src/kontra/engine/sql_utils.py -> build/lib/kontra/engine 2026-02-11T09:04:21,217 copying src/kontra/engine/sql_validator.py -> build/lib/kontra/engine 2026-02-11T09:04:21,220 copying src/kontra/engine/engine.py -> build/lib/kontra/engine 2026-02-11T09:04:21,224 copying src/kontra/engine/types.py -> build/lib/kontra/engine 2026-02-11T09:04:21,226 copying src/kontra/engine/paths.py -> build/lib/kontra/engine 2026-02-11T09:04:21,228 copying src/kontra/engine/stats.py -> build/lib/kontra/engine 2026-02-11T09:04:21,231 copying src/kontra/engine/__init__.py -> build/lib/kontra/engine 2026-02-11T09:04:21,233 creating build/lib/kontra/reporters 2026-02-11T09:04:21,234 copying src/kontra/reporters/json_reporter.py -> build/lib/kontra/reporters 2026-02-11T09:04:21,236 copying src/kontra/reporters/rich_reporter.py -> build/lib/kontra/reporters 2026-02-11T09:04:21,238 copying src/kontra/reporters/__init__.py -> build/lib/kontra/reporters 2026-02-11T09:04:21,241 creating build/lib/kontra/rule_defs 2026-02-11T09:04:21,242 copying src/kontra/rule_defs/factory.py -> build/lib/kontra/rule_defs 2026-02-11T09:04:21,244 copying src/kontra/rule_defs/registry.py -> build/lib/kontra/rule_defs 2026-02-11T09:04:21,246 copying src/kontra/rule_defs/execution_plan.py -> build/lib/kontra/rule_defs 2026-02-11T09:04:21,249 copying src/kontra/rule_defs/condition_parser.py -> build/lib/kontra/rule_defs 2026-02-11T09:04:21,252 copying src/kontra/rule_defs/static_predicates.py -> build/lib/kontra/rule_defs 2026-02-11T09:04:21,254 copying src/kontra/rule_defs/predicates.py -> build/lib/kontra/rule_defs 2026-02-11T09:04:21,256 copying src/kontra/rule_defs/__init__.py -> build/lib/kontra/rule_defs 2026-02-11T09:04:21,258 copying src/kontra/rule_defs/base.py -> build/lib/kontra/rule_defs 2026-02-11T09:04:21,260 creating build/lib/kontra/cli 2026-02-11T09:04:21,262 copying src/kontra/cli/renderers.py -> build/lib/kontra/cli 2026-02-11T09:04:21,264 copying src/kontra/cli/constants.py -> build/lib/kontra/cli 2026-02-11T09:04:21,266 copying src/kontra/cli/main.py -> build/lib/kontra/cli 2026-02-11T09:04:21,268 copying src/kontra/cli/utils.py -> build/lib/kontra/cli 2026-02-11T09:04:21,269 copying src/kontra/cli/__init__.py -> build/lib/kontra/cli 2026-02-11T09:04:21,271 creating build/lib/kontra/probes 2026-02-11T09:04:21,272 copying src/kontra/probes/utils.py -> build/lib/kontra/probes 2026-02-11T09:04:21,274 copying src/kontra/probes/__init__.py -> build/lib/kontra/probes 2026-02-11T09:04:21,276 copying src/kontra/probes/compare.py -> build/lib/kontra/probes 2026-02-11T09:04:21,278 copying src/kontra/probes/relationship.py -> build/lib/kontra/probes 2026-02-11T09:04:21,281 creating build/lib/kontra/api 2026-02-11T09:04:21,282 copying src/kontra/api/decorators.py -> build/lib/kontra/api 2026-02-11T09:04:21,284 copying src/kontra/api/results.py -> build/lib/kontra/api 2026-02-11T09:04:21,288 copying src/kontra/api/rules.py -> build/lib/kontra/api 2026-02-11T09:04:21,291 copying src/kontra/api/__init__.py -> build/lib/kontra/api 2026-02-11T09:04:21,293 copying src/kontra/api/compare.py -> build/lib/kontra/api 2026-02-11T09:04:21,296 creating build/lib/kontra/config 2026-02-11T09:04:21,297 copying src/kontra/config/models.py -> build/lib/kontra/config 2026-02-11T09:04:21,299 copying src/kontra/config/settings.py -> build/lib/kontra/config 2026-02-11T09:04:21,302 copying src/kontra/config/__init__.py -> build/lib/kontra/config 2026-02-11T09:04:21,304 copying src/kontra/config/loader.py -> build/lib/kontra/config 2026-02-11T09:04:21,306 creating build/lib/kontra/scout/reporters 2026-02-11T09:04:21,308 copying src/kontra/scout/reporters/json_reporter.py -> build/lib/kontra/scout/reporters 2026-02-11T09:04:21,310 copying src/kontra/scout/reporters/markdown_reporter.py -> build/lib/kontra/scout/reporters 2026-02-11T09:04:21,312 copying src/kontra/scout/reporters/rich_reporter.py -> build/lib/kontra/scout/reporters 2026-02-11T09:04:21,314 copying src/kontra/scout/reporters/__init__.py -> build/lib/kontra/scout/reporters 2026-02-11T09:04:21,317 creating build/lib/kontra/scout/backends 2026-02-11T09:04:21,318 copying src/kontra/scout/backends/sqlserver_backend.py -> build/lib/kontra/scout/backends 2026-02-11T09:04:21,321 copying src/kontra/scout/backends/postgres_backend.py -> build/lib/kontra/scout/backends 2026-02-11T09:04:21,323 copying src/kontra/scout/backends/duckdb_backend.py -> build/lib/kontra/scout/backends 2026-02-11T09:04:21,325 copying src/kontra/scout/backends/__init__.py -> build/lib/kontra/scout/backends 2026-02-11T09:04:21,327 copying src/kontra/scout/backends/base.py -> build/lib/kontra/scout/backends 2026-02-11T09:04:21,330 creating build/lib/kontra/state/backends 2026-02-11T09:04:21,331 copying src/kontra/state/backends/s3.py -> build/lib/kontra/state/backends 2026-02-11T09:04:21,334 copying src/kontra/state/backends/postgres.py -> build/lib/kontra/state/backends 2026-02-11T09:04:21,337 copying src/kontra/state/backends/sqlserver.py -> build/lib/kontra/state/backends 2026-02-11T09:04:21,340 copying src/kontra/state/backends/local.py -> build/lib/kontra/state/backends 2026-02-11T09:04:21,342 copying src/kontra/state/backends/__init__.py -> build/lib/kontra/state/backends 2026-02-11T09:04:21,345 copying src/kontra/state/backends/base.py -> build/lib/kontra/state/backends 2026-02-11T09:04:21,348 creating build/lib/kontra/engine/executors 2026-02-11T09:04:21,349 copying src/kontra/engine/executors/sqlserver_sql.py -> build/lib/kontra/engine/executors 2026-02-11T09:04:21,352 copying src/kontra/engine/executors/registry.py -> build/lib/kontra/engine/executors 2026-02-11T09:04:21,354 copying src/kontra/engine/executors/postgres_sql.py -> build/lib/kontra/engine/executors 2026-02-11T09:04:21,357 copying src/kontra/engine/executors/duckdb_sql.py -> build/lib/kontra/engine/executors 2026-02-11T09:04:21,360 copying src/kontra/engine/executors/__init__.py -> build/lib/kontra/engine/executors 2026-02-11T09:04:21,362 copying src/kontra/engine/executors/database_base.py -> build/lib/kontra/engine/executors 2026-02-11T09:04:21,365 copying src/kontra/engine/executors/base.py -> build/lib/kontra/engine/executors 2026-02-11T09:04:21,368 creating build/lib/kontra/engine/materializers 2026-02-11T09:04:21,369 copying src/kontra/engine/materializers/factory.py -> build/lib/kontra/engine/materializers 2026-02-11T09:04:21,371 copying src/kontra/engine/materializers/registry.py -> build/lib/kontra/engine/materializers 2026-02-11T09:04:21,374 copying src/kontra/engine/materializers/postgres.py -> build/lib/kontra/engine/materializers 2026-02-11T09:04:21,377 copying src/kontra/engine/materializers/sqlserver.py -> build/lib/kontra/engine/materializers 2026-02-11T09:04:21,379 copying src/kontra/engine/materializers/duckdb.py -> build/lib/kontra/engine/materializers 2026-02-11T09:04:21,381 copying src/kontra/engine/materializers/polars_connector.py -> build/lib/kontra/engine/materializers 2026-02-11T09:04:21,384 copying src/kontra/engine/materializers/__init__.py -> build/lib/kontra/engine/materializers 2026-02-11T09:04:21,386 copying src/kontra/engine/materializers/base.py -> build/lib/kontra/engine/materializers 2026-02-11T09:04:21,389 creating build/lib/kontra/engine/backends 2026-02-11T09:04:21,390 copying src/kontra/engine/backends/polars_backend.py -> build/lib/kontra/engine/backends 2026-02-11T09:04:21,392 copying src/kontra/engine/backends/duckdb_session.py -> build/lib/kontra/engine/backends 2026-02-11T09:04:21,395 copying src/kontra/engine/backends/duckdb_utils.py -> build/lib/kontra/engine/backends 2026-02-11T09:04:21,398 creating build/lib/kontra/rule_defs/builtin 2026-02-11T09:04:21,399 copying src/kontra/rule_defs/builtin/dtype.py -> build/lib/kontra/rule_defs/builtin 2026-02-11T09:04:21,402 copying src/kontra/rule_defs/builtin/range.py -> build/lib/kontra/rule_defs/builtin 2026-02-11T09:04:21,404 copying src/kontra/rule_defs/builtin/custom_sql_check.py -> build/lib/kontra/rule_defs/builtin 2026-02-11T09:04:21,407 copying src/kontra/rule_defs/builtin/ends_with.py -> build/lib/kontra/rule_defs/builtin 2026-02-11T09:04:21,409 copying src/kontra/rule_defs/builtin/unique.py -> build/lib/kontra/rule_defs/builtin 2026-02-11T09:04:21,412 copying src/kontra/rule_defs/builtin/starts_with.py -> build/lib/kontra/rule_defs/builtin 2026-02-11T09:04:21,414 copying src/kontra/rule_defs/builtin/regex.py -> build/lib/kontra/rule_defs/builtin 2026-02-11T09:04:21,417 copying src/kontra/rule_defs/builtin/length.py -> build/lib/kontra/rule_defs/builtin 2026-02-11T09:04:21,420 copying src/kontra/rule_defs/builtin/not_null.py -> build/lib/kontra/rule_defs/builtin 2026-02-11T09:04:21,422 copying src/kontra/rule_defs/builtin/contains.py -> build/lib/kontra/rule_defs/builtin 2026-02-11T09:04:21,425 copying src/kontra/rule_defs/builtin/freshness.py -> build/lib/kontra/rule_defs/builtin 2026-02-11T09:04:21,428 copying src/kontra/rule_defs/builtin/disallowed_values.py -> build/lib/kontra/rule_defs/builtin 2026-02-11T09:04:21,430 copying src/kontra/rule_defs/builtin/max_rows.py -> build/lib/kontra/rule_defs/builtin 2026-02-11T09:04:21,432 copying src/kontra/rule_defs/builtin/conditional_range.py -> build/lib/kontra/rule_defs/builtin 2026-02-11T09:04:21,435 copying src/kontra/rule_defs/builtin/allowed_values.py -> build/lib/kontra/rule_defs/builtin 2026-02-11T09:04:21,438 copying src/kontra/rule_defs/builtin/__init__.py -> build/lib/kontra/rule_defs/builtin 2026-02-11T09:04:21,440 copying src/kontra/rule_defs/builtin/compare.py -> build/lib/kontra/rule_defs/builtin 2026-02-11T09:04:21,443 copying src/kontra/rule_defs/builtin/conditional_not_null.py -> build/lib/kontra/rule_defs/builtin 2026-02-11T09:04:21,446 copying src/kontra/rule_defs/builtin/min_rows.py -> build/lib/kontra/rule_defs/builtin 2026-02-11T09:04:21,449 creating build/lib/kontra/cli/commands 2026-02-11T09:04:21,450 copying src/kontra/cli/commands/config.py -> build/lib/kontra/cli/commands 2026-02-11T09:04:21,452 copying src/kontra/cli/commands/history.py -> build/lib/kontra/cli/commands 2026-02-11T09:04:21,455 copying src/kontra/cli/commands/validate.py -> build/lib/kontra/cli/commands 2026-02-11T09:04:21,458 copying src/kontra/cli/commands/profile.py -> build/lib/kontra/cli/commands 2026-02-11T09:04:21,461 copying src/kontra/cli/commands/diff.py -> build/lib/kontra/cli/commands 2026-02-11T09:04:21,463 copying src/kontra/cli/commands/__init__.py -> build/lib/kontra/cli/commands 2026-02-11T09:04:21,466 running egg_info 2026-02-11T09:04:21,476 writing src/kontra.egg-info/PKG-INFO 2026-02-11T09:04:21,482 writing dependency_links to src/kontra.egg-info/dependency_links.txt 2026-02-11T09:04:21,484 writing entry points to src/kontra.egg-info/entry_points.txt 2026-02-11T09:04:21,488 writing requirements to src/kontra.egg-info/requires.txt 2026-02-11T09:04:21,489 writing top-level names to src/kontra.egg-info/top_level.txt 2026-02-11T09:04:21,519 reading manifest file 'src/kontra.egg-info/SOURCES.txt' 2026-02-11T09:04:21,529 adding license file 'LICENSE' 2026-02-11T09:04:21,538 writing manifest file 'src/kontra.egg-info/SOURCES.txt' 2026-02-11T09:04:21,569 installing to build/bdist.linux-armv7l/wheel 2026-02-11T09:04:21,569 running install 2026-02-11T09:04:21,593 running install_lib 2026-02-11T09:04:21,599 creating build/bdist.linux-armv7l/wheel 2026-02-11T09:04:21,601 creating build/bdist.linux-armv7l/wheel/kontra 2026-02-11T09:04:21,603 copying build/lib/kontra/version.py -> build/bdist.linux-armv7l/wheel/./kontra 2026-02-11T09:04:21,606 creating build/bdist.linux-armv7l/wheel/kontra/scout 2026-02-11T09:04:21,607 copying build/lib/kontra/scout/dtype_mapping.py -> build/bdist.linux-armv7l/wheel/./kontra/scout 2026-02-11T09:04:21,610 copying build/lib/kontra/scout/profiler.py -> build/bdist.linux-armv7l/wheel/./kontra/scout 2026-02-11T09:04:21,613 copying build/lib/kontra/scout/patterns.py -> build/bdist.linux-armv7l/wheel/./kontra/scout 2026-02-11T09:04:21,615 copying build/lib/kontra/scout/store.py -> build/bdist.linux-armv7l/wheel/./kontra/scout 2026-02-11T09:04:21,617 copying build/lib/kontra/scout/types.py -> build/bdist.linux-armv7l/wheel/./kontra/scout 2026-02-11T09:04:21,621 creating build/bdist.linux-armv7l/wheel/kontra/scout/reporters 2026-02-11T09:04:21,622 copying build/lib/kontra/scout/reporters/json_reporter.py -> build/bdist.linux-armv7l/wheel/./kontra/scout/reporters 2026-02-11T09:04:21,625 copying build/lib/kontra/scout/reporters/markdown_reporter.py -> build/bdist.linux-armv7l/wheel/./kontra/scout/reporters 2026-02-11T09:04:21,627 copying build/lib/kontra/scout/reporters/rich_reporter.py -> build/bdist.linux-armv7l/wheel/./kontra/scout/reporters 2026-02-11T09:04:21,630 copying build/lib/kontra/scout/reporters/__init__.py -> build/bdist.linux-armv7l/wheel/./kontra/scout/reporters 2026-02-11T09:04:21,632 copying build/lib/kontra/scout/suggest.py -> build/bdist.linux-armv7l/wheel/./kontra/scout 2026-02-11T09:04:21,635 copying build/lib/kontra/scout/__init__.py -> build/bdist.linux-armv7l/wheel/./kontra/scout 2026-02-11T09:04:21,638 creating build/bdist.linux-armv7l/wheel/kontra/scout/backends 2026-02-11T09:04:21,639 copying build/lib/kontra/scout/backends/sqlserver_backend.py -> build/bdist.linux-armv7l/wheel/./kontra/scout/backends 2026-02-11T09:04:21,642 copying build/lib/kontra/scout/backends/postgres_backend.py -> build/bdist.linux-armv7l/wheel/./kontra/scout/backends 2026-02-11T09:04:21,645 copying build/lib/kontra/scout/backends/duckdb_backend.py -> build/bdist.linux-armv7l/wheel/./kontra/scout/backends 2026-02-11T09:04:21,648 copying build/lib/kontra/scout/backends/__init__.py -> build/bdist.linux-armv7l/wheel/./kontra/scout/backends 2026-02-11T09:04:21,650 copying build/lib/kontra/scout/backends/base.py -> build/bdist.linux-armv7l/wheel/./kontra/scout/backends 2026-02-11T09:04:21,652 creating build/bdist.linux-armv7l/wheel/kontra/state 2026-02-11T09:04:21,654 copying build/lib/kontra/state/types.py -> build/bdist.linux-armv7l/wheel/./kontra/state 2026-02-11T09:04:21,657 copying build/lib/kontra/state/fingerprint.py -> build/bdist.linux-armv7l/wheel/./kontra/state 2026-02-11T09:04:21,659 copying build/lib/kontra/state/__init__.py -> build/bdist.linux-armv7l/wheel/./kontra/state 2026-02-11T09:04:21,662 creating build/bdist.linux-armv7l/wheel/kontra/state/backends 2026-02-11T09:04:21,664 copying build/lib/kontra/state/backends/s3.py -> build/bdist.linux-armv7l/wheel/./kontra/state/backends 2026-02-11T09:04:21,667 copying build/lib/kontra/state/backends/postgres.py -> build/bdist.linux-armv7l/wheel/./kontra/state/backends 2026-02-11T09:04:21,670 copying build/lib/kontra/state/backends/sqlserver.py -> build/bdist.linux-armv7l/wheel/./kontra/state/backends 2026-02-11T09:04:21,673 copying build/lib/kontra/state/backends/local.py -> build/bdist.linux-armv7l/wheel/./kontra/state/backends 2026-02-11T09:04:21,676 copying build/lib/kontra/state/backends/__init__.py -> build/bdist.linux-armv7l/wheel/./kontra/state/backends 2026-02-11T09:04:21,678 copying build/lib/kontra/state/backends/base.py -> build/bdist.linux-armv7l/wheel/./kontra/state/backends 2026-02-11T09:04:21,682 creating build/bdist.linux-armv7l/wheel/kontra/connectors 2026-02-11T09:04:21,683 copying build/lib/kontra/connectors/handle.py -> build/bdist.linux-armv7l/wheel/./kontra/connectors 2026-02-11T09:04:21,686 copying build/lib/kontra/connectors/detection.py -> build/bdist.linux-armv7l/wheel/./kontra/connectors 2026-02-11T09:04:21,689 copying build/lib/kontra/connectors/postgres.py -> build/bdist.linux-armv7l/wheel/./kontra/connectors 2026-02-11T09:04:21,691 copying build/lib/kontra/connectors/sqlserver.py -> build/bdist.linux-armv7l/wheel/./kontra/connectors 2026-02-11T09:04:21,694 copying build/lib/kontra/connectors/db_utils.py -> build/bdist.linux-armv7l/wheel/./kontra/connectors 2026-02-11T09:04:21,697 copying build/lib/kontra/connectors/__init__.py -> build/bdist.linux-armv7l/wheel/./kontra/connectors 2026-02-11T09:04:21,699 creating build/bdist.linux-armv7l/wheel/kontra/preplan 2026-02-11T09:04:21,701 copying build/lib/kontra/preplan/postgres.py -> build/bdist.linux-armv7l/wheel/./kontra/preplan 2026-02-11T09:04:21,703 copying build/lib/kontra/preplan/sqlserver.py -> build/bdist.linux-armv7l/wheel/./kontra/preplan 2026-02-11T09:04:21,706 copying build/lib/kontra/preplan/types.py -> build/bdist.linux-armv7l/wheel/./kontra/preplan 2026-02-11T09:04:21,708 copying build/lib/kontra/preplan/__init__.py -> build/bdist.linux-armv7l/wheel/./kontra/preplan 2026-02-11T09:04:21,710 copying build/lib/kontra/preplan/planner.py -> build/bdist.linux-armv7l/wheel/./kontra/preplan 2026-02-11T09:04:21,714 creating build/bdist.linux-armv7l/wheel/kontra/engine 2026-02-11T09:04:21,715 copying build/lib/kontra/engine/result.py -> build/bdist.linux-armv7l/wheel/./kontra/engine 2026-02-11T09:04:21,717 copying build/lib/kontra/engine/sql_utils.py -> build/bdist.linux-armv7l/wheel/./kontra/engine 2026-02-11T09:04:21,721 copying build/lib/kontra/engine/sql_validator.py -> build/bdist.linux-armv7l/wheel/./kontra/engine 2026-02-11T09:04:21,723 copying build/lib/kontra/engine/engine.py -> build/bdist.linux-armv7l/wheel/./kontra/engine 2026-02-11T09:04:21,728 creating build/bdist.linux-armv7l/wheel/kontra/engine/executors 2026-02-11T09:04:21,729 copying build/lib/kontra/engine/executors/sqlserver_sql.py -> build/bdist.linux-armv7l/wheel/./kontra/engine/executors 2026-02-11T09:04:21,732 copying build/lib/kontra/engine/executors/registry.py -> build/bdist.linux-armv7l/wheel/./kontra/engine/executors 2026-02-11T09:04:21,735 copying build/lib/kontra/engine/executors/postgres_sql.py -> build/bdist.linux-armv7l/wheel/./kontra/engine/executors 2026-02-11T09:04:21,737 copying build/lib/kontra/engine/executors/duckdb_sql.py -> build/bdist.linux-armv7l/wheel/./kontra/engine/executors 2026-02-11T09:04:21,740 copying build/lib/kontra/engine/executors/__init__.py -> build/bdist.linux-armv7l/wheel/./kontra/engine/executors 2026-02-11T09:04:21,743 copying build/lib/kontra/engine/executors/database_base.py -> build/bdist.linux-armv7l/wheel/./kontra/engine/executors 2026-02-11T09:04:21,746 copying build/lib/kontra/engine/executors/base.py -> build/bdist.linux-armv7l/wheel/./kontra/engine/executors 2026-02-11T09:04:21,749 creating build/bdist.linux-armv7l/wheel/kontra/engine/materializers 2026-02-11T09:04:21,751 copying build/lib/kontra/engine/materializers/factory.py -> build/bdist.linux-armv7l/wheel/./kontra/engine/materializers 2026-02-11T09:04:21,753 copying build/lib/kontra/engine/materializers/registry.py -> build/bdist.linux-armv7l/wheel/./kontra/engine/materializers 2026-02-11T09:04:21,755 copying build/lib/kontra/engine/materializers/postgres.py -> build/bdist.linux-armv7l/wheel/./kontra/engine/materializers 2026-02-11T09:04:21,758 copying build/lib/kontra/engine/materializers/sqlserver.py -> build/bdist.linux-armv7l/wheel/./kontra/engine/materializers 2026-02-11T09:04:21,760 copying build/lib/kontra/engine/materializers/duckdb.py -> build/bdist.linux-armv7l/wheel/./kontra/engine/materializers 2026-02-11T09:04:21,763 copying build/lib/kontra/engine/materializers/polars_connector.py -> build/bdist.linux-armv7l/wheel/./kontra/engine/materializers 2026-02-11T09:04:21,765 copying build/lib/kontra/engine/materializers/__init__.py -> build/bdist.linux-armv7l/wheel/./kontra/engine/materializers 2026-02-11T09:04:21,767 copying build/lib/kontra/engine/materializers/base.py -> build/bdist.linux-armv7l/wheel/./kontra/engine/materializers 2026-02-11T09:04:21,770 copying build/lib/kontra/engine/types.py -> build/bdist.linux-armv7l/wheel/./kontra/engine 2026-02-11T09:04:21,772 copying build/lib/kontra/engine/paths.py -> build/bdist.linux-armv7l/wheel/./kontra/engine 2026-02-11T09:04:21,774 copying build/lib/kontra/engine/stats.py -> build/bdist.linux-armv7l/wheel/./kontra/engine 2026-02-11T09:04:21,777 copying build/lib/kontra/engine/__init__.py -> build/bdist.linux-armv7l/wheel/./kontra/engine 2026-02-11T09:04:21,779 creating build/bdist.linux-armv7l/wheel/kontra/engine/backends 2026-02-11T09:04:21,781 copying build/lib/kontra/engine/backends/polars_backend.py -> build/bdist.linux-armv7l/wheel/./kontra/engine/backends 2026-02-11T09:04:21,783 copying build/lib/kontra/engine/backends/duckdb_session.py -> build/bdist.linux-armv7l/wheel/./kontra/engine/backends 2026-02-11T09:04:21,786 copying build/lib/kontra/engine/backends/duckdb_utils.py -> build/bdist.linux-armv7l/wheel/./kontra/engine/backends 2026-02-11T09:04:21,788 copying build/lib/kontra/errors.py -> build/bdist.linux-armv7l/wheel/./kontra 2026-02-11T09:04:21,791 creating build/bdist.linux-armv7l/wheel/kontra/reporters 2026-02-11T09:04:21,793 copying build/lib/kontra/reporters/json_reporter.py -> build/bdist.linux-armv7l/wheel/./kontra/reporters 2026-02-11T09:04:21,795 copying build/lib/kontra/reporters/rich_reporter.py -> build/bdist.linux-armv7l/wheel/./kontra/reporters 2026-02-11T09:04:21,797 copying build/lib/kontra/reporters/__init__.py -> build/bdist.linux-armv7l/wheel/./kontra/reporters 2026-02-11T09:04:21,800 creating build/bdist.linux-armv7l/wheel/kontra/rule_defs 2026-02-11T09:04:21,802 creating build/bdist.linux-armv7l/wheel/kontra/rule_defs/builtin 2026-02-11T09:04:21,804 copying build/lib/kontra/rule_defs/builtin/dtype.py -> build/bdist.linux-armv7l/wheel/./kontra/rule_defs/builtin 2026-02-11T09:04:21,807 copying build/lib/kontra/rule_defs/builtin/range.py -> build/bdist.linux-armv7l/wheel/./kontra/rule_defs/builtin 2026-02-11T09:04:21,809 copying build/lib/kontra/rule_defs/builtin/custom_sql_check.py -> build/bdist.linux-armv7l/wheel/./kontra/rule_defs/builtin 2026-02-11T09:04:21,812 copying build/lib/kontra/rule_defs/builtin/ends_with.py -> build/bdist.linux-armv7l/wheel/./kontra/rule_defs/builtin 2026-02-11T09:04:21,814 copying build/lib/kontra/rule_defs/builtin/unique.py -> build/bdist.linux-armv7l/wheel/./kontra/rule_defs/builtin 2026-02-11T09:04:21,817 copying build/lib/kontra/rule_defs/builtin/starts_with.py -> build/bdist.linux-armv7l/wheel/./kontra/rule_defs/builtin 2026-02-11T09:04:21,820 copying build/lib/kontra/rule_defs/builtin/regex.py -> build/bdist.linux-armv7l/wheel/./kontra/rule_defs/builtin 2026-02-11T09:04:21,822 copying build/lib/kontra/rule_defs/builtin/length.py -> build/bdist.linux-armv7l/wheel/./kontra/rule_defs/builtin 2026-02-11T09:04:21,825 copying build/lib/kontra/rule_defs/builtin/not_null.py -> build/bdist.linux-armv7l/wheel/./kontra/rule_defs/builtin 2026-02-11T09:04:21,827 copying build/lib/kontra/rule_defs/builtin/contains.py -> build/bdist.linux-armv7l/wheel/./kontra/rule_defs/builtin 2026-02-11T09:04:21,830 copying build/lib/kontra/rule_defs/builtin/freshness.py -> build/bdist.linux-armv7l/wheel/./kontra/rule_defs/builtin 2026-02-11T09:04:21,832 copying build/lib/kontra/rule_defs/builtin/disallowed_values.py -> build/bdist.linux-armv7l/wheel/./kontra/rule_defs/builtin 2026-02-11T09:04:21,835 copying build/lib/kontra/rule_defs/builtin/max_rows.py -> build/bdist.linux-armv7l/wheel/./kontra/rule_defs/builtin 2026-02-11T09:04:21,837 copying build/lib/kontra/rule_defs/builtin/conditional_range.py -> build/bdist.linux-armv7l/wheel/./kontra/rule_defs/builtin 2026-02-11T09:04:21,840 copying build/lib/kontra/rule_defs/builtin/allowed_values.py -> build/bdist.linux-armv7l/wheel/./kontra/rule_defs/builtin 2026-02-11T09:04:21,842 copying build/lib/kontra/rule_defs/builtin/__init__.py -> build/bdist.linux-armv7l/wheel/./kontra/rule_defs/builtin 2026-02-11T09:04:21,844 copying build/lib/kontra/rule_defs/builtin/compare.py -> build/bdist.linux-armv7l/wheel/./kontra/rule_defs/builtin 2026-02-11T09:04:21,847 copying build/lib/kontra/rule_defs/builtin/conditional_not_null.py -> build/bdist.linux-armv7l/wheel/./kontra/rule_defs/builtin 2026-02-11T09:04:21,849 copying build/lib/kontra/rule_defs/builtin/min_rows.py -> build/bdist.linux-armv7l/wheel/./kontra/rule_defs/builtin 2026-02-11T09:04:21,852 copying build/lib/kontra/rule_defs/factory.py -> build/bdist.linux-armv7l/wheel/./kontra/rule_defs 2026-02-11T09:04:21,854 copying build/lib/kontra/rule_defs/registry.py -> build/bdist.linux-armv7l/wheel/./kontra/rule_defs 2026-02-11T09:04:21,856 copying build/lib/kontra/rule_defs/execution_plan.py -> build/bdist.linux-armv7l/wheel/./kontra/rule_defs 2026-02-11T09:04:21,859 copying build/lib/kontra/rule_defs/condition_parser.py -> build/bdist.linux-armv7l/wheel/./kontra/rule_defs 2026-02-11T09:04:21,862 copying build/lib/kontra/rule_defs/static_predicates.py -> build/bdist.linux-armv7l/wheel/./kontra/rule_defs 2026-02-11T09:04:21,864 copying build/lib/kontra/rule_defs/predicates.py -> build/bdist.linux-armv7l/wheel/./kontra/rule_defs 2026-02-11T09:04:21,867 copying build/lib/kontra/rule_defs/__init__.py -> build/bdist.linux-armv7l/wheel/./kontra/rule_defs 2026-02-11T09:04:21,869 copying build/lib/kontra/rule_defs/base.py -> build/bdist.linux-armv7l/wheel/./kontra/rule_defs 2026-02-11T09:04:21,871 copying build/lib/kontra/logging.py -> build/bdist.linux-armv7l/wheel/./kontra 2026-02-11T09:04:21,874 creating build/bdist.linux-armv7l/wheel/kontra/cli 2026-02-11T09:04:21,875 copying build/lib/kontra/cli/renderers.py -> build/bdist.linux-armv7l/wheel/./kontra/cli 2026-02-11T09:04:21,878 copying build/lib/kontra/cli/constants.py -> build/bdist.linux-armv7l/wheel/./kontra/cli 2026-02-11T09:04:21,880 copying build/lib/kontra/cli/main.py -> build/bdist.linux-armv7l/wheel/./kontra/cli 2026-02-11T09:04:21,883 creating build/bdist.linux-armv7l/wheel/kontra/cli/commands 2026-02-11T09:04:21,884 copying build/lib/kontra/cli/commands/config.py -> build/bdist.linux-armv7l/wheel/./kontra/cli/commands 2026-02-11T09:04:21,887 copying build/lib/kontra/cli/commands/history.py -> build/bdist.linux-armv7l/wheel/./kontra/cli/commands 2026-02-11T09:04:21,889 copying build/lib/kontra/cli/commands/validate.py -> build/bdist.linux-armv7l/wheel/./kontra/cli/commands 2026-02-11T09:04:21,892 copying build/lib/kontra/cli/commands/profile.py -> build/bdist.linux-armv7l/wheel/./kontra/cli/commands 2026-02-11T09:04:21,895 copying build/lib/kontra/cli/commands/diff.py -> build/bdist.linux-armv7l/wheel/./kontra/cli/commands 2026-02-11T09:04:21,898 copying build/lib/kontra/cli/commands/__init__.py -> build/bdist.linux-armv7l/wheel/./kontra/cli/commands 2026-02-11T09:04:21,900 copying build/lib/kontra/cli/utils.py -> build/bdist.linux-armv7l/wheel/./kontra/cli 2026-02-11T09:04:21,902 copying build/lib/kontra/cli/__init__.py -> build/bdist.linux-armv7l/wheel/./kontra/cli 2026-02-11T09:04:21,904 creating build/bdist.linux-armv7l/wheel/kontra/probes 2026-02-11T09:04:21,905 copying build/lib/kontra/probes/utils.py -> build/bdist.linux-armv7l/wheel/./kontra/probes 2026-02-11T09:04:21,907 copying build/lib/kontra/probes/__init__.py -> build/bdist.linux-armv7l/wheel/./kontra/probes 2026-02-11T09:04:21,909 copying build/lib/kontra/probes/compare.py -> build/bdist.linux-armv7l/wheel/./kontra/probes 2026-02-11T09:04:21,912 copying build/lib/kontra/probes/relationship.py -> build/bdist.linux-armv7l/wheel/./kontra/probes 2026-02-11T09:04:21,915 creating build/bdist.linux-armv7l/wheel/kontra/api 2026-02-11T09:04:21,916 copying build/lib/kontra/api/decorators.py -> build/bdist.linux-armv7l/wheel/./kontra/api 2026-02-11T09:04:21,918 copying build/lib/kontra/api/results.py -> build/bdist.linux-armv7l/wheel/./kontra/api 2026-02-11T09:04:21,922 copying build/lib/kontra/api/rules.py -> build/bdist.linux-armv7l/wheel/./kontra/api 2026-02-11T09:04:21,924 copying build/lib/kontra/api/__init__.py -> build/bdist.linux-armv7l/wheel/./kontra/api 2026-02-11T09:04:21,926 copying build/lib/kontra/api/compare.py -> build/bdist.linux-armv7l/wheel/./kontra/api 2026-02-11T09:04:21,929 copying build/lib/kontra/__init__.py -> build/bdist.linux-armv7l/wheel/./kontra 2026-02-11T09:04:21,933 creating build/bdist.linux-armv7l/wheel/kontra/config 2026-02-11T09:04:21,934 copying build/lib/kontra/config/models.py -> build/bdist.linux-armv7l/wheel/./kontra/config 2026-02-11T09:04:21,936 copying build/lib/kontra/config/settings.py -> build/bdist.linux-armv7l/wheel/./kontra/config 2026-02-11T09:04:21,938 copying build/lib/kontra/config/__init__.py -> build/bdist.linux-armv7l/wheel/./kontra/config 2026-02-11T09:04:21,940 copying build/lib/kontra/config/loader.py -> build/bdist.linux-armv7l/wheel/./kontra/config 2026-02-11T09:04:21,942 running install_egg_info 2026-02-11T09:04:21,947 Copying src/kontra.egg-info to build/bdist.linux-armv7l/wheel/./kontra-0.6.2-py3.11.egg-info 2026-02-11T09:04:21,960 running install_scripts 2026-02-11T09:04:21,971 creating build/bdist.linux-armv7l/wheel/kontra-0.6.2.dist-info/WHEEL 2026-02-11T09:04:21,974 creating '/tmp/pip-wheel-52b1m03l/.tmp-c2tr17aa/kontra-0.6.2-py3-none-any.whl' and adding 'build/bdist.linux-armv7l/wheel' to it 2026-02-11T09:04:21,984 adding 'kontra/__init__.py' 2026-02-11T09:04:21,987 adding 'kontra/errors.py' 2026-02-11T09:04:21,988 adding 'kontra/logging.py' 2026-02-11T09:04:21,989 adding 'kontra/version.py' 2026-02-11T09:04:21,991 adding 'kontra/api/__init__.py' 2026-02-11T09:04:21,993 adding 'kontra/api/compare.py' 2026-02-11T09:04:21,995 adding 'kontra/api/decorators.py' 2026-02-11T09:04:22,005 adding 'kontra/api/results.py' 2026-02-11T09:04:22,008 adding 'kontra/api/rules.py' 2026-02-11T09:04:22,010 adding 'kontra/cli/__init__.py' 2026-02-11T09:04:22,011 adding 'kontra/cli/constants.py' 2026-02-11T09:04:22,012 adding 'kontra/cli/main.py' 2026-02-11T09:04:22,014 adding 'kontra/cli/renderers.py' 2026-02-11T09:04:22,015 adding 'kontra/cli/utils.py' 2026-02-11T09:04:22,017 adding 'kontra/cli/commands/__init__.py' 2026-02-11T09:04:22,019 adding 'kontra/cli/commands/config.py' 2026-02-11T09:04:22,021 adding 'kontra/cli/commands/diff.py' 2026-02-11T09:04:22,022 adding 'kontra/cli/commands/history.py' 2026-02-11T09:04:22,024 adding 'kontra/cli/commands/profile.py' 2026-02-11T09:04:22,027 adding 'kontra/cli/commands/validate.py' 2026-02-11T09:04:22,029 adding 'kontra/config/__init__.py' 2026-02-11T09:04:22,030 adding 'kontra/config/loader.py' 2026-02-11T09:04:22,031 adding 'kontra/config/models.py' 2026-02-11T09:04:22,035 adding 'kontra/config/settings.py' 2026-02-11T09:04:22,037 adding 'kontra/connectors/__init__.py' 2026-02-11T09:04:22,038 adding 'kontra/connectors/db_utils.py' 2026-02-11T09:04:22,040 adding 'kontra/connectors/detection.py' 2026-02-11T09:04:22,042 adding 'kontra/connectors/handle.py' 2026-02-11T09:04:22,043 adding 'kontra/connectors/postgres.py' 2026-02-11T09:04:22,045 adding 'kontra/connectors/sqlserver.py' 2026-02-11T09:04:22,047 adding 'kontra/engine/__init__.py' 2026-02-11T09:04:22,054 adding 'kontra/engine/engine.py' 2026-02-11T09:04:22,056 adding 'kontra/engine/paths.py' 2026-02-11T09:04:22,058 adding 'kontra/engine/result.py' 2026-02-11T09:04:22,061 adding 'kontra/engine/sql_utils.py' 2026-02-11T09:04:22,064 adding 'kontra/engine/sql_validator.py' 2026-02-11T09:04:22,065 adding 'kontra/engine/stats.py' 2026-02-11T09:04:22,067 adding 'kontra/engine/types.py' 2026-02-11T09:04:22,069 adding 'kontra/engine/backends/duckdb_session.py' 2026-02-11T09:04:22,070 adding 'kontra/engine/backends/duckdb_utils.py' 2026-02-11T09:04:22,072 adding 'kontra/engine/backends/polars_backend.py' 2026-02-11T09:04:22,073 adding 'kontra/engine/executors/__init__.py' 2026-02-11T09:04:22,074 adding 'kontra/engine/executors/base.py' 2026-02-11T09:04:22,077 adding 'kontra/engine/executors/database_base.py' 2026-02-11T09:04:22,080 adding 'kontra/engine/executors/duckdb_sql.py' 2026-02-11T09:04:22,082 adding 'kontra/engine/executors/postgres_sql.py' 2026-02-11T09:04:22,084 adding 'kontra/engine/executors/registry.py' 2026-02-11T09:04:22,085 adding 'kontra/engine/executors/sqlserver_sql.py' 2026-02-11T09:04:22,087 adding 'kontra/engine/materializers/__init__.py' 2026-02-11T09:04:22,088 adding 'kontra/engine/materializers/base.py' 2026-02-11T09:04:22,090 adding 'kontra/engine/materializers/duckdb.py' 2026-02-11T09:04:22,091 adding 'kontra/engine/materializers/factory.py' 2026-02-11T09:04:22,093 adding 'kontra/engine/materializers/polars_connector.py' 2026-02-11T09:04:22,094 adding 'kontra/engine/materializers/postgres.py' 2026-02-11T09:04:22,096 adding 'kontra/engine/materializers/registry.py' 2026-02-11T09:04:22,097 adding 'kontra/engine/materializers/sqlserver.py' 2026-02-11T09:04:22,099 adding 'kontra/preplan/__init__.py' 2026-02-11T09:04:22,102 adding 'kontra/preplan/planner.py' 2026-02-11T09:04:22,104 adding 'kontra/preplan/postgres.py' 2026-02-11T09:04:22,106 adding 'kontra/preplan/sqlserver.py' 2026-02-11T09:04:22,107 adding 'kontra/preplan/types.py' 2026-02-11T09:04:22,109 adding 'kontra/probes/__init__.py' 2026-02-11T09:04:22,111 adding 'kontra/probes/compare.py' 2026-02-11T09:04:22,113 adding 'kontra/probes/relationship.py' 2026-02-11T09:04:22,114 adding 'kontra/probes/utils.py' 2026-02-11T09:04:22,116 adding 'kontra/reporters/__init__.py' 2026-02-11T09:04:22,117 adding 'kontra/reporters/json_reporter.py' 2026-02-11T09:04:22,119 adding 'kontra/reporters/rich_reporter.py' 2026-02-11T09:04:22,120 adding 'kontra/rule_defs/__init__.py' 2026-02-11T09:04:22,122 adding 'kontra/rule_defs/base.py' 2026-02-11T09:04:22,124 adding 'kontra/rule_defs/condition_parser.py' 2026-02-11T09:04:22,127 adding 'kontra/rule_defs/execution_plan.py' 2026-02-11T09:04:22,129 adding 'kontra/rule_defs/factory.py' 2026-02-11T09:04:22,130 adding 'kontra/rule_defs/predicates.py' 2026-02-11T09:04:22,131 adding 'kontra/rule_defs/registry.py' 2026-02-11T09:04:22,133 adding 'kontra/rule_defs/static_predicates.py' 2026-02-11T09:04:22,135 adding 'kontra/rule_defs/builtin/__init__.py' 2026-02-11T09:04:22,137 adding 'kontra/rule_defs/builtin/allowed_values.py' 2026-02-11T09:04:22,138 adding 'kontra/rule_defs/builtin/compare.py' 2026-02-11T09:04:22,140 adding 'kontra/rule_defs/builtin/conditional_not_null.py' 2026-02-11T09:04:22,142 adding 'kontra/rule_defs/builtin/conditional_range.py' 2026-02-11T09:04:22,143 adding 'kontra/rule_defs/builtin/contains.py' 2026-02-11T09:04:22,145 adding 'kontra/rule_defs/builtin/custom_sql_check.py' 2026-02-11T09:04:22,146 adding 'kontra/rule_defs/builtin/disallowed_values.py' 2026-02-11T09:04:22,148 adding 'kontra/rule_defs/builtin/dtype.py' 2026-02-11T09:04:22,149 adding 'kontra/rule_defs/builtin/ends_with.py' 2026-02-11T09:04:22,151 adding 'kontra/rule_defs/builtin/freshness.py' 2026-02-11T09:04:22,153 adding 'kontra/rule_defs/builtin/length.py' 2026-02-11T09:04:22,154 adding 'kontra/rule_defs/builtin/max_rows.py' 2026-02-11T09:04:22,155 adding 'kontra/rule_defs/builtin/min_rows.py' 2026-02-11T09:04:22,157 adding 'kontra/rule_defs/builtin/not_null.py' 2026-02-11T09:04:22,158 adding 'kontra/rule_defs/builtin/range.py' 2026-02-11T09:04:22,160 adding 'kontra/rule_defs/builtin/regex.py' 2026-02-11T09:04:22,161 adding 'kontra/rule_defs/builtin/starts_with.py' 2026-02-11T09:04:22,162 adding 'kontra/rule_defs/builtin/unique.py' 2026-02-11T09:04:22,164 adding 'kontra/scout/__init__.py' 2026-02-11T09:04:22,166 adding 'kontra/scout/dtype_mapping.py' 2026-02-11T09:04:22,167 adding 'kontra/scout/patterns.py' 2026-02-11T09:04:22,171 adding 'kontra/scout/profiler.py' 2026-02-11T09:04:22,172 adding 'kontra/scout/store.py' 2026-02-11T09:04:22,174 adding 'kontra/scout/suggest.py' 2026-02-11T09:04:22,177 adding 'kontra/scout/types.py' 2026-02-11T09:04:22,179 adding 'kontra/scout/backends/__init__.py' 2026-02-11T09:04:22,180 adding 'kontra/scout/backends/base.py' 2026-02-11T09:04:22,182 adding 'kontra/scout/backends/duckdb_backend.py' 2026-02-11T09:04:22,184 adding 'kontra/scout/backends/postgres_backend.py' 2026-02-11T09:04:22,187 adding 'kontra/scout/backends/sqlserver_backend.py' 2026-02-11T09:04:22,189 adding 'kontra/scout/reporters/__init__.py' 2026-02-11T09:04:22,191 adding 'kontra/scout/reporters/json_reporter.py' 2026-02-11T09:04:22,192 adding 'kontra/scout/reporters/markdown_reporter.py' 2026-02-11T09:04:22,194 adding 'kontra/scout/reporters/rich_reporter.py' 2026-02-11T09:04:22,196 adding 'kontra/state/__init__.py' 2026-02-11T09:04:22,197 adding 'kontra/state/fingerprint.py' 2026-02-11T09:04:22,201 adding 'kontra/state/types.py' 2026-02-11T09:04:22,203 adding 'kontra/state/backends/__init__.py' 2026-02-11T09:04:22,205 adding 'kontra/state/backends/base.py' 2026-02-11T09:04:22,208 adding 'kontra/state/backends/local.py' 2026-02-11T09:04:22,211 adding 'kontra/state/backends/postgres.py' 2026-02-11T09:04:22,214 adding 'kontra/state/backends/s3.py' 2026-02-11T09:04:22,218 adding 'kontra/state/backends/sqlserver.py' 2026-02-11T09:04:22,221 adding 'kontra-0.6.2.dist-info/licenses/LICENSE' 2026-02-11T09:04:22,223 adding 'kontra-0.6.2.dist-info/METADATA' 2026-02-11T09:04:22,224 adding 'kontra-0.6.2.dist-info/WHEEL' 2026-02-11T09:04:22,225 adding 'kontra-0.6.2.dist-info/entry_points.txt' 2026-02-11T09:04:22,226 adding 'kontra-0.6.2.dist-info/top_level.txt' 2026-02-11T09:04:22,228 adding 'kontra-0.6.2.dist-info/RECORD' 2026-02-11T09:04:22,234 removing build/bdist.linux-armv7l/wheel 2026-02-11T09:04:22,370 Building wheel for kontra (pyproject.toml): finished with status 'done' 2026-02-11T09:04:22,383 Created wheel for kontra: filename=kontra-0.6.2-py3-none-any.whl size=326360 sha256=40f116d11b7760818d9d5f573084863583d3af1fe37faeceee74607312279069 2026-02-11T09:04:22,384 Stored in directory: /tmp/pip-ephem-wheel-cache-d2kocdzk/wheels/69/a6/c6/10c595847cc1ad16325ae505671309e53a40bfcc665ee563ef 2026-02-11T09:04:22,399 Successfully built kontra 2026-02-11T09:04:22,414 Removed build tracker: '/tmp/pip-build-tracker-fw7j7nl6'