2026-02-10T20:18:58,682 Created temporary directory: /tmp/pip-ephem-wheel-cache-kwe328ob 2026-02-10T20:18:58,684 Created temporary directory: /tmp/pip-build-tracker-o6nay8m_ 2026-02-10T20:18:58,685 Initialized build tracking at /tmp/pip-build-tracker-o6nay8m_ 2026-02-10T20:18:58,686 Created build tracker: /tmp/pip-build-tracker-o6nay8m_ 2026-02-10T20:18:58,686 Entered build tracker: /tmp/pip-build-tracker-o6nay8m_ 2026-02-10T20:18:58,687 Created temporary directory: /tmp/pip-wheel-e3lrpdb6 2026-02-10T20:18:58,690 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-10T20:18:58,692 Created temporary directory: /tmp/pip-ephem-wheel-cache-kn8f9jzh 2026-02-10T20:18:58,714 Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple 2026-02-10T20:18:58,718 2 location(s) to search for versions of kontra: 2026-02-10T20:18:58,718 * https://pypi.org/simple/kontra/ 2026-02-10T20:18:58,718 * https://www.piwheels.org/simple/kontra/ 2026-02-10T20:18:58,718 Fetching project page and analyzing links: https://pypi.org/simple/kontra/ 2026-02-10T20:18:58,719 Getting page https://pypi.org/simple/kontra/ 2026-02-10T20:18:58,721 Found index url https://pypi.org/simple 2026-02-10T20:18:58,872 Fetched page https://pypi.org/simple/kontra/ as application/vnd.pypi.simple.v1+json 2026-02-10T20:18:58,876 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-10T20:18:58,877 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-10T20:18:58,878 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-10T20:18:58,879 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-10T20:18:58,880 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-10T20:18:58,881 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-10T20:18:58,882 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-10T20:18:58,883 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-10T20:18:58,883 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-10T20:18:58,884 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-10T20:18:58,885 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-10T20:18:58,886 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-10T20:18:58,887 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-10T20:18:58,888 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-10T20:18:58,888 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-10T20:18:58,889 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-10T20:18:58,890 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-10T20:18:58,891 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-10T20:18:58,891 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-10T20:18:58,892 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-10T20:18:58,893 Fetching project page and analyzing links: https://www.piwheels.org/simple/kontra/ 2026-02-10T20:18:58,894 Getting page https://www.piwheels.org/simple/kontra/ 2026-02-10T20:18:58,895 Found index url https://www.piwheels.org/simple 2026-02-10T20:18:59,069 Fetched page https://www.piwheels.org/simple/kontra/ as text/html 2026-02-10T20:18:59,072 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-10T20:18:59,073 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-10T20:18:59,073 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-10T20:18:59,074 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-10T20:18:59,075 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-10T20:18:59,075 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-10T20:18:59,076 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-10T20:18:59,076 Skipping link: not a file: https://www.piwheels.org/simple/kontra/ 2026-02-10T20:18:59,077 Skipping link: not a file: https://pypi.org/simple/kontra/ 2026-02-10T20:18:59,096 Given no hashes to check 1 links for project 'kontra': discarding no candidates 2026-02-10T20:18:59,114 Collecting kontra==0.6.1 2026-02-10T20:18:59,117 Created temporary directory: /tmp/pip-unpack-dmpawcdg 2026-02-10T20:18:59,345 Downloading kontra-0.6.1.tar.gz (359 kB) 2026-02-10T20:18:59,828 Added kontra==0.6.1 from https://files.pythonhosted.org/packages/ff/08/3d83a7271f52e8ef25125502bebebae5939a95789a00b05fe45250c13866/kontra-0.6.1.tar.gz to build tracker '/tmp/pip-build-tracker-o6nay8m_' 2026-02-10T20:18:59,834 Created temporary directory: /tmp/pip-build-env-u24krgz4 2026-02-10T20:18:59,839 Installing build dependencies: started 2026-02-10T20:18:59,840 Running command pip subprocess to install build dependencies 2026-02-10T20:19:02,121 Using pip 23.0.1 from /usr/lib/python3/dist-packages/pip (python 3.11) 2026-02-10T20:19:03,271 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-10T20:19:03,293 Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple 2026-02-10T20:19:04,995 Collecting setuptools>=69 2026-02-10T20:19:05,014 Using cached setuptools-82.0.0-py3-none-any.whl (1.0 MB) 2026-02-10T20:19:05,275 Collecting wheel 2026-02-10T20:19:05,288 Using cached https://www.piwheels.org/simple/wheel/wheel-0.46.3-py3-none-any.whl (30 kB) 2026-02-10T20:19:05,469 Collecting packaging>=24.0 2026-02-10T20:19:05,485 Using cached https://www.piwheels.org/simple/packaging/packaging-26.0-py3-none-any.whl (74 kB) 2026-02-10T20:19:08,669 Installing collected packages: setuptools, packaging, wheel 2026-02-10T20:19:12,067 Creating /tmp/pip-build-env-u24krgz4/overlay/local/bin 2026-02-10T20:19:12,069 changing mode of /tmp/pip-build-env-u24krgz4/overlay/local/bin/wheel to 755 2026-02-10T20:19:12,089 Successfully installed packaging-26.0 setuptools-82.0.0 wheel-0.46.3 2026-02-10T20:19:12,366 Installing build dependencies: finished with status 'done' 2026-02-10T20:19:12,373 Getting requirements to build wheel: started 2026-02-10T20:19:12,374 Running command Getting requirements to build wheel 2026-02-10T20:19:12,981 /tmp/pip-build-env-u24krgz4/overlay/local/lib/python3.11/dist-packages/setuptools/config/_apply_pyprojecttoml.py:82: SetuptoolsDeprecationWarning: `project.license` as a TOML table is deprecated 2026-02-10T20:19:12,981 !! 2026-02-10T20:19:12,983 ******************************************************************************** 2026-02-10T20:19:12,983 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-10T20:19:12,984 By 2027-Feb-18, you need to update your project and remove deprecated calls 2026-02-10T20:19:12,985 or your builds will no longer be supported. 2026-02-10T20:19:12,986 See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. 2026-02-10T20:19:12,986 ******************************************************************************** 2026-02-10T20:19:12,987 !! 2026-02-10T20:19:12,988 corresp(dist, value, root_dir) 2026-02-10T20:19:13,061 /tmp/pip-build-env-u24krgz4/overlay/local/lib/python3.11/dist-packages/setuptools/config/_apply_pyprojecttoml.py:61: SetuptoolsDeprecationWarning: License classifiers are deprecated. 2026-02-10T20:19:13,062 !! 2026-02-10T20:19:13,063 ******************************************************************************** 2026-02-10T20:19:13,063 Please consider removing the following classifiers in favor of a SPDX license expression: 2026-02-10T20:19:13,064 License :: OSI Approved :: Apache Software License 2026-02-10T20:19:13,065 See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. 2026-02-10T20:19:13,066 ******************************************************************************** 2026-02-10T20:19:13,067 !! 2026-02-10T20:19:13,067 dist._finalize_license_expression() 2026-02-10T20:19:13,068 /tmp/pip-build-env-u24krgz4/overlay/local/lib/python3.11/dist-packages/setuptools/dist.py:765: SetuptoolsDeprecationWarning: License classifiers are deprecated. 2026-02-10T20:19:13,068 !! 2026-02-10T20:19:13,069 ******************************************************************************** 2026-02-10T20:19:13,070 Please consider removing the following classifiers in favor of a SPDX license expression: 2026-02-10T20:19:13,071 License :: OSI Approved :: Apache Software License 2026-02-10T20:19:13,073 See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. 2026-02-10T20:19:13,074 ******************************************************************************** 2026-02-10T20:19:13,075 !! 2026-02-10T20:19:13,076 self._finalize_license_expression() 2026-02-10T20:19:13,076 running egg_info 2026-02-10T20:19:13,079 writing src/kontra.egg-info/PKG-INFO 2026-02-10T20:19:13,086 writing dependency_links to src/kontra.egg-info/dependency_links.txt 2026-02-10T20:19:13,088 writing entry points to src/kontra.egg-info/entry_points.txt 2026-02-10T20:19:13,091 writing requirements to src/kontra.egg-info/requires.txt 2026-02-10T20:19:13,092 writing top-level names to src/kontra.egg-info/top_level.txt 2026-02-10T20:19:13,135 reading manifest file 'src/kontra.egg-info/SOURCES.txt' 2026-02-10T20:19:13,145 adding license file 'LICENSE' 2026-02-10T20:19:13,154 writing manifest file 'src/kontra.egg-info/SOURCES.txt' 2026-02-10T20:19:13,252 Getting requirements to build wheel: finished with status 'done' 2026-02-10T20:19:13,255 Created temporary directory: /tmp/pip-modern-metadata-ub4bqh92 2026-02-10T20:19:13,258 Preparing metadata (pyproject.toml): started 2026-02-10T20:19:13,259 Running command Preparing metadata (pyproject.toml) 2026-02-10T20:19:13,828 /tmp/pip-build-env-u24krgz4/overlay/local/lib/python3.11/dist-packages/setuptools/config/_apply_pyprojecttoml.py:82: SetuptoolsDeprecationWarning: `project.license` as a TOML table is deprecated 2026-02-10T20:19:13,828 !! 2026-02-10T20:19:13,830 ******************************************************************************** 2026-02-10T20:19:13,830 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-10T20:19:13,831 By 2027-Feb-18, you need to update your project and remove deprecated calls 2026-02-10T20:19:13,832 or your builds will no longer be supported. 2026-02-10T20:19:13,833 See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. 2026-02-10T20:19:13,834 ******************************************************************************** 2026-02-10T20:19:13,834 !! 2026-02-10T20:19:13,835 corresp(dist, value, root_dir) 2026-02-10T20:19:13,903 /tmp/pip-build-env-u24krgz4/overlay/local/lib/python3.11/dist-packages/setuptools/config/_apply_pyprojecttoml.py:61: SetuptoolsDeprecationWarning: License classifiers are deprecated. 2026-02-10T20:19:13,904 !! 2026-02-10T20:19:13,905 ******************************************************************************** 2026-02-10T20:19:13,905 Please consider removing the following classifiers in favor of a SPDX license expression: 2026-02-10T20:19:13,906 License :: OSI Approved :: Apache Software License 2026-02-10T20:19:13,907 See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. 2026-02-10T20:19:13,908 ******************************************************************************** 2026-02-10T20:19:13,908 !! 2026-02-10T20:19:13,909 dist._finalize_license_expression() 2026-02-10T20:19:13,909 /tmp/pip-build-env-u24krgz4/overlay/local/lib/python3.11/dist-packages/setuptools/dist.py:765: SetuptoolsDeprecationWarning: License classifiers are deprecated. 2026-02-10T20:19:13,910 !! 2026-02-10T20:19:13,911 ******************************************************************************** 2026-02-10T20:19:13,911 Please consider removing the following classifiers in favor of a SPDX license expression: 2026-02-10T20:19:13,912 License :: OSI Approved :: Apache Software License 2026-02-10T20:19:13,914 See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. 2026-02-10T20:19:13,914 ******************************************************************************** 2026-02-10T20:19:13,916 !! 2026-02-10T20:19:13,916 self._finalize_license_expression() 2026-02-10T20:19:13,917 running dist_info 2026-02-10T20:19:13,925 creating /tmp/pip-modern-metadata-ub4bqh92/kontra.egg-info 2026-02-10T20:19:13,926 writing /tmp/pip-modern-metadata-ub4bqh92/kontra.egg-info/PKG-INFO 2026-02-10T20:19:13,932 writing dependency_links to /tmp/pip-modern-metadata-ub4bqh92/kontra.egg-info/dependency_links.txt 2026-02-10T20:19:13,934 writing entry points to /tmp/pip-modern-metadata-ub4bqh92/kontra.egg-info/entry_points.txt 2026-02-10T20:19:13,937 writing requirements to /tmp/pip-modern-metadata-ub4bqh92/kontra.egg-info/requires.txt 2026-02-10T20:19:13,938 writing top-level names to /tmp/pip-modern-metadata-ub4bqh92/kontra.egg-info/top_level.txt 2026-02-10T20:19:13,940 writing manifest file '/tmp/pip-modern-metadata-ub4bqh92/kontra.egg-info/SOURCES.txt' 2026-02-10T20:19:13,977 reading manifest file '/tmp/pip-modern-metadata-ub4bqh92/kontra.egg-info/SOURCES.txt' 2026-02-10T20:19:13,979 adding license file 'LICENSE' 2026-02-10T20:19:13,986 writing manifest file '/tmp/pip-modern-metadata-ub4bqh92/kontra.egg-info/SOURCES.txt' 2026-02-10T20:19:13,988 creating '/tmp/pip-modern-metadata-ub4bqh92/kontra-0.6.1.dist-info' 2026-02-10T20:19:14,111 Preparing metadata (pyproject.toml): finished with status 'done' 2026-02-10T20:19:14,116 Source in /tmp/pip-wheel-e3lrpdb6/kontra_9dff05ea2d5441b6ac024b59f5439eff has version 0.6.1, which satisfies requirement kontra==0.6.1 from https://files.pythonhosted.org/packages/ff/08/3d83a7271f52e8ef25125502bebebae5939a95789a00b05fe45250c13866/kontra-0.6.1.tar.gz 2026-02-10T20:19:14,117 Removed kontra==0.6.1 from https://files.pythonhosted.org/packages/ff/08/3d83a7271f52e8ef25125502bebebae5939a95789a00b05fe45250c13866/kontra-0.6.1.tar.gz from build tracker '/tmp/pip-build-tracker-o6nay8m_' 2026-02-10T20:19:14,123 Created temporary directory: /tmp/pip-unpack-v8lg3sv9 2026-02-10T20:19:14,124 Building wheels for collected packages: kontra 2026-02-10T20:19:14,128 Created temporary directory: /tmp/pip-wheel-bxq6lqeh 2026-02-10T20:19:14,129 Destination directory: /tmp/pip-wheel-bxq6lqeh 2026-02-10T20:19:14,131 Building wheel for kontra (pyproject.toml): started 2026-02-10T20:19:14,132 Running command Building wheel for kontra (pyproject.toml) 2026-02-10T20:19:14,711 /tmp/pip-build-env-u24krgz4/overlay/local/lib/python3.11/dist-packages/setuptools/config/_apply_pyprojecttoml.py:82: SetuptoolsDeprecationWarning: `project.license` as a TOML table is deprecated 2026-02-10T20:19:14,712 !! 2026-02-10T20:19:14,713 ******************************************************************************** 2026-02-10T20:19:14,713 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-10T20:19:14,714 By 2027-Feb-18, you need to update your project and remove deprecated calls 2026-02-10T20:19:14,714 or your builds will no longer be supported. 2026-02-10T20:19:14,715 See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. 2026-02-10T20:19:14,716 ******************************************************************************** 2026-02-10T20:19:14,717 !! 2026-02-10T20:19:14,717 corresp(dist, value, root_dir) 2026-02-10T20:19:14,780 /tmp/pip-build-env-u24krgz4/overlay/local/lib/python3.11/dist-packages/setuptools/config/_apply_pyprojecttoml.py:61: SetuptoolsDeprecationWarning: License classifiers are deprecated. 2026-02-10T20:19:14,781 !! 2026-02-10T20:19:14,782 ******************************************************************************** 2026-02-10T20:19:14,782 Please consider removing the following classifiers in favor of a SPDX license expression: 2026-02-10T20:19:14,784 License :: OSI Approved :: Apache Software License 2026-02-10T20:19:14,785 See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. 2026-02-10T20:19:14,785 ******************************************************************************** 2026-02-10T20:19:14,787 !! 2026-02-10T20:19:14,787 dist._finalize_license_expression() 2026-02-10T20:19:14,788 /tmp/pip-build-env-u24krgz4/overlay/local/lib/python3.11/dist-packages/setuptools/dist.py:765: SetuptoolsDeprecationWarning: License classifiers are deprecated. 2026-02-10T20:19:14,789 !! 2026-02-10T20:19:14,790 ******************************************************************************** 2026-02-10T20:19:14,790 Please consider removing the following classifiers in favor of a SPDX license expression: 2026-02-10T20:19:14,792 License :: OSI Approved :: Apache Software License 2026-02-10T20:19:14,793 See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. 2026-02-10T20:19:14,793 ******************************************************************************** 2026-02-10T20:19:14,794 !! 2026-02-10T20:19:14,795 self._finalize_license_expression() 2026-02-10T20:19:14,796 running bdist_wheel 2026-02-10T20:19:14,805 running build 2026-02-10T20:19:14,806 running build_py 2026-02-10T20:19:14,812 creating build/lib/kontra 2026-02-10T20:19:14,814 copying src/kontra/version.py -> build/lib/kontra 2026-02-10T20:19:14,816 copying src/kontra/errors.py -> build/lib/kontra 2026-02-10T20:19:14,819 copying src/kontra/logging.py -> build/lib/kontra 2026-02-10T20:19:14,821 copying src/kontra/__init__.py -> build/lib/kontra 2026-02-10T20:19:14,825 creating build/lib/kontra/scout 2026-02-10T20:19:14,826 copying src/kontra/scout/dtype_mapping.py -> build/lib/kontra/scout 2026-02-10T20:19:14,828 copying src/kontra/scout/profiler.py -> build/lib/kontra/scout 2026-02-10T20:19:14,831 copying src/kontra/scout/patterns.py -> build/lib/kontra/scout 2026-02-10T20:19:14,833 copying src/kontra/scout/store.py -> build/lib/kontra/scout 2026-02-10T20:19:14,835 copying src/kontra/scout/types.py -> build/lib/kontra/scout 2026-02-10T20:19:14,838 copying src/kontra/scout/suggest.py -> build/lib/kontra/scout 2026-02-10T20:19:14,840 copying src/kontra/scout/__init__.py -> build/lib/kontra/scout 2026-02-10T20:19:14,842 creating build/lib/kontra/state 2026-02-10T20:19:14,843 copying src/kontra/state/types.py -> build/lib/kontra/state 2026-02-10T20:19:14,846 copying src/kontra/state/fingerprint.py -> build/lib/kontra/state 2026-02-10T20:19:14,848 copying src/kontra/state/__init__.py -> build/lib/kontra/state 2026-02-10T20:19:14,850 creating build/lib/kontra/connectors 2026-02-10T20:19:14,851 copying src/kontra/connectors/handle.py -> build/lib/kontra/connectors 2026-02-10T20:19:14,853 copying src/kontra/connectors/detection.py -> build/lib/kontra/connectors 2026-02-10T20:19:14,856 copying src/kontra/connectors/postgres.py -> build/lib/kontra/connectors 2026-02-10T20:19:14,857 copying src/kontra/connectors/sqlserver.py -> build/lib/kontra/connectors 2026-02-10T20:19:14,859 copying src/kontra/connectors/db_utils.py -> build/lib/kontra/connectors 2026-02-10T20:19:14,861 copying src/kontra/connectors/__init__.py -> build/lib/kontra/connectors 2026-02-10T20:19:14,863 creating build/lib/kontra/preplan 2026-02-10T20:19:14,864 copying src/kontra/preplan/postgres.py -> build/lib/kontra/preplan 2026-02-10T20:19:14,867 copying src/kontra/preplan/sqlserver.py -> build/lib/kontra/preplan 2026-02-10T20:19:14,869 copying src/kontra/preplan/types.py -> build/lib/kontra/preplan 2026-02-10T20:19:14,871 copying src/kontra/preplan/__init__.py -> build/lib/kontra/preplan 2026-02-10T20:19:14,873 copying src/kontra/preplan/planner.py -> build/lib/kontra/preplan 2026-02-10T20:19:14,876 creating build/lib/kontra/engine 2026-02-10T20:19:14,877 copying src/kontra/engine/result.py -> build/lib/kontra/engine 2026-02-10T20:19:14,878 copying src/kontra/engine/sql_utils.py -> build/lib/kontra/engine 2026-02-10T20:19:14,881 copying src/kontra/engine/sql_validator.py -> build/lib/kontra/engine 2026-02-10T20:19:14,885 copying src/kontra/engine/engine.py -> build/lib/kontra/engine 2026-02-10T20:19:14,888 copying src/kontra/engine/types.py -> build/lib/kontra/engine 2026-02-10T20:19:14,890 copying src/kontra/engine/paths.py -> build/lib/kontra/engine 2026-02-10T20:19:14,892 copying src/kontra/engine/stats.py -> build/lib/kontra/engine 2026-02-10T20:19:14,894 copying src/kontra/engine/__init__.py -> build/lib/kontra/engine 2026-02-10T20:19:14,896 creating build/lib/kontra/reporters 2026-02-10T20:19:14,897 copying src/kontra/reporters/json_reporter.py -> build/lib/kontra/reporters 2026-02-10T20:19:14,900 copying src/kontra/reporters/rich_reporter.py -> build/lib/kontra/reporters 2026-02-10T20:19:14,902 copying src/kontra/reporters/__init__.py -> build/lib/kontra/reporters 2026-02-10T20:19:14,904 creating build/lib/kontra/rule_defs 2026-02-10T20:19:14,905 copying src/kontra/rule_defs/factory.py -> build/lib/kontra/rule_defs 2026-02-10T20:19:14,908 copying src/kontra/rule_defs/registry.py -> build/lib/kontra/rule_defs 2026-02-10T20:19:14,910 copying src/kontra/rule_defs/execution_plan.py -> build/lib/kontra/rule_defs 2026-02-10T20:19:14,913 copying src/kontra/rule_defs/condition_parser.py -> build/lib/kontra/rule_defs 2026-02-10T20:19:14,915 copying src/kontra/rule_defs/static_predicates.py -> build/lib/kontra/rule_defs 2026-02-10T20:19:14,917 copying src/kontra/rule_defs/predicates.py -> build/lib/kontra/rule_defs 2026-02-10T20:19:14,919 copying src/kontra/rule_defs/__init__.py -> build/lib/kontra/rule_defs 2026-02-10T20:19:14,921 copying src/kontra/rule_defs/base.py -> build/lib/kontra/rule_defs 2026-02-10T20:19:14,924 creating build/lib/kontra/cli 2026-02-10T20:19:14,925 copying src/kontra/cli/renderers.py -> build/lib/kontra/cli 2026-02-10T20:19:14,927 copying src/kontra/cli/constants.py -> build/lib/kontra/cli 2026-02-10T20:19:14,929 copying src/kontra/cli/main.py -> build/lib/kontra/cli 2026-02-10T20:19:14,931 copying src/kontra/cli/utils.py -> build/lib/kontra/cli 2026-02-10T20:19:14,933 copying src/kontra/cli/__init__.py -> build/lib/kontra/cli 2026-02-10T20:19:14,935 creating build/lib/kontra/probes 2026-02-10T20:19:14,936 copying src/kontra/probes/utils.py -> build/lib/kontra/probes 2026-02-10T20:19:14,937 copying src/kontra/probes/__init__.py -> build/lib/kontra/probes 2026-02-10T20:19:14,940 copying src/kontra/probes/compare.py -> build/lib/kontra/probes 2026-02-10T20:19:14,943 copying src/kontra/probes/relationship.py -> build/lib/kontra/probes 2026-02-10T20:19:14,946 creating build/lib/kontra/api 2026-02-10T20:19:14,947 copying src/kontra/api/decorators.py -> build/lib/kontra/api 2026-02-10T20:19:14,950 copying src/kontra/api/results.py -> build/lib/kontra/api 2026-02-10T20:19:14,954 copying src/kontra/api/rules.py -> build/lib/kontra/api 2026-02-10T20:19:14,956 copying src/kontra/api/__init__.py -> build/lib/kontra/api 2026-02-10T20:19:14,958 copying src/kontra/api/compare.py -> build/lib/kontra/api 2026-02-10T20:19:14,961 creating build/lib/kontra/config 2026-02-10T20:19:14,962 copying src/kontra/config/models.py -> build/lib/kontra/config 2026-02-10T20:19:14,964 copying src/kontra/config/settings.py -> build/lib/kontra/config 2026-02-10T20:19:14,967 copying src/kontra/config/__init__.py -> build/lib/kontra/config 2026-02-10T20:19:14,969 copying src/kontra/config/loader.py -> build/lib/kontra/config 2026-02-10T20:19:14,972 creating build/lib/kontra/scout/reporters 2026-02-10T20:19:14,973 copying src/kontra/scout/reporters/json_reporter.py -> build/lib/kontra/scout/reporters 2026-02-10T20:19:14,975 copying src/kontra/scout/reporters/markdown_reporter.py -> build/lib/kontra/scout/reporters 2026-02-10T20:19:14,977 copying src/kontra/scout/reporters/rich_reporter.py -> build/lib/kontra/scout/reporters 2026-02-10T20:19:14,980 copying src/kontra/scout/reporters/__init__.py -> build/lib/kontra/scout/reporters 2026-02-10T20:19:14,982 creating build/lib/kontra/scout/backends 2026-02-10T20:19:14,983 copying src/kontra/scout/backends/sqlserver_backend.py -> build/lib/kontra/scout/backends 2026-02-10T20:19:14,986 copying src/kontra/scout/backends/postgres_backend.py -> build/lib/kontra/scout/backends 2026-02-10T20:19:14,988 copying src/kontra/scout/backends/duckdb_backend.py -> build/lib/kontra/scout/backends 2026-02-10T20:19:14,991 copying src/kontra/scout/backends/__init__.py -> build/lib/kontra/scout/backends 2026-02-10T20:19:14,993 copying src/kontra/scout/backends/base.py -> build/lib/kontra/scout/backends 2026-02-10T20:19:14,995 creating build/lib/kontra/state/backends 2026-02-10T20:19:14,996 copying src/kontra/state/backends/s3.py -> build/lib/kontra/state/backends 2026-02-10T20:19:14,999 copying src/kontra/state/backends/postgres.py -> build/lib/kontra/state/backends 2026-02-10T20:19:15,002 copying src/kontra/state/backends/sqlserver.py -> build/lib/kontra/state/backends 2026-02-10T20:19:15,005 copying src/kontra/state/backends/local.py -> build/lib/kontra/state/backends 2026-02-10T20:19:15,008 copying src/kontra/state/backends/__init__.py -> build/lib/kontra/state/backends 2026-02-10T20:19:15,010 copying src/kontra/state/backends/base.py -> build/lib/kontra/state/backends 2026-02-10T20:19:15,013 creating build/lib/kontra/engine/executors 2026-02-10T20:19:15,014 copying src/kontra/engine/executors/sqlserver_sql.py -> build/lib/kontra/engine/executors 2026-02-10T20:19:15,016 copying src/kontra/engine/executors/registry.py -> build/lib/kontra/engine/executors 2026-02-10T20:19:15,018 copying src/kontra/engine/executors/postgres_sql.py -> build/lib/kontra/engine/executors 2026-02-10T20:19:15,020 copying src/kontra/engine/executors/duckdb_sql.py -> build/lib/kontra/engine/executors 2026-02-10T20:19:15,023 copying src/kontra/engine/executors/__init__.py -> build/lib/kontra/engine/executors 2026-02-10T20:19:15,025 copying src/kontra/engine/executors/database_base.py -> build/lib/kontra/engine/executors 2026-02-10T20:19:15,028 copying src/kontra/engine/executors/base.py -> build/lib/kontra/engine/executors 2026-02-10T20:19:15,030 creating build/lib/kontra/engine/materializers 2026-02-10T20:19:15,031 copying src/kontra/engine/materializers/factory.py -> build/lib/kontra/engine/materializers 2026-02-10T20:19:15,033 copying src/kontra/engine/materializers/registry.py -> build/lib/kontra/engine/materializers 2026-02-10T20:19:15,035 copying src/kontra/engine/materializers/postgres.py -> build/lib/kontra/engine/materializers 2026-02-10T20:19:15,037 copying src/kontra/engine/materializers/sqlserver.py -> build/lib/kontra/engine/materializers 2026-02-10T20:19:15,040 copying src/kontra/engine/materializers/duckdb.py -> build/lib/kontra/engine/materializers 2026-02-10T20:19:15,041 copying src/kontra/engine/materializers/polars_connector.py -> build/lib/kontra/engine/materializers 2026-02-10T20:19:15,044 copying src/kontra/engine/materializers/__init__.py -> build/lib/kontra/engine/materializers 2026-02-10T20:19:15,045 copying src/kontra/engine/materializers/base.py -> build/lib/kontra/engine/materializers 2026-02-10T20:19:15,048 creating build/lib/kontra/engine/backends 2026-02-10T20:19:15,049 copying src/kontra/engine/backends/polars_backend.py -> build/lib/kontra/engine/backends 2026-02-10T20:19:15,051 copying src/kontra/engine/backends/duckdb_session.py -> build/lib/kontra/engine/backends 2026-02-10T20:19:15,053 copying src/kontra/engine/backends/duckdb_utils.py -> build/lib/kontra/engine/backends 2026-02-10T20:19:15,055 creating build/lib/kontra/rule_defs/builtin 2026-02-10T20:19:15,056 copying src/kontra/rule_defs/builtin/dtype.py -> build/lib/kontra/rule_defs/builtin 2026-02-10T20:19:15,059 copying src/kontra/rule_defs/builtin/range.py -> build/lib/kontra/rule_defs/builtin 2026-02-10T20:19:15,061 copying src/kontra/rule_defs/builtin/custom_sql_check.py -> build/lib/kontra/rule_defs/builtin 2026-02-10T20:19:15,063 copying src/kontra/rule_defs/builtin/ends_with.py -> build/lib/kontra/rule_defs/builtin 2026-02-10T20:19:15,065 copying src/kontra/rule_defs/builtin/unique.py -> build/lib/kontra/rule_defs/builtin 2026-02-10T20:19:15,067 copying src/kontra/rule_defs/builtin/starts_with.py -> build/lib/kontra/rule_defs/builtin 2026-02-10T20:19:15,069 copying src/kontra/rule_defs/builtin/regex.py -> build/lib/kontra/rule_defs/builtin 2026-02-10T20:19:15,071 copying src/kontra/rule_defs/builtin/length.py -> build/lib/kontra/rule_defs/builtin 2026-02-10T20:19:15,073 copying src/kontra/rule_defs/builtin/not_null.py -> build/lib/kontra/rule_defs/builtin 2026-02-10T20:19:15,075 copying src/kontra/rule_defs/builtin/contains.py -> build/lib/kontra/rule_defs/builtin 2026-02-10T20:19:15,078 copying src/kontra/rule_defs/builtin/freshness.py -> build/lib/kontra/rule_defs/builtin 2026-02-10T20:19:15,080 copying src/kontra/rule_defs/builtin/disallowed_values.py -> build/lib/kontra/rule_defs/builtin 2026-02-10T20:19:15,082 copying src/kontra/rule_defs/builtin/max_rows.py -> build/lib/kontra/rule_defs/builtin 2026-02-10T20:19:15,084 copying src/kontra/rule_defs/builtin/conditional_range.py -> build/lib/kontra/rule_defs/builtin 2026-02-10T20:19:15,086 copying src/kontra/rule_defs/builtin/allowed_values.py -> build/lib/kontra/rule_defs/builtin 2026-02-10T20:19:15,088 copying src/kontra/rule_defs/builtin/__init__.py -> build/lib/kontra/rule_defs/builtin 2026-02-10T20:19:15,090 copying src/kontra/rule_defs/builtin/compare.py -> build/lib/kontra/rule_defs/builtin 2026-02-10T20:19:15,092 copying src/kontra/rule_defs/builtin/conditional_not_null.py -> build/lib/kontra/rule_defs/builtin 2026-02-10T20:19:15,095 copying src/kontra/rule_defs/builtin/min_rows.py -> build/lib/kontra/rule_defs/builtin 2026-02-10T20:19:15,097 creating build/lib/kontra/cli/commands 2026-02-10T20:19:15,098 copying src/kontra/cli/commands/config.py -> build/lib/kontra/cli/commands 2026-02-10T20:19:15,100 copying src/kontra/cli/commands/history.py -> build/lib/kontra/cli/commands 2026-02-10T20:19:15,103 copying src/kontra/cli/commands/validate.py -> build/lib/kontra/cli/commands 2026-02-10T20:19:15,105 copying src/kontra/cli/commands/profile.py -> build/lib/kontra/cli/commands 2026-02-10T20:19:15,108 copying src/kontra/cli/commands/diff.py -> build/lib/kontra/cli/commands 2026-02-10T20:19:15,110 copying src/kontra/cli/commands/__init__.py -> build/lib/kontra/cli/commands 2026-02-10T20:19:15,112 running egg_info 2026-02-10T20:19:15,121 writing src/kontra.egg-info/PKG-INFO 2026-02-10T20:19:15,127 writing dependency_links to src/kontra.egg-info/dependency_links.txt 2026-02-10T20:19:15,129 writing entry points to src/kontra.egg-info/entry_points.txt 2026-02-10T20:19:15,132 writing requirements to src/kontra.egg-info/requires.txt 2026-02-10T20:19:15,133 writing top-level names to src/kontra.egg-info/top_level.txt 2026-02-10T20:19:15,161 reading manifest file 'src/kontra.egg-info/SOURCES.txt' 2026-02-10T20:19:15,171 adding license file 'LICENSE' 2026-02-10T20:19:15,180 writing manifest file 'src/kontra.egg-info/SOURCES.txt' 2026-02-10T20:19:15,210 installing to build/bdist.linux-armv7l/wheel 2026-02-10T20:19:15,211 running install 2026-02-10T20:19:15,233 running install_lib 2026-02-10T20:19:15,239 creating build/bdist.linux-armv7l/wheel 2026-02-10T20:19:15,241 creating build/bdist.linux-armv7l/wheel/kontra 2026-02-10T20:19:15,242 copying build/lib/kontra/version.py -> build/bdist.linux-armv7l/wheel/./kontra 2026-02-10T20:19:15,244 creating build/bdist.linux-armv7l/wheel/kontra/scout 2026-02-10T20:19:15,245 copying build/lib/kontra/scout/dtype_mapping.py -> build/bdist.linux-armv7l/wheel/./kontra/scout 2026-02-10T20:19:15,248 copying build/lib/kontra/scout/profiler.py -> build/bdist.linux-armv7l/wheel/./kontra/scout 2026-02-10T20:19:15,250 copying build/lib/kontra/scout/patterns.py -> build/bdist.linux-armv7l/wheel/./kontra/scout 2026-02-10T20:19:15,252 copying build/lib/kontra/scout/store.py -> build/bdist.linux-armv7l/wheel/./kontra/scout 2026-02-10T20:19:15,254 copying build/lib/kontra/scout/types.py -> build/bdist.linux-armv7l/wheel/./kontra/scout 2026-02-10T20:19:15,257 creating build/bdist.linux-armv7l/wheel/kontra/scout/reporters 2026-02-10T20:19:15,258 copying build/lib/kontra/scout/reporters/json_reporter.py -> build/bdist.linux-armv7l/wheel/./kontra/scout/reporters 2026-02-10T20:19:15,260 copying build/lib/kontra/scout/reporters/markdown_reporter.py -> build/bdist.linux-armv7l/wheel/./kontra/scout/reporters 2026-02-10T20:19:15,262 copying build/lib/kontra/scout/reporters/rich_reporter.py -> build/bdist.linux-armv7l/wheel/./kontra/scout/reporters 2026-02-10T20:19:15,265 copying build/lib/kontra/scout/reporters/__init__.py -> build/bdist.linux-armv7l/wheel/./kontra/scout/reporters 2026-02-10T20:19:15,266 copying build/lib/kontra/scout/suggest.py -> build/bdist.linux-armv7l/wheel/./kontra/scout 2026-02-10T20:19:15,268 copying build/lib/kontra/scout/__init__.py -> build/bdist.linux-armv7l/wheel/./kontra/scout 2026-02-10T20:19:15,271 creating build/bdist.linux-armv7l/wheel/kontra/scout/backends 2026-02-10T20:19:15,272 copying build/lib/kontra/scout/backends/sqlserver_backend.py -> build/bdist.linux-armv7l/wheel/./kontra/scout/backends 2026-02-10T20:19:15,275 copying build/lib/kontra/scout/backends/postgres_backend.py -> build/bdist.linux-armv7l/wheel/./kontra/scout/backends 2026-02-10T20:19:15,277 copying build/lib/kontra/scout/backends/duckdb_backend.py -> build/bdist.linux-armv7l/wheel/./kontra/scout/backends 2026-02-10T20:19:15,280 copying build/lib/kontra/scout/backends/__init__.py -> build/bdist.linux-armv7l/wheel/./kontra/scout/backends 2026-02-10T20:19:15,281 copying build/lib/kontra/scout/backends/base.py -> build/bdist.linux-armv7l/wheel/./kontra/scout/backends 2026-02-10T20:19:15,284 creating build/bdist.linux-armv7l/wheel/kontra/state 2026-02-10T20:19:15,285 copying build/lib/kontra/state/types.py -> build/bdist.linux-armv7l/wheel/./kontra/state 2026-02-10T20:19:15,288 copying build/lib/kontra/state/fingerprint.py -> build/bdist.linux-armv7l/wheel/./kontra/state 2026-02-10T20:19:15,290 copying build/lib/kontra/state/__init__.py -> build/bdist.linux-armv7l/wheel/./kontra/state 2026-02-10T20:19:15,293 creating build/bdist.linux-armv7l/wheel/kontra/state/backends 2026-02-10T20:19:15,294 copying build/lib/kontra/state/backends/s3.py -> build/bdist.linux-armv7l/wheel/./kontra/state/backends 2026-02-10T20:19:15,296 copying build/lib/kontra/state/backends/postgres.py -> build/bdist.linux-armv7l/wheel/./kontra/state/backends 2026-02-10T20:19:15,299 copying build/lib/kontra/state/backends/sqlserver.py -> build/bdist.linux-armv7l/wheel/./kontra/state/backends 2026-02-10T20:19:15,301 copying build/lib/kontra/state/backends/local.py -> build/bdist.linux-armv7l/wheel/./kontra/state/backends 2026-02-10T20:19:15,303 copying build/lib/kontra/state/backends/__init__.py -> build/bdist.linux-armv7l/wheel/./kontra/state/backends 2026-02-10T20:19:15,305 copying build/lib/kontra/state/backends/base.py -> build/bdist.linux-armv7l/wheel/./kontra/state/backends 2026-02-10T20:19:15,308 creating build/bdist.linux-armv7l/wheel/kontra/connectors 2026-02-10T20:19:15,309 copying build/lib/kontra/connectors/handle.py -> build/bdist.linux-armv7l/wheel/./kontra/connectors 2026-02-10T20:19:15,311 copying build/lib/kontra/connectors/detection.py -> build/bdist.linux-armv7l/wheel/./kontra/connectors 2026-02-10T20:19:15,313 copying build/lib/kontra/connectors/postgres.py -> build/bdist.linux-armv7l/wheel/./kontra/connectors 2026-02-10T20:19:15,315 copying build/lib/kontra/connectors/sqlserver.py -> build/bdist.linux-armv7l/wheel/./kontra/connectors 2026-02-10T20:19:15,317 copying build/lib/kontra/connectors/db_utils.py -> build/bdist.linux-armv7l/wheel/./kontra/connectors 2026-02-10T20:19:15,319 copying build/lib/kontra/connectors/__init__.py -> build/bdist.linux-armv7l/wheel/./kontra/connectors 2026-02-10T20:19:15,321 creating build/bdist.linux-armv7l/wheel/kontra/preplan 2026-02-10T20:19:15,322 copying build/lib/kontra/preplan/postgres.py -> build/bdist.linux-armv7l/wheel/./kontra/preplan 2026-02-10T20:19:15,325 copying build/lib/kontra/preplan/sqlserver.py -> build/bdist.linux-armv7l/wheel/./kontra/preplan 2026-02-10T20:19:15,327 copying build/lib/kontra/preplan/types.py -> build/bdist.linux-armv7l/wheel/./kontra/preplan 2026-02-10T20:19:15,329 copying build/lib/kontra/preplan/__init__.py -> build/bdist.linux-armv7l/wheel/./kontra/preplan 2026-02-10T20:19:15,331 copying build/lib/kontra/preplan/planner.py -> build/bdist.linux-armv7l/wheel/./kontra/preplan 2026-02-10T20:19:15,335 creating build/bdist.linux-armv7l/wheel/kontra/engine 2026-02-10T20:19:15,336 copying build/lib/kontra/engine/result.py -> build/bdist.linux-armv7l/wheel/./kontra/engine 2026-02-10T20:19:15,337 copying build/lib/kontra/engine/sql_utils.py -> build/bdist.linux-armv7l/wheel/./kontra/engine 2026-02-10T20:19:15,340 copying build/lib/kontra/engine/sql_validator.py -> build/bdist.linux-armv7l/wheel/./kontra/engine 2026-02-10T20:19:15,343 copying build/lib/kontra/engine/engine.py -> build/bdist.linux-armv7l/wheel/./kontra/engine 2026-02-10T20:19:15,346 creating build/bdist.linux-armv7l/wheel/kontra/engine/executors 2026-02-10T20:19:15,347 copying build/lib/kontra/engine/executors/sqlserver_sql.py -> build/bdist.linux-armv7l/wheel/./kontra/engine/executors 2026-02-10T20:19:15,350 copying build/lib/kontra/engine/executors/registry.py -> build/bdist.linux-armv7l/wheel/./kontra/engine/executors 2026-02-10T20:19:15,352 copying build/lib/kontra/engine/executors/postgres_sql.py -> build/bdist.linux-armv7l/wheel/./kontra/engine/executors 2026-02-10T20:19:15,354 copying build/lib/kontra/engine/executors/duckdb_sql.py -> build/bdist.linux-armv7l/wheel/./kontra/engine/executors 2026-02-10T20:19:15,357 copying build/lib/kontra/engine/executors/__init__.py -> build/bdist.linux-armv7l/wheel/./kontra/engine/executors 2026-02-10T20:19:15,358 copying build/lib/kontra/engine/executors/database_base.py -> build/bdist.linux-armv7l/wheel/./kontra/engine/executors 2026-02-10T20:19:15,361 copying build/lib/kontra/engine/executors/base.py -> build/bdist.linux-armv7l/wheel/./kontra/engine/executors 2026-02-10T20:19:15,363 creating build/bdist.linux-armv7l/wheel/kontra/engine/materializers 2026-02-10T20:19:15,364 copying build/lib/kontra/engine/materializers/factory.py -> build/bdist.linux-armv7l/wheel/./kontra/engine/materializers 2026-02-10T20:19:15,366 copying build/lib/kontra/engine/materializers/registry.py -> build/bdist.linux-armv7l/wheel/./kontra/engine/materializers 2026-02-10T20:19:15,368 copying build/lib/kontra/engine/materializers/postgres.py -> build/bdist.linux-armv7l/wheel/./kontra/engine/materializers 2026-02-10T20:19:15,370 copying build/lib/kontra/engine/materializers/sqlserver.py -> build/bdist.linux-armv7l/wheel/./kontra/engine/materializers 2026-02-10T20:19:15,372 copying build/lib/kontra/engine/materializers/duckdb.py -> build/bdist.linux-armv7l/wheel/./kontra/engine/materializers 2026-02-10T20:19:15,374 copying build/lib/kontra/engine/materializers/polars_connector.py -> build/bdist.linux-armv7l/wheel/./kontra/engine/materializers 2026-02-10T20:19:15,376 copying build/lib/kontra/engine/materializers/__init__.py -> build/bdist.linux-armv7l/wheel/./kontra/engine/materializers 2026-02-10T20:19:15,377 copying build/lib/kontra/engine/materializers/base.py -> build/bdist.linux-armv7l/wheel/./kontra/engine/materializers 2026-02-10T20:19:15,379 copying build/lib/kontra/engine/types.py -> build/bdist.linux-armv7l/wheel/./kontra/engine 2026-02-10T20:19:15,381 copying build/lib/kontra/engine/paths.py -> build/bdist.linux-armv7l/wheel/./kontra/engine 2026-02-10T20:19:15,383 copying build/lib/kontra/engine/stats.py -> build/bdist.linux-armv7l/wheel/./kontra/engine 2026-02-10T20:19:15,385 copying build/lib/kontra/engine/__init__.py -> build/bdist.linux-armv7l/wheel/./kontra/engine 2026-02-10T20:19:15,387 creating build/bdist.linux-armv7l/wheel/kontra/engine/backends 2026-02-10T20:19:15,388 copying build/lib/kontra/engine/backends/polars_backend.py -> build/bdist.linux-armv7l/wheel/./kontra/engine/backends 2026-02-10T20:19:15,390 copying build/lib/kontra/engine/backends/duckdb_session.py -> build/bdist.linux-armv7l/wheel/./kontra/engine/backends 2026-02-10T20:19:15,392 copying build/lib/kontra/engine/backends/duckdb_utils.py -> build/bdist.linux-armv7l/wheel/./kontra/engine/backends 2026-02-10T20:19:15,394 copying build/lib/kontra/errors.py -> build/bdist.linux-armv7l/wheel/./kontra 2026-02-10T20:19:15,397 creating build/bdist.linux-armv7l/wheel/kontra/reporters 2026-02-10T20:19:15,398 copying build/lib/kontra/reporters/json_reporter.py -> build/bdist.linux-armv7l/wheel/./kontra/reporters 2026-02-10T20:19:15,400 copying build/lib/kontra/reporters/rich_reporter.py -> build/bdist.linux-armv7l/wheel/./kontra/reporters 2026-02-10T20:19:15,402 copying build/lib/kontra/reporters/__init__.py -> build/bdist.linux-armv7l/wheel/./kontra/reporters 2026-02-10T20:19:15,404 creating build/bdist.linux-armv7l/wheel/kontra/rule_defs 2026-02-10T20:19:15,405 creating build/bdist.linux-armv7l/wheel/kontra/rule_defs/builtin 2026-02-10T20:19:15,406 copying build/lib/kontra/rule_defs/builtin/dtype.py -> build/bdist.linux-armv7l/wheel/./kontra/rule_defs/builtin 2026-02-10T20:19:15,409 copying build/lib/kontra/rule_defs/builtin/range.py -> build/bdist.linux-armv7l/wheel/./kontra/rule_defs/builtin 2026-02-10T20:19:15,411 copying build/lib/kontra/rule_defs/builtin/custom_sql_check.py -> build/bdist.linux-armv7l/wheel/./kontra/rule_defs/builtin 2026-02-10T20:19:15,413 copying build/lib/kontra/rule_defs/builtin/ends_with.py -> build/bdist.linux-armv7l/wheel/./kontra/rule_defs/builtin 2026-02-10T20:19:15,415 copying build/lib/kontra/rule_defs/builtin/unique.py -> build/bdist.linux-armv7l/wheel/./kontra/rule_defs/builtin 2026-02-10T20:19:15,418 copying build/lib/kontra/rule_defs/builtin/starts_with.py -> build/bdist.linux-armv7l/wheel/./kontra/rule_defs/builtin 2026-02-10T20:19:15,420 copying build/lib/kontra/rule_defs/builtin/regex.py -> build/bdist.linux-armv7l/wheel/./kontra/rule_defs/builtin 2026-02-10T20:19:15,425 copying build/lib/kontra/rule_defs/builtin/length.py -> build/bdist.linux-armv7l/wheel/./kontra/rule_defs/builtin 2026-02-10T20:19:15,427 copying build/lib/kontra/rule_defs/builtin/not_null.py -> build/bdist.linux-armv7l/wheel/./kontra/rule_defs/builtin 2026-02-10T20:19:15,429 copying build/lib/kontra/rule_defs/builtin/contains.py -> build/bdist.linux-armv7l/wheel/./kontra/rule_defs/builtin 2026-02-10T20:19:15,432 copying build/lib/kontra/rule_defs/builtin/freshness.py -> build/bdist.linux-armv7l/wheel/./kontra/rule_defs/builtin 2026-02-10T20:19:15,434 copying build/lib/kontra/rule_defs/builtin/disallowed_values.py -> build/bdist.linux-armv7l/wheel/./kontra/rule_defs/builtin 2026-02-10T20:19:15,436 copying build/lib/kontra/rule_defs/builtin/max_rows.py -> build/bdist.linux-armv7l/wheel/./kontra/rule_defs/builtin 2026-02-10T20:19:15,438 copying build/lib/kontra/rule_defs/builtin/conditional_range.py -> build/bdist.linux-armv7l/wheel/./kontra/rule_defs/builtin 2026-02-10T20:19:15,440 copying build/lib/kontra/rule_defs/builtin/allowed_values.py -> build/bdist.linux-armv7l/wheel/./kontra/rule_defs/builtin 2026-02-10T20:19:15,442 copying build/lib/kontra/rule_defs/builtin/__init__.py -> build/bdist.linux-armv7l/wheel/./kontra/rule_defs/builtin 2026-02-10T20:19:15,444 copying build/lib/kontra/rule_defs/builtin/compare.py -> build/bdist.linux-armv7l/wheel/./kontra/rule_defs/builtin 2026-02-10T20:19:15,446 copying build/lib/kontra/rule_defs/builtin/conditional_not_null.py -> build/bdist.linux-armv7l/wheel/./kontra/rule_defs/builtin 2026-02-10T20:19:15,448 copying build/lib/kontra/rule_defs/builtin/min_rows.py -> build/bdist.linux-armv7l/wheel/./kontra/rule_defs/builtin 2026-02-10T20:19:15,450 copying build/lib/kontra/rule_defs/factory.py -> build/bdist.linux-armv7l/wheel/./kontra/rule_defs 2026-02-10T20:19:15,452 copying build/lib/kontra/rule_defs/registry.py -> build/bdist.linux-armv7l/wheel/./kontra/rule_defs 2026-02-10T20:19:15,454 copying build/lib/kontra/rule_defs/execution_plan.py -> build/bdist.linux-armv7l/wheel/./kontra/rule_defs 2026-02-10T20:19:15,457 copying build/lib/kontra/rule_defs/condition_parser.py -> build/bdist.linux-armv7l/wheel/./kontra/rule_defs 2026-02-10T20:19:15,459 copying build/lib/kontra/rule_defs/static_predicates.py -> build/bdist.linux-armv7l/wheel/./kontra/rule_defs 2026-02-10T20:19:15,462 copying build/lib/kontra/rule_defs/predicates.py -> build/bdist.linux-armv7l/wheel/./kontra/rule_defs 2026-02-10T20:19:15,463 copying build/lib/kontra/rule_defs/__init__.py -> build/bdist.linux-armv7l/wheel/./kontra/rule_defs 2026-02-10T20:19:15,465 copying build/lib/kontra/rule_defs/base.py -> build/bdist.linux-armv7l/wheel/./kontra/rule_defs 2026-02-10T20:19:15,467 copying build/lib/kontra/logging.py -> build/bdist.linux-armv7l/wheel/./kontra 2026-02-10T20:19:15,470 creating build/bdist.linux-armv7l/wheel/kontra/cli 2026-02-10T20:19:15,471 copying build/lib/kontra/cli/renderers.py -> build/bdist.linux-armv7l/wheel/./kontra/cli 2026-02-10T20:19:15,473 copying build/lib/kontra/cli/constants.py -> build/bdist.linux-armv7l/wheel/./kontra/cli 2026-02-10T20:19:15,475 copying build/lib/kontra/cli/main.py -> build/bdist.linux-armv7l/wheel/./kontra/cli 2026-02-10T20:19:15,477 creating build/bdist.linux-armv7l/wheel/kontra/cli/commands 2026-02-10T20:19:15,478 copying build/lib/kontra/cli/commands/config.py -> build/bdist.linux-armv7l/wheel/./kontra/cli/commands 2026-02-10T20:19:15,481 copying build/lib/kontra/cli/commands/history.py -> build/bdist.linux-armv7l/wheel/./kontra/cli/commands 2026-02-10T20:19:15,483 copying build/lib/kontra/cli/commands/validate.py -> build/bdist.linux-armv7l/wheel/./kontra/cli/commands 2026-02-10T20:19:15,485 copying build/lib/kontra/cli/commands/profile.py -> build/bdist.linux-armv7l/wheel/./kontra/cli/commands 2026-02-10T20:19:15,488 copying build/lib/kontra/cli/commands/diff.py -> build/bdist.linux-armv7l/wheel/./kontra/cli/commands 2026-02-10T20:19:15,490 copying build/lib/kontra/cli/commands/__init__.py -> build/bdist.linux-armv7l/wheel/./kontra/cli/commands 2026-02-10T20:19:15,492 copying build/lib/kontra/cli/utils.py -> build/bdist.linux-armv7l/wheel/./kontra/cli 2026-02-10T20:19:15,494 copying build/lib/kontra/cli/__init__.py -> build/bdist.linux-armv7l/wheel/./kontra/cli 2026-02-10T20:19:15,496 creating build/bdist.linux-armv7l/wheel/kontra/probes 2026-02-10T20:19:15,497 copying build/lib/kontra/probes/utils.py -> build/bdist.linux-armv7l/wheel/./kontra/probes 2026-02-10T20:19:15,498 copying build/lib/kontra/probes/__init__.py -> build/bdist.linux-armv7l/wheel/./kontra/probes 2026-02-10T20:19:15,500 copying build/lib/kontra/probes/compare.py -> build/bdist.linux-armv7l/wheel/./kontra/probes 2026-02-10T20:19:15,503 copying build/lib/kontra/probes/relationship.py -> build/bdist.linux-armv7l/wheel/./kontra/probes 2026-02-10T20:19:15,505 creating build/bdist.linux-armv7l/wheel/kontra/api 2026-02-10T20:19:15,506 copying build/lib/kontra/api/decorators.py -> build/bdist.linux-armv7l/wheel/./kontra/api 2026-02-10T20:19:15,509 copying build/lib/kontra/api/results.py -> build/bdist.linux-armv7l/wheel/./kontra/api 2026-02-10T20:19:15,512 copying build/lib/kontra/api/rules.py -> build/bdist.linux-armv7l/wheel/./kontra/api 2026-02-10T20:19:15,514 copying build/lib/kontra/api/__init__.py -> build/bdist.linux-armv7l/wheel/./kontra/api 2026-02-10T20:19:15,516 copying build/lib/kontra/api/compare.py -> build/bdist.linux-armv7l/wheel/./kontra/api 2026-02-10T20:19:15,518 copying build/lib/kontra/__init__.py -> build/bdist.linux-armv7l/wheel/./kontra 2026-02-10T20:19:15,525 creating build/bdist.linux-armv7l/wheel/kontra/config 2026-02-10T20:19:15,527 copying build/lib/kontra/config/models.py -> build/bdist.linux-armv7l/wheel/./kontra/config 2026-02-10T20:19:15,529 copying build/lib/kontra/config/settings.py -> build/bdist.linux-armv7l/wheel/./kontra/config 2026-02-10T20:19:15,532 copying build/lib/kontra/config/__init__.py -> build/bdist.linux-armv7l/wheel/./kontra/config 2026-02-10T20:19:15,534 copying build/lib/kontra/config/loader.py -> build/bdist.linux-armv7l/wheel/./kontra/config 2026-02-10T20:19:15,536 running install_egg_info 2026-02-10T20:19:15,541 Copying src/kontra.egg-info to build/bdist.linux-armv7l/wheel/./kontra-0.6.1-py3.11.egg-info 2026-02-10T20:19:15,553 running install_scripts 2026-02-10T20:19:15,564 creating build/bdist.linux-armv7l/wheel/kontra-0.6.1.dist-info/WHEEL 2026-02-10T20:19:15,566 creating '/tmp/pip-wheel-bxq6lqeh/.tmp-h16be9ez/kontra-0.6.1-py3-none-any.whl' and adding 'build/bdist.linux-armv7l/wheel' to it 2026-02-10T20:19:15,576 adding 'kontra/__init__.py' 2026-02-10T20:19:15,578 adding 'kontra/errors.py' 2026-02-10T20:19:15,580 adding 'kontra/logging.py' 2026-02-10T20:19:15,581 adding 'kontra/version.py' 2026-02-10T20:19:15,583 adding 'kontra/api/__init__.py' 2026-02-10T20:19:15,586 adding 'kontra/api/compare.py' 2026-02-10T20:19:15,587 adding 'kontra/api/decorators.py' 2026-02-10T20:19:15,597 adding 'kontra/api/results.py' 2026-02-10T20:19:15,600 adding 'kontra/api/rules.py' 2026-02-10T20:19:15,602 adding 'kontra/cli/__init__.py' 2026-02-10T20:19:15,603 adding 'kontra/cli/constants.py' 2026-02-10T20:19:15,604 adding 'kontra/cli/main.py' 2026-02-10T20:19:15,606 adding 'kontra/cli/renderers.py' 2026-02-10T20:19:15,608 adding 'kontra/cli/utils.py' 2026-02-10T20:19:15,609 adding 'kontra/cli/commands/__init__.py' 2026-02-10T20:19:15,611 adding 'kontra/cli/commands/config.py' 2026-02-10T20:19:15,613 adding 'kontra/cli/commands/diff.py' 2026-02-10T20:19:15,615 adding 'kontra/cli/commands/history.py' 2026-02-10T20:19:15,617 adding 'kontra/cli/commands/profile.py' 2026-02-10T20:19:15,619 adding 'kontra/cli/commands/validate.py' 2026-02-10T20:19:15,621 adding 'kontra/config/__init__.py' 2026-02-10T20:19:15,623 adding 'kontra/config/loader.py' 2026-02-10T20:19:15,625 adding 'kontra/config/models.py' 2026-02-10T20:19:15,628 adding 'kontra/config/settings.py' 2026-02-10T20:19:15,630 adding 'kontra/connectors/__init__.py' 2026-02-10T20:19:15,632 adding 'kontra/connectors/db_utils.py' 2026-02-10T20:19:15,633 adding 'kontra/connectors/detection.py' 2026-02-10T20:19:15,636 adding 'kontra/connectors/handle.py' 2026-02-10T20:19:15,637 adding 'kontra/connectors/postgres.py' 2026-02-10T20:19:15,639 adding 'kontra/connectors/sqlserver.py' 2026-02-10T20:19:15,640 adding 'kontra/engine/__init__.py' 2026-02-10T20:19:15,648 adding 'kontra/engine/engine.py' 2026-02-10T20:19:15,650 adding 'kontra/engine/paths.py' 2026-02-10T20:19:15,651 adding 'kontra/engine/result.py' 2026-02-10T20:19:15,654 adding 'kontra/engine/sql_utils.py' 2026-02-10T20:19:15,657 adding 'kontra/engine/sql_validator.py' 2026-02-10T20:19:15,658 adding 'kontra/engine/stats.py' 2026-02-10T20:19:15,660 adding 'kontra/engine/types.py' 2026-02-10T20:19:15,662 adding 'kontra/engine/backends/duckdb_session.py' 2026-02-10T20:19:15,663 adding 'kontra/engine/backends/duckdb_utils.py' 2026-02-10T20:19:15,664 adding 'kontra/engine/backends/polars_backend.py' 2026-02-10T20:19:15,666 adding 'kontra/engine/executors/__init__.py' 2026-02-10T20:19:15,667 adding 'kontra/engine/executors/base.py' 2026-02-10T20:19:15,670 adding 'kontra/engine/executors/database_base.py' 2026-02-10T20:19:15,673 adding 'kontra/engine/executors/duckdb_sql.py' 2026-02-10T20:19:15,675 adding 'kontra/engine/executors/postgres_sql.py' 2026-02-10T20:19:15,676 adding 'kontra/engine/executors/registry.py' 2026-02-10T20:19:15,678 adding 'kontra/engine/executors/sqlserver_sql.py' 2026-02-10T20:19:15,679 adding 'kontra/engine/materializers/__init__.py' 2026-02-10T20:19:15,681 adding 'kontra/engine/materializers/base.py' 2026-02-10T20:19:15,682 adding 'kontra/engine/materializers/duckdb.py' 2026-02-10T20:19:15,683 adding 'kontra/engine/materializers/factory.py' 2026-02-10T20:19:15,685 adding 'kontra/engine/materializers/polars_connector.py' 2026-02-10T20:19:15,686 adding 'kontra/engine/materializers/postgres.py' 2026-02-10T20:19:15,688 adding 'kontra/engine/materializers/registry.py' 2026-02-10T20:19:15,689 adding 'kontra/engine/materializers/sqlserver.py' 2026-02-10T20:19:15,691 adding 'kontra/preplan/__init__.py' 2026-02-10T20:19:15,693 adding 'kontra/preplan/planner.py' 2026-02-10T20:19:15,695 adding 'kontra/preplan/postgres.py' 2026-02-10T20:19:15,697 adding 'kontra/preplan/sqlserver.py' 2026-02-10T20:19:15,698 adding 'kontra/preplan/types.py' 2026-02-10T20:19:15,700 adding 'kontra/probes/__init__.py' 2026-02-10T20:19:15,702 adding 'kontra/probes/compare.py' 2026-02-10T20:19:15,704 adding 'kontra/probes/relationship.py' 2026-02-10T20:19:15,706 adding 'kontra/probes/utils.py' 2026-02-10T20:19:15,707 adding 'kontra/reporters/__init__.py' 2026-02-10T20:19:15,709 adding 'kontra/reporters/json_reporter.py' 2026-02-10T20:19:15,710 adding 'kontra/reporters/rich_reporter.py' 2026-02-10T20:19:15,712 adding 'kontra/rule_defs/__init__.py' 2026-02-10T20:19:15,714 adding 'kontra/rule_defs/base.py' 2026-02-10T20:19:15,715 adding 'kontra/rule_defs/condition_parser.py' 2026-02-10T20:19:15,719 adding 'kontra/rule_defs/execution_plan.py' 2026-02-10T20:19:15,720 adding 'kontra/rule_defs/factory.py' 2026-02-10T20:19:15,723 adding 'kontra/rule_defs/predicates.py' 2026-02-10T20:19:15,936 adding 'kontra/rule_defs/registry.py' 2026-02-10T20:19:15,937 adding 'kontra/rule_defs/static_predicates.py' 2026-02-10T20:19:15,940 adding 'kontra/rule_defs/builtin/__init__.py' 2026-02-10T20:19:15,941 adding 'kontra/rule_defs/builtin/allowed_values.py' 2026-02-10T20:19:15,943 adding 'kontra/rule_defs/builtin/compare.py' 2026-02-10T20:19:15,944 adding 'kontra/rule_defs/builtin/conditional_not_null.py' 2026-02-10T20:19:15,946 adding 'kontra/rule_defs/builtin/conditional_range.py' 2026-02-10T20:19:15,948 adding 'kontra/rule_defs/builtin/contains.py' 2026-02-10T20:19:15,949 adding 'kontra/rule_defs/builtin/custom_sql_check.py' 2026-02-10T20:19:15,951 adding 'kontra/rule_defs/builtin/disallowed_values.py' 2026-02-10T20:19:15,953 adding 'kontra/rule_defs/builtin/dtype.py' 2026-02-10T20:19:15,954 adding 'kontra/rule_defs/builtin/ends_with.py' 2026-02-10T20:19:15,956 adding 'kontra/rule_defs/builtin/freshness.py' 2026-02-10T20:19:15,957 adding 'kontra/rule_defs/builtin/length.py' 2026-02-10T20:19:15,959 adding 'kontra/rule_defs/builtin/max_rows.py' 2026-02-10T20:19:15,960 adding 'kontra/rule_defs/builtin/min_rows.py' 2026-02-10T20:19:15,961 adding 'kontra/rule_defs/builtin/not_null.py' 2026-02-10T20:19:15,963 adding 'kontra/rule_defs/builtin/range.py' 2026-02-10T20:19:15,965 adding 'kontra/rule_defs/builtin/regex.py' 2026-02-10T20:19:15,966 adding 'kontra/rule_defs/builtin/starts_with.py' 2026-02-10T20:19:15,968 adding 'kontra/rule_defs/builtin/unique.py' 2026-02-10T20:19:15,971 adding 'kontra/scout/__init__.py' 2026-02-10T20:19:15,973 adding 'kontra/scout/dtype_mapping.py' 2026-02-10T20:19:15,975 adding 'kontra/scout/patterns.py' 2026-02-10T20:19:15,980 adding 'kontra/scout/profiler.py' 2026-02-10T20:19:15,982 adding 'kontra/scout/store.py' 2026-02-10T20:19:15,984 adding 'kontra/scout/suggest.py' 2026-02-10T20:19:15,988 adding 'kontra/scout/types.py' 2026-02-10T20:19:15,990 adding 'kontra/scout/backends/__init__.py' 2026-02-10T20:19:15,992 adding 'kontra/scout/backends/base.py' 2026-02-10T20:19:15,995 adding 'kontra/scout/backends/duckdb_backend.py' 2026-02-10T20:19:15,998 adding 'kontra/scout/backends/postgres_backend.py' 2026-02-10T20:19:16,002 adding 'kontra/scout/backends/sqlserver_backend.py' 2026-02-10T20:19:16,004 adding 'kontra/scout/reporters/__init__.py' 2026-02-10T20:19:16,006 adding 'kontra/scout/reporters/json_reporter.py' 2026-02-10T20:19:16,008 adding 'kontra/scout/reporters/markdown_reporter.py' 2026-02-10T20:19:16,010 adding 'kontra/scout/reporters/rich_reporter.py' 2026-02-10T20:19:16,012 adding 'kontra/state/__init__.py' 2026-02-10T20:19:16,014 adding 'kontra/state/fingerprint.py' 2026-02-10T20:19:16,020 adding 'kontra/state/types.py' 2026-02-10T20:19:16,023 adding 'kontra/state/backends/__init__.py' 2026-02-10T20:19:16,025 adding 'kontra/state/backends/base.py' 2026-02-10T20:19:16,028 adding 'kontra/state/backends/local.py' 2026-02-10T20:19:16,033 adding 'kontra/state/backends/postgres.py' 2026-02-10T20:19:16,037 adding 'kontra/state/backends/s3.py' 2026-02-10T20:19:16,042 adding 'kontra/state/backends/sqlserver.py' 2026-02-10T20:19:16,047 adding 'kontra-0.6.1.dist-info/licenses/LICENSE' 2026-02-10T20:19:16,049 adding 'kontra-0.6.1.dist-info/METADATA' 2026-02-10T20:19:16,050 adding 'kontra-0.6.1.dist-info/WHEEL' 2026-02-10T20:19:16,086 adding 'kontra-0.6.1.dist-info/entry_points.txt' 2026-02-10T20:19:16,087 adding 'kontra-0.6.1.dist-info/top_level.txt' 2026-02-10T20:19:16,089 adding 'kontra-0.6.1.dist-info/RECORD' 2026-02-10T20:19:16,096 removing build/bdist.linux-armv7l/wheel 2026-02-10T20:19:16,232 Building wheel for kontra (pyproject.toml): finished with status 'done' 2026-02-10T20:19:16,240 Created wheel for kontra: filename=kontra-0.6.1-py3-none-any.whl size=322424 sha256=c8cf8c5371e154760be0bc01ce18ffcde559db9fbf37c335f56db104fa16aa66 2026-02-10T20:19:16,242 Stored in directory: /tmp/pip-ephem-wheel-cache-kn8f9jzh/wheels/3e/0d/08/e8f70540db132e06f00a29fad0c8d0164f9954209b6da54f66 2026-02-10T20:19:16,257 Successfully built kontra 2026-02-10T20:19:16,270 Removed build tracker: '/tmp/pip-build-tracker-o6nay8m_'