2026-02-09T20:23:54,517 Created temporary directory: /tmp/pip-ephem-wheel-cache-r22eayq0 2026-02-09T20:23:54,519 Created temporary directory: /tmp/pip-build-tracker-bjwks5vb 2026-02-09T20:23:54,519 Initialized build tracking at /tmp/pip-build-tracker-bjwks5vb 2026-02-09T20:23:54,520 Created build tracker: /tmp/pip-build-tracker-bjwks5vb 2026-02-09T20:23:54,520 Entered build tracker: /tmp/pip-build-tracker-bjwks5vb 2026-02-09T20:23:54,521 Created temporary directory: /tmp/pip-wheel-fiebl930 2026-02-09T20:23:54,524 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-09T20:23:54,526 Created temporary directory: /tmp/pip-ephem-wheel-cache-047ercxm 2026-02-09T20:23:54,550 Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple 2026-02-09T20:23:54,554 2 location(s) to search for versions of kontra: 2026-02-09T20:23:54,554 * https://pypi.org/simple/kontra/ 2026-02-09T20:23:54,554 * https://www.piwheels.org/simple/kontra/ 2026-02-09T20:23:54,555 Fetching project page and analyzing links: https://pypi.org/simple/kontra/ 2026-02-09T20:23:54,556 Getting page https://pypi.org/simple/kontra/ 2026-02-09T20:23:54,557 Found index url https://pypi.org/simple 2026-02-09T20:23:54,858 Fetched page https://pypi.org/simple/kontra/ as application/vnd.pypi.simple.v1+json 2026-02-09T20:23:54,863 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-09T20:23:54,864 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-09T20:23:54,865 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-09T20:23:54,866 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-09T20:23:54,867 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-09T20:23:54,868 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-09T20:23:54,869 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-09T20:23:54,870 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-09T20:23:54,870 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-09T20:23:54,871 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-09T20:23:54,872 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-09T20:23:54,873 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-09T20:23:54,874 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-09T20:23:54,875 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-09T20:23:54,875 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-09T20:23:54,876 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-09T20:23:54,877 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-09T20:23:54,878 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-09T20:23:54,878 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-09T20:23:54,879 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-09T20:23:54,880 Fetching project page and analyzing links: https://www.piwheels.org/simple/kontra/ 2026-02-09T20:23:54,881 Getting page https://www.piwheels.org/simple/kontra/ 2026-02-09T20:23:54,883 Found index url https://www.piwheels.org/simple 2026-02-09T20:23:55,040 Fetched page https://www.piwheels.org/simple/kontra/ as text/html 2026-02-09T20:23:55,042 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-09T20:23:55,043 Skipping link: not a file: https://www.piwheels.org/simple/kontra/ 2026-02-09T20:23:55,043 Skipping link: not a file: https://pypi.org/simple/kontra/ 2026-02-09T20:23:55,063 Given no hashes to check 1 links for project 'kontra': discarding no candidates 2026-02-09T20:23:55,081 Collecting kontra==0.5.0 2026-02-09T20:23:55,084 Created temporary directory: /tmp/pip-unpack-5j1snmzs 2026-02-09T20:23:55,219 Downloading kontra-0.5.0.tar.gz (312 kB) 2026-02-09T20:23:55,664 Added kontra==0.5.0 from https://files.pythonhosted.org/packages/bc/e1/a397c38ccac95532804a8804ce069796e04d28f8492998b9d641ec69c9c3/kontra-0.5.0.tar.gz to build tracker '/tmp/pip-build-tracker-bjwks5vb' 2026-02-09T20:23:55,670 Created temporary directory: /tmp/pip-build-env-9pdzdaup 2026-02-09T20:23:55,674 Installing build dependencies: started 2026-02-09T20:23:55,676 Running command pip subprocess to install build dependencies 2026-02-09T20:23:56,815 Using pip 23.0.1 from /usr/lib/python3/dist-packages/pip (python 3.11) 2026-02-09T20:23:57,372 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-09T20:23:57,395 Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple 2026-02-09T20:23:59,142 Collecting setuptools>=69 2026-02-09T20:23:59,162 Using cached setuptools-82.0.0-py3-none-any.whl (1.0 MB) 2026-02-09T20:23:59,431 Collecting wheel 2026-02-09T20:23:59,446 Using cached https://www.piwheels.org/simple/wheel/wheel-0.46.3-py3-none-any.whl (30 kB) 2026-02-09T20:23:59,630 Collecting packaging>=24.0 2026-02-09T20:23:59,647 Using cached https://www.piwheels.org/simple/packaging/packaging-26.0-py3-none-any.whl (74 kB) 2026-02-09T20:24:02,641 Installing collected packages: setuptools, packaging, wheel 2026-02-09T20:24:05,962 Creating /tmp/pip-build-env-9pdzdaup/overlay/local/bin 2026-02-09T20:24:05,964 changing mode of /tmp/pip-build-env-9pdzdaup/overlay/local/bin/wheel to 755 2026-02-09T20:24:05,985 Successfully installed packaging-26.0 setuptools-82.0.0 wheel-0.46.3 2026-02-09T20:24:06,262 Installing build dependencies: finished with status 'done' 2026-02-09T20:24:06,269 Getting requirements to build wheel: started 2026-02-09T20:24:06,270 Running command Getting requirements to build wheel 2026-02-09T20:24:06,875 /tmp/pip-build-env-9pdzdaup/overlay/local/lib/python3.11/dist-packages/setuptools/config/_apply_pyprojecttoml.py:82: SetuptoolsDeprecationWarning: `project.license` as a TOML table is deprecated 2026-02-09T20:24:06,875 !! 2026-02-09T20:24:06,877 ******************************************************************************** 2026-02-09T20:24:06,877 Please use a simple string containing a SPDX expression for `project.license`. You can also use `project.license-files`. (Both options available on setuptools>=77.0.0). 2026-02-09T20:24:06,878 By 2027-Feb-18, you need to update your project and remove deprecated calls 2026-02-09T20:24:06,879 or your builds will no longer be supported. 2026-02-09T20:24:06,880 See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. 2026-02-09T20:24:06,881 ******************************************************************************** 2026-02-09T20:24:06,882 !! 2026-02-09T20:24:06,883 corresp(dist, value, root_dir) 2026-02-09T20:24:06,955 /tmp/pip-build-env-9pdzdaup/overlay/local/lib/python3.11/dist-packages/setuptools/config/_apply_pyprojecttoml.py:61: SetuptoolsDeprecationWarning: License classifiers are deprecated. 2026-02-09T20:24:06,956 !! 2026-02-09T20:24:06,957 ******************************************************************************** 2026-02-09T20:24:06,957 Please consider removing the following classifiers in favor of a SPDX license expression: 2026-02-09T20:24:06,959 License :: OSI Approved :: Apache Software License 2026-02-09T20:24:06,960 See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. 2026-02-09T20:24:06,960 ******************************************************************************** 2026-02-09T20:24:06,962 !! 2026-02-09T20:24:06,962 dist._finalize_license_expression() 2026-02-09T20:24:06,963 /tmp/pip-build-env-9pdzdaup/overlay/local/lib/python3.11/dist-packages/setuptools/dist.py:765: SetuptoolsDeprecationWarning: License classifiers are deprecated. 2026-02-09T20:24:06,964 !! 2026-02-09T20:24:06,965 ******************************************************************************** 2026-02-09T20:24:06,965 Please consider removing the following classifiers in favor of a SPDX license expression: 2026-02-09T20:24:06,966 License :: OSI Approved :: Apache Software License 2026-02-09T20:24:06,967 See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. 2026-02-09T20:24:06,968 ******************************************************************************** 2026-02-09T20:24:06,969 !! 2026-02-09T20:24:06,969 self._finalize_license_expression() 2026-02-09T20:24:06,969 running egg_info 2026-02-09T20:24:06,972 writing src/kontra.egg-info/PKG-INFO 2026-02-09T20:24:06,978 writing dependency_links to src/kontra.egg-info/dependency_links.txt 2026-02-09T20:24:06,980 writing entry points to src/kontra.egg-info/entry_points.txt 2026-02-09T20:24:06,983 writing requirements to src/kontra.egg-info/requires.txt 2026-02-09T20:24:06,984 writing top-level names to src/kontra.egg-info/top_level.txt 2026-02-09T20:24:07,027 reading manifest file 'src/kontra.egg-info/SOURCES.txt' 2026-02-09T20:24:07,036 adding license file 'LICENSE' 2026-02-09T20:24:07,045 writing manifest file 'src/kontra.egg-info/SOURCES.txt' 2026-02-09T20:24:07,142 Getting requirements to build wheel: finished with status 'done' 2026-02-09T20:24:07,145 Created temporary directory: /tmp/pip-modern-metadata-bmlopx7g 2026-02-09T20:24:07,147 Preparing metadata (pyproject.toml): started 2026-02-09T20:24:07,149 Running command Preparing metadata (pyproject.toml) 2026-02-09T20:24:07,714 /tmp/pip-build-env-9pdzdaup/overlay/local/lib/python3.11/dist-packages/setuptools/config/_apply_pyprojecttoml.py:82: SetuptoolsDeprecationWarning: `project.license` as a TOML table is deprecated 2026-02-09T20:24:07,714 !! 2026-02-09T20:24:07,715 ******************************************************************************** 2026-02-09T20:24:07,716 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-09T20:24:07,717 By 2027-Feb-18, you need to update your project and remove deprecated calls 2026-02-09T20:24:07,718 or your builds will no longer be supported. 2026-02-09T20:24:07,719 See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. 2026-02-09T20:24:07,719 ******************************************************************************** 2026-02-09T20:24:07,720 !! 2026-02-09T20:24:07,721 corresp(dist, value, root_dir) 2026-02-09T20:24:07,792 /tmp/pip-build-env-9pdzdaup/overlay/local/lib/python3.11/dist-packages/setuptools/config/_apply_pyprojecttoml.py:61: SetuptoolsDeprecationWarning: License classifiers are deprecated. 2026-02-09T20:24:07,792 !! 2026-02-09T20:24:07,793 ******************************************************************************** 2026-02-09T20:24:07,794 Please consider removing the following classifiers in favor of a SPDX license expression: 2026-02-09T20:24:07,795 License :: OSI Approved :: Apache Software License 2026-02-09T20:24:07,796 See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. 2026-02-09T20:24:07,797 ******************************************************************************** 2026-02-09T20:24:07,798 !! 2026-02-09T20:24:07,799 dist._finalize_license_expression() 2026-02-09T20:24:07,799 /tmp/pip-build-env-9pdzdaup/overlay/local/lib/python3.11/dist-packages/setuptools/dist.py:765: SetuptoolsDeprecationWarning: License classifiers are deprecated. 2026-02-09T20:24:07,800 !! 2026-02-09T20:24:07,801 ******************************************************************************** 2026-02-09T20:24:07,802 Please consider removing the following classifiers in favor of a SPDX license expression: 2026-02-09T20:24:07,803 License :: OSI Approved :: Apache Software License 2026-02-09T20:24:07,804 See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. 2026-02-09T20:24:07,805 ******************************************************************************** 2026-02-09T20:24:07,806 !! 2026-02-09T20:24:07,806 self._finalize_license_expression() 2026-02-09T20:24:07,806 running dist_info 2026-02-09T20:24:07,815 creating /tmp/pip-modern-metadata-bmlopx7g/kontra.egg-info 2026-02-09T20:24:07,816 writing /tmp/pip-modern-metadata-bmlopx7g/kontra.egg-info/PKG-INFO 2026-02-09T20:24:07,822 writing dependency_links to /tmp/pip-modern-metadata-bmlopx7g/kontra.egg-info/dependency_links.txt 2026-02-09T20:24:07,824 writing entry points to /tmp/pip-modern-metadata-bmlopx7g/kontra.egg-info/entry_points.txt 2026-02-09T20:24:07,827 writing requirements to /tmp/pip-modern-metadata-bmlopx7g/kontra.egg-info/requires.txt 2026-02-09T20:24:07,828 writing top-level names to /tmp/pip-modern-metadata-bmlopx7g/kontra.egg-info/top_level.txt 2026-02-09T20:24:07,830 writing manifest file '/tmp/pip-modern-metadata-bmlopx7g/kontra.egg-info/SOURCES.txt' 2026-02-09T20:24:07,867 reading manifest file '/tmp/pip-modern-metadata-bmlopx7g/kontra.egg-info/SOURCES.txt' 2026-02-09T20:24:07,869 adding license file 'LICENSE' 2026-02-09T20:24:07,875 writing manifest file '/tmp/pip-modern-metadata-bmlopx7g/kontra.egg-info/SOURCES.txt' 2026-02-09T20:24:07,878 creating '/tmp/pip-modern-metadata-bmlopx7g/kontra-0.5.0.dist-info' 2026-02-09T20:24:08,001 Preparing metadata (pyproject.toml): finished with status 'done' 2026-02-09T20:24:08,006 Source in /tmp/pip-wheel-fiebl930/kontra_a499ec7771b84466bd2894d64070a88c has version 0.5.0, which satisfies requirement kontra==0.5.0 from https://files.pythonhosted.org/packages/bc/e1/a397c38ccac95532804a8804ce069796e04d28f8492998b9d641ec69c9c3/kontra-0.5.0.tar.gz 2026-02-09T20:24:08,007 Removed kontra==0.5.0 from https://files.pythonhosted.org/packages/bc/e1/a397c38ccac95532804a8804ce069796e04d28f8492998b9d641ec69c9c3/kontra-0.5.0.tar.gz from build tracker '/tmp/pip-build-tracker-bjwks5vb' 2026-02-09T20:24:08,013 Created temporary directory: /tmp/pip-unpack-_667682c 2026-02-09T20:24:08,013 Building wheels for collected packages: kontra 2026-02-09T20:24:08,018 Created temporary directory: /tmp/pip-wheel-zi6kf8gk 2026-02-09T20:24:08,018 Destination directory: /tmp/pip-wheel-zi6kf8gk 2026-02-09T20:24:08,020 Building wheel for kontra (pyproject.toml): started 2026-02-09T20:24:08,022 Running command Building wheel for kontra (pyproject.toml) 2026-02-09T20:24:08,578 /tmp/pip-build-env-9pdzdaup/overlay/local/lib/python3.11/dist-packages/setuptools/config/_apply_pyprojecttoml.py:82: SetuptoolsDeprecationWarning: `project.license` as a TOML table is deprecated 2026-02-09T20:24:08,578 !! 2026-02-09T20:24:08,579 ******************************************************************************** 2026-02-09T20:24:08,580 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-09T20:24:08,581 By 2027-Feb-18, you need to update your project and remove deprecated calls 2026-02-09T20:24:08,582 or your builds will no longer be supported. 2026-02-09T20:24:08,583 See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. 2026-02-09T20:24:08,583 ******************************************************************************** 2026-02-09T20:24:08,585 !! 2026-02-09T20:24:08,585 corresp(dist, value, root_dir) 2026-02-09T20:24:08,649 /tmp/pip-build-env-9pdzdaup/overlay/local/lib/python3.11/dist-packages/setuptools/config/_apply_pyprojecttoml.py:61: SetuptoolsDeprecationWarning: License classifiers are deprecated. 2026-02-09T20:24:08,650 !! 2026-02-09T20:24:08,651 ******************************************************************************** 2026-02-09T20:24:08,652 Please consider removing the following classifiers in favor of a SPDX license expression: 2026-02-09T20:24:08,653 License :: OSI Approved :: Apache Software License 2026-02-09T20:24:08,654 See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. 2026-02-09T20:24:08,654 ******************************************************************************** 2026-02-09T20:24:08,655 !! 2026-02-09T20:24:08,656 dist._finalize_license_expression() 2026-02-09T20:24:08,656 /tmp/pip-build-env-9pdzdaup/overlay/local/lib/python3.11/dist-packages/setuptools/dist.py:765: SetuptoolsDeprecationWarning: License classifiers are deprecated. 2026-02-09T20:24:08,657 !! 2026-02-09T20:24:08,658 ******************************************************************************** 2026-02-09T20:24:08,658 Please consider removing the following classifiers in favor of a SPDX license expression: 2026-02-09T20:24:08,659 License :: OSI Approved :: Apache Software License 2026-02-09T20:24:08,660 See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. 2026-02-09T20:24:08,660 ******************************************************************************** 2026-02-09T20:24:08,661 !! 2026-02-09T20:24:08,661 self._finalize_license_expression() 2026-02-09T20:24:08,662 running bdist_wheel 2026-02-09T20:24:08,675 running build 2026-02-09T20:24:08,676 running build_py 2026-02-09T20:24:08,682 creating build/lib/kontra 2026-02-09T20:24:08,684 copying src/kontra/logging.py -> build/lib/kontra 2026-02-09T20:24:08,686 copying src/kontra/__init__.py -> build/lib/kontra 2026-02-09T20:24:08,689 copying src/kontra/version.py -> build/lib/kontra 2026-02-09T20:24:08,691 copying src/kontra/errors.py -> build/lib/kontra 2026-02-09T20:24:08,694 creating build/lib/kontra/preplan 2026-02-09T20:24:08,695 copying src/kontra/preplan/postgres.py -> build/lib/kontra/preplan 2026-02-09T20:24:08,698 copying src/kontra/preplan/types.py -> build/lib/kontra/preplan 2026-02-09T20:24:08,700 copying src/kontra/preplan/sqlserver.py -> build/lib/kontra/preplan 2026-02-09T20:24:08,702 copying src/kontra/preplan/__init__.py -> build/lib/kontra/preplan 2026-02-09T20:24:08,704 copying src/kontra/preplan/planner.py -> build/lib/kontra/preplan 2026-02-09T20:24:08,707 creating build/lib/kontra/reporters 2026-02-09T20:24:08,708 copying src/kontra/reporters/__init__.py -> build/lib/kontra/reporters 2026-02-09T20:24:08,710 copying src/kontra/reporters/rich_reporter.py -> build/lib/kontra/reporters 2026-02-09T20:24:08,711 copying src/kontra/reporters/json_reporter.py -> build/lib/kontra/reporters 2026-02-09T20:24:08,714 creating build/lib/kontra/engine 2026-02-09T20:24:08,715 copying src/kontra/engine/stats.py -> build/lib/kontra/engine 2026-02-09T20:24:08,718 copying src/kontra/engine/sql_validator.py -> build/lib/kontra/engine 2026-02-09T20:24:08,720 copying src/kontra/engine/engine.py -> build/lib/kontra/engine 2026-02-09T20:24:08,724 copying src/kontra/engine/types.py -> build/lib/kontra/engine 2026-02-09T20:24:08,726 copying src/kontra/engine/__init__.py -> build/lib/kontra/engine 2026-02-09T20:24:08,727 copying src/kontra/engine/sql_utils.py -> build/lib/kontra/engine 2026-02-09T20:24:08,730 copying src/kontra/engine/result.py -> build/lib/kontra/engine 2026-02-09T20:24:08,732 creating build/lib/kontra/connectors 2026-02-09T20:24:08,733 copying src/kontra/connectors/detection.py -> build/lib/kontra/connectors 2026-02-09T20:24:08,735 copying src/kontra/connectors/postgres.py -> build/lib/kontra/connectors 2026-02-09T20:24:08,737 copying src/kontra/connectors/sqlserver.py -> build/lib/kontra/connectors 2026-02-09T20:24:08,739 copying src/kontra/connectors/__init__.py -> build/lib/kontra/connectors 2026-02-09T20:24:08,741 copying src/kontra/connectors/handle.py -> build/lib/kontra/connectors 2026-02-09T20:24:08,743 copying src/kontra/connectors/db_utils.py -> build/lib/kontra/connectors 2026-02-09T20:24:08,746 creating build/lib/kontra/probes 2026-02-09T20:24:08,747 copying src/kontra/probes/compare.py -> build/lib/kontra/probes 2026-02-09T20:24:08,750 copying src/kontra/probes/__init__.py -> build/lib/kontra/probes 2026-02-09T20:24:08,751 copying src/kontra/probes/relationship.py -> build/lib/kontra/probes 2026-02-09T20:24:08,754 creating build/lib/kontra/cli 2026-02-09T20:24:08,755 copying src/kontra/cli/utils.py -> build/lib/kontra/cli 2026-02-09T20:24:08,757 copying src/kontra/cli/__init__.py -> build/lib/kontra/cli 2026-02-09T20:24:08,759 copying src/kontra/cli/constants.py -> build/lib/kontra/cli 2026-02-09T20:24:08,760 copying src/kontra/cli/renderers.py -> build/lib/kontra/cli 2026-02-09T20:24:08,763 copying src/kontra/cli/main.py -> build/lib/kontra/cli 2026-02-09T20:24:08,765 creating build/lib/kontra/state 2026-02-09T20:24:08,766 copying src/kontra/state/types.py -> build/lib/kontra/state 2026-02-09T20:24:08,769 copying src/kontra/state/__init__.py -> build/lib/kontra/state 2026-02-09T20:24:08,771 copying src/kontra/state/fingerprint.py -> build/lib/kontra/state 2026-02-09T20:24:08,774 creating build/lib/kontra/api 2026-02-09T20:24:08,775 copying src/kontra/api/results.py -> build/lib/kontra/api 2026-02-09T20:24:08,778 copying src/kontra/api/compare.py -> build/lib/kontra/api 2026-02-09T20:24:08,781 copying src/kontra/api/__init__.py -> build/lib/kontra/api 2026-02-09T20:24:08,782 copying src/kontra/api/rules.py -> build/lib/kontra/api 2026-02-09T20:24:08,785 copying src/kontra/api/decorators.py -> build/lib/kontra/api 2026-02-09T20:24:08,788 creating build/lib/kontra/scout 2026-02-09T20:24:08,789 copying src/kontra/scout/types.py -> build/lib/kontra/scout 2026-02-09T20:24:08,791 copying src/kontra/scout/patterns.py -> build/lib/kontra/scout 2026-02-09T20:24:08,793 copying src/kontra/scout/store.py -> build/lib/kontra/scout 2026-02-09T20:24:08,796 copying src/kontra/scout/__init__.py -> build/lib/kontra/scout 2026-02-09T20:24:08,798 copying src/kontra/scout/suggest.py -> build/lib/kontra/scout 2026-02-09T20:24:08,800 copying src/kontra/scout/profiler.py -> build/lib/kontra/scout 2026-02-09T20:24:08,803 copying src/kontra/scout/dtype_mapping.py -> build/lib/kontra/scout 2026-02-09T20:24:08,806 creating build/lib/kontra/rules 2026-02-09T20:24:08,807 copying src/kontra/rules/condition_parser.py -> build/lib/kontra/rules 2026-02-09T20:24:08,809 copying src/kontra/rules/static_predicates.py -> build/lib/kontra/rules 2026-02-09T20:24:08,811 copying src/kontra/rules/execution_plan.py -> build/lib/kontra/rules 2026-02-09T20:24:08,814 copying src/kontra/rules/registry.py -> build/lib/kontra/rules 2026-02-09T20:24:08,816 copying src/kontra/rules/base.py -> build/lib/kontra/rules 2026-02-09T20:24:08,818 copying src/kontra/rules/__init__.py -> build/lib/kontra/rules 2026-02-09T20:24:08,820 copying src/kontra/rules/factory.py -> build/lib/kontra/rules 2026-02-09T20:24:08,822 copying src/kontra/rules/predicates.py -> build/lib/kontra/rules 2026-02-09T20:24:08,824 creating build/lib/kontra/config 2026-02-09T20:24:08,825 copying src/kontra/config/models.py -> build/lib/kontra/config 2026-02-09T20:24:08,827 copying src/kontra/config/loader.py -> build/lib/kontra/config 2026-02-09T20:24:08,830 copying src/kontra/config/__init__.py -> build/lib/kontra/config 2026-02-09T20:24:08,831 copying src/kontra/config/settings.py -> build/lib/kontra/config 2026-02-09T20:24:08,834 creating build/lib/kontra/engine/backends 2026-02-09T20:24:08,835 copying src/kontra/engine/backends/duckdb_session.py -> build/lib/kontra/engine/backends 2026-02-09T20:24:08,838 copying src/kontra/engine/backends/duckdb_utils.py -> build/lib/kontra/engine/backends 2026-02-09T20:24:08,840 copying src/kontra/engine/backends/polars_backend.py -> build/lib/kontra/engine/backends 2026-02-09T20:24:08,842 creating build/lib/kontra/engine/executors 2026-02-09T20:24:08,843 copying src/kontra/engine/executors/sqlserver_sql.py -> build/lib/kontra/engine/executors 2026-02-09T20:24:08,846 copying src/kontra/engine/executors/postgres_sql.py -> build/lib/kontra/engine/executors 2026-02-09T20:24:08,848 copying src/kontra/engine/executors/registry.py -> build/lib/kontra/engine/executors 2026-02-09T20:24:08,850 copying src/kontra/engine/executors/base.py -> build/lib/kontra/engine/executors 2026-02-09T20:24:08,851 copying src/kontra/engine/executors/database_base.py -> build/lib/kontra/engine/executors 2026-02-09T20:24:08,854 copying src/kontra/engine/executors/duckdb_sql.py -> build/lib/kontra/engine/executors 2026-02-09T20:24:08,856 copying src/kontra/engine/executors/__init__.py -> build/lib/kontra/engine/executors 2026-02-09T20:24:08,859 creating build/lib/kontra/engine/materializers 2026-02-09T20:24:08,860 copying src/kontra/engine/materializers/duckdb.py -> build/lib/kontra/engine/materializers 2026-02-09T20:24:08,862 copying src/kontra/engine/materializers/postgres.py -> build/lib/kontra/engine/materializers 2026-02-09T20:24:08,864 copying src/kontra/engine/materializers/registry.py -> build/lib/kontra/engine/materializers 2026-02-09T20:24:08,866 copying src/kontra/engine/materializers/base.py -> build/lib/kontra/engine/materializers 2026-02-09T20:24:08,868 copying src/kontra/engine/materializers/sqlserver.py -> build/lib/kontra/engine/materializers 2026-02-09T20:24:08,870 copying src/kontra/engine/materializers/polars_connector.py -> build/lib/kontra/engine/materializers 2026-02-09T20:24:08,872 copying src/kontra/engine/materializers/__init__.py -> build/lib/kontra/engine/materializers 2026-02-09T20:24:08,874 copying src/kontra/engine/materializers/factory.py -> build/lib/kontra/engine/materializers 2026-02-09T20:24:08,876 creating build/lib/kontra/cli/commands 2026-02-09T20:24:08,877 copying src/kontra/cli/commands/diff.py -> build/lib/kontra/cli/commands 2026-02-09T20:24:08,880 copying src/kontra/cli/commands/history.py -> build/lib/kontra/cli/commands 2026-02-09T20:24:08,882 copying src/kontra/cli/commands/validate.py -> build/lib/kontra/cli/commands 2026-02-09T20:24:08,885 copying src/kontra/cli/commands/config.py -> build/lib/kontra/cli/commands 2026-02-09T20:24:08,887 copying src/kontra/cli/commands/__init__.py -> build/lib/kontra/cli/commands 2026-02-09T20:24:08,889 copying src/kontra/cli/commands/profile.py -> build/lib/kontra/cli/commands 2026-02-09T20:24:08,892 creating build/lib/kontra/state/backends 2026-02-09T20:24:08,893 copying src/kontra/state/backends/local.py -> build/lib/kontra/state/backends 2026-02-09T20:24:08,896 copying src/kontra/state/backends/postgres.py -> build/lib/kontra/state/backends 2026-02-09T20:24:08,899 copying src/kontra/state/backends/base.py -> build/lib/kontra/state/backends 2026-02-09T20:24:08,901 copying src/kontra/state/backends/s3.py -> build/lib/kontra/state/backends 2026-02-09T20:24:08,904 copying src/kontra/state/backends/sqlserver.py -> build/lib/kontra/state/backends 2026-02-09T20:24:08,906 copying src/kontra/state/backends/__init__.py -> build/lib/kontra/state/backends 2026-02-09T20:24:08,909 creating build/lib/kontra/scout/reporters 2026-02-09T20:24:08,910 copying src/kontra/scout/reporters/__init__.py -> build/lib/kontra/scout/reporters 2026-02-09T20:24:08,912 copying src/kontra/scout/reporters/rich_reporter.py -> build/lib/kontra/scout/reporters 2026-02-09T20:24:08,914 copying src/kontra/scout/reporters/markdown_reporter.py -> build/lib/kontra/scout/reporters 2026-02-09T20:24:08,917 copying src/kontra/scout/reporters/json_reporter.py -> build/lib/kontra/scout/reporters 2026-02-09T20:24:08,919 creating build/lib/kontra/scout/backends 2026-02-09T20:24:08,921 copying src/kontra/scout/backends/postgres_backend.py -> build/lib/kontra/scout/backends 2026-02-09T20:24:08,923 copying src/kontra/scout/backends/base.py -> build/lib/kontra/scout/backends 2026-02-09T20:24:08,926 copying src/kontra/scout/backends/__init__.py -> build/lib/kontra/scout/backends 2026-02-09T20:24:08,928 copying src/kontra/scout/backends/duckdb_backend.py -> build/lib/kontra/scout/backends 2026-02-09T20:24:08,930 copying src/kontra/scout/backends/sqlserver_backend.py -> build/lib/kontra/scout/backends 2026-02-09T20:24:08,934 creating build/lib/kontra/rules/builtin 2026-02-09T20:24:08,935 copying src/kontra/rules/builtin/conditional_not_null.py -> build/lib/kontra/rules/builtin 2026-02-09T20:24:08,937 copying src/kontra/rules/builtin/regex.py -> build/lib/kontra/rules/builtin 2026-02-09T20:24:08,939 copying src/kontra/rules/builtin/unique.py -> build/lib/kontra/rules/builtin 2026-02-09T20:24:08,941 copying src/kontra/rules/builtin/dtype.py -> build/lib/kontra/rules/builtin 2026-02-09T20:24:08,943 copying src/kontra/rules/builtin/conditional_range.py -> build/lib/kontra/rules/builtin 2026-02-09T20:24:08,945 copying src/kontra/rules/builtin/freshness.py -> build/lib/kontra/rules/builtin 2026-02-09T20:24:08,948 copying src/kontra/rules/builtin/max_rows.py -> build/lib/kontra/rules/builtin 2026-02-09T20:24:08,950 copying src/kontra/rules/builtin/allowed_values.py -> build/lib/kontra/rules/builtin 2026-02-09T20:24:08,952 copying src/kontra/rules/builtin/compare.py -> build/lib/kontra/rules/builtin 2026-02-09T20:24:08,954 copying src/kontra/rules/builtin/__init__.py -> build/lib/kontra/rules/builtin 2026-02-09T20:24:08,956 copying src/kontra/rules/builtin/custom_sql_check.py -> build/lib/kontra/rules/builtin 2026-02-09T20:24:08,958 copying src/kontra/rules/builtin/range.py -> build/lib/kontra/rules/builtin 2026-02-09T20:24:08,960 copying src/kontra/rules/builtin/not_null.py -> build/lib/kontra/rules/builtin 2026-02-09T20:24:08,962 copying src/kontra/rules/builtin/min_rows.py -> build/lib/kontra/rules/builtin 2026-02-09T20:24:08,964 running egg_info 2026-02-09T20:24:08,974 writing src/kontra.egg-info/PKG-INFO 2026-02-09T20:24:08,980 writing dependency_links to src/kontra.egg-info/dependency_links.txt 2026-02-09T20:24:08,982 writing entry points to src/kontra.egg-info/entry_points.txt 2026-02-09T20:24:08,985 writing requirements to src/kontra.egg-info/requires.txt 2026-02-09T20:24:08,986 writing top-level names to src/kontra.egg-info/top_level.txt 2026-02-09T20:24:09,014 reading manifest file 'src/kontra.egg-info/SOURCES.txt' 2026-02-09T20:24:09,023 adding license file 'LICENSE' 2026-02-09T20:24:09,032 writing manifest file 'src/kontra.egg-info/SOURCES.txt' 2026-02-09T20:24:09,062 installing to build/bdist.linux-armv7l/wheel 2026-02-09T20:24:09,062 running install 2026-02-09T20:24:09,085 running install_lib 2026-02-09T20:24:09,091 creating build/bdist.linux-armv7l/wheel 2026-02-09T20:24:09,093 creating build/bdist.linux-armv7l/wheel/kontra 2026-02-09T20:24:09,095 creating build/bdist.linux-armv7l/wheel/kontra/preplan 2026-02-09T20:24:09,096 copying build/lib/kontra/preplan/postgres.py -> build/bdist.linux-armv7l/wheel/./kontra/preplan 2026-02-09T20:24:09,098 copying build/lib/kontra/preplan/types.py -> build/bdist.linux-armv7l/wheel/./kontra/preplan 2026-02-09T20:24:09,100 copying build/lib/kontra/preplan/sqlserver.py -> build/bdist.linux-armv7l/wheel/./kontra/preplan 2026-02-09T20:24:09,103 copying build/lib/kontra/preplan/__init__.py -> build/bdist.linux-armv7l/wheel/./kontra/preplan 2026-02-09T20:24:09,105 copying build/lib/kontra/preplan/planner.py -> build/bdist.linux-armv7l/wheel/./kontra/preplan 2026-02-09T20:24:09,107 copying build/lib/kontra/logging.py -> build/bdist.linux-armv7l/wheel/./kontra 2026-02-09T20:24:09,110 creating build/bdist.linux-armv7l/wheel/kontra/reporters 2026-02-09T20:24:09,111 copying build/lib/kontra/reporters/__init__.py -> build/bdist.linux-armv7l/wheel/./kontra/reporters 2026-02-09T20:24:09,113 copying build/lib/kontra/reporters/rich_reporter.py -> build/bdist.linux-armv7l/wheel/./kontra/reporters 2026-02-09T20:24:09,115 copying build/lib/kontra/reporters/json_reporter.py -> build/bdist.linux-armv7l/wheel/./kontra/reporters 2026-02-09T20:24:09,118 creating build/bdist.linux-armv7l/wheel/kontra/engine 2026-02-09T20:24:09,119 copying build/lib/kontra/engine/stats.py -> build/bdist.linux-armv7l/wheel/./kontra/engine 2026-02-09T20:24:09,122 copying build/lib/kontra/engine/sql_validator.py -> build/bdist.linux-armv7l/wheel/./kontra/engine 2026-02-09T20:24:09,125 creating build/bdist.linux-armv7l/wheel/kontra/engine/backends 2026-02-09T20:24:09,126 copying build/lib/kontra/engine/backends/duckdb_session.py -> build/bdist.linux-armv7l/wheel/./kontra/engine/backends 2026-02-09T20:24:09,128 copying build/lib/kontra/engine/backends/duckdb_utils.py -> build/bdist.linux-armv7l/wheel/./kontra/engine/backends 2026-02-09T20:24:09,130 copying build/lib/kontra/engine/backends/polars_backend.py -> build/bdist.linux-armv7l/wheel/./kontra/engine/backends 2026-02-09T20:24:09,132 copying build/lib/kontra/engine/engine.py -> build/bdist.linux-armv7l/wheel/./kontra/engine 2026-02-09T20:24:09,135 copying build/lib/kontra/engine/types.py -> build/bdist.linux-armv7l/wheel/./kontra/engine 2026-02-09T20:24:09,137 creating build/bdist.linux-armv7l/wheel/kontra/engine/executors 2026-02-09T20:24:09,138 copying build/lib/kontra/engine/executors/sqlserver_sql.py -> build/bdist.linux-armv7l/wheel/./kontra/engine/executors 2026-02-09T20:24:09,140 copying build/lib/kontra/engine/executors/postgres_sql.py -> build/bdist.linux-armv7l/wheel/./kontra/engine/executors 2026-02-09T20:24:09,142 copying build/lib/kontra/engine/executors/registry.py -> build/bdist.linux-armv7l/wheel/./kontra/engine/executors 2026-02-09T20:24:09,144 copying build/lib/kontra/engine/executors/base.py -> build/bdist.linux-armv7l/wheel/./kontra/engine/executors 2026-02-09T20:24:09,146 copying build/lib/kontra/engine/executors/database_base.py -> build/bdist.linux-armv7l/wheel/./kontra/engine/executors 2026-02-09T20:24:09,149 copying build/lib/kontra/engine/executors/duckdb_sql.py -> build/bdist.linux-armv7l/wheel/./kontra/engine/executors 2026-02-09T20:24:09,151 copying build/lib/kontra/engine/executors/__init__.py -> build/bdist.linux-armv7l/wheel/./kontra/engine/executors 2026-02-09T20:24:09,153 creating build/bdist.linux-armv7l/wheel/kontra/engine/materializers 2026-02-09T20:24:09,154 copying build/lib/kontra/engine/materializers/duckdb.py -> build/bdist.linux-armv7l/wheel/./kontra/engine/materializers 2026-02-09T20:24:09,157 copying build/lib/kontra/engine/materializers/postgres.py -> build/bdist.linux-armv7l/wheel/./kontra/engine/materializers 2026-02-09T20:24:09,159 copying build/lib/kontra/engine/materializers/registry.py -> build/bdist.linux-armv7l/wheel/./kontra/engine/materializers 2026-02-09T20:24:09,161 copying build/lib/kontra/engine/materializers/base.py -> build/bdist.linux-armv7l/wheel/./kontra/engine/materializers 2026-02-09T20:24:09,163 copying build/lib/kontra/engine/materializers/sqlserver.py -> build/bdist.linux-armv7l/wheel/./kontra/engine/materializers 2026-02-09T20:24:09,165 copying build/lib/kontra/engine/materializers/polars_connector.py -> build/bdist.linux-armv7l/wheel/./kontra/engine/materializers 2026-02-09T20:24:09,167 copying build/lib/kontra/engine/materializers/__init__.py -> build/bdist.linux-armv7l/wheel/./kontra/engine/materializers 2026-02-09T20:24:09,169 copying build/lib/kontra/engine/materializers/factory.py -> build/bdist.linux-armv7l/wheel/./kontra/engine/materializers 2026-02-09T20:24:09,171 copying build/lib/kontra/engine/__init__.py -> build/bdist.linux-armv7l/wheel/./kontra/engine 2026-02-09T20:24:09,173 copying build/lib/kontra/engine/sql_utils.py -> build/bdist.linux-armv7l/wheel/./kontra/engine 2026-02-09T20:24:09,176 copying build/lib/kontra/engine/result.py -> build/bdist.linux-armv7l/wheel/./kontra/engine 2026-02-09T20:24:09,178 creating build/bdist.linux-armv7l/wheel/kontra/connectors 2026-02-09T20:24:09,179 copying build/lib/kontra/connectors/detection.py -> build/bdist.linux-armv7l/wheel/./kontra/connectors 2026-02-09T20:24:09,182 copying build/lib/kontra/connectors/postgres.py -> build/bdist.linux-armv7l/wheel/./kontra/connectors 2026-02-09T20:24:09,185 copying build/lib/kontra/connectors/sqlserver.py -> build/bdist.linux-armv7l/wheel/./kontra/connectors 2026-02-09T20:24:09,187 copying build/lib/kontra/connectors/__init__.py -> build/bdist.linux-armv7l/wheel/./kontra/connectors 2026-02-09T20:24:09,189 copying build/lib/kontra/connectors/handle.py -> build/bdist.linux-armv7l/wheel/./kontra/connectors 2026-02-09T20:24:09,192 copying build/lib/kontra/connectors/db_utils.py -> build/bdist.linux-armv7l/wheel/./kontra/connectors 2026-02-09T20:24:09,194 creating build/bdist.linux-armv7l/wheel/kontra/probes 2026-02-09T20:24:09,195 copying build/lib/kontra/probes/compare.py -> build/bdist.linux-armv7l/wheel/./kontra/probes 2026-02-09T20:24:09,198 copying build/lib/kontra/probes/__init__.py -> build/bdist.linux-armv7l/wheel/./kontra/probes 2026-02-09T20:24:09,200 copying build/lib/kontra/probes/relationship.py -> build/bdist.linux-armv7l/wheel/./kontra/probes 2026-02-09T20:24:09,202 copying build/lib/kontra/__init__.py -> build/bdist.linux-armv7l/wheel/./kontra 2026-02-09T20:24:09,206 creating build/bdist.linux-armv7l/wheel/kontra/cli 2026-02-09T20:24:09,208 copying build/lib/kontra/cli/utils.py -> build/bdist.linux-armv7l/wheel/./kontra/cli 2026-02-09T20:24:09,210 creating build/bdist.linux-armv7l/wheel/kontra/cli/commands 2026-02-09T20:24:09,211 copying build/lib/kontra/cli/commands/diff.py -> build/bdist.linux-armv7l/wheel/./kontra/cli/commands 2026-02-09T20:24:09,214 copying build/lib/kontra/cli/commands/history.py -> build/bdist.linux-armv7l/wheel/./kontra/cli/commands 2026-02-09T20:24:09,216 copying build/lib/kontra/cli/commands/validate.py -> build/bdist.linux-armv7l/wheel/./kontra/cli/commands 2026-02-09T20:24:09,219 copying build/lib/kontra/cli/commands/config.py -> build/bdist.linux-armv7l/wheel/./kontra/cli/commands 2026-02-09T20:24:09,221 copying build/lib/kontra/cli/commands/__init__.py -> build/bdist.linux-armv7l/wheel/./kontra/cli/commands 2026-02-09T20:24:09,223 copying build/lib/kontra/cli/commands/profile.py -> build/bdist.linux-armv7l/wheel/./kontra/cli/commands 2026-02-09T20:24:09,226 copying build/lib/kontra/cli/__init__.py -> build/bdist.linux-armv7l/wheel/./kontra/cli 2026-02-09T20:24:09,227 copying build/lib/kontra/cli/constants.py -> build/bdist.linux-armv7l/wheel/./kontra/cli 2026-02-09T20:24:09,229 copying build/lib/kontra/cli/renderers.py -> build/bdist.linux-armv7l/wheel/./kontra/cli 2026-02-09T20:24:09,232 copying build/lib/kontra/cli/main.py -> build/bdist.linux-armv7l/wheel/./kontra/cli 2026-02-09T20:24:09,234 creating build/bdist.linux-armv7l/wheel/kontra/state 2026-02-09T20:24:09,236 creating build/bdist.linux-armv7l/wheel/kontra/state/backends 2026-02-09T20:24:09,237 copying build/lib/kontra/state/backends/local.py -> build/bdist.linux-armv7l/wheel/./kontra/state/backends 2026-02-09T20:24:09,240 copying build/lib/kontra/state/backends/postgres.py -> build/bdist.linux-armv7l/wheel/./kontra/state/backends 2026-02-09T20:24:09,243 copying build/lib/kontra/state/backends/base.py -> build/bdist.linux-armv7l/wheel/./kontra/state/backends 2026-02-09T20:24:09,246 copying build/lib/kontra/state/backends/s3.py -> build/bdist.linux-armv7l/wheel/./kontra/state/backends 2026-02-09T20:24:09,249 copying build/lib/kontra/state/backends/sqlserver.py -> build/bdist.linux-armv7l/wheel/./kontra/state/backends 2026-02-09T20:24:09,251 copying build/lib/kontra/state/backends/__init__.py -> build/bdist.linux-armv7l/wheel/./kontra/state/backends 2026-02-09T20:24:09,253 copying build/lib/kontra/state/types.py -> build/bdist.linux-armv7l/wheel/./kontra/state 2026-02-09T20:24:09,257 copying build/lib/kontra/state/__init__.py -> build/bdist.linux-armv7l/wheel/./kontra/state 2026-02-09T20:24:09,259 copying build/lib/kontra/state/fingerprint.py -> build/bdist.linux-armv7l/wheel/./kontra/state 2026-02-09T20:24:09,261 creating build/bdist.linux-armv7l/wheel/kontra/api 2026-02-09T20:24:09,262 copying build/lib/kontra/api/results.py -> build/bdist.linux-armv7l/wheel/./kontra/api 2026-02-09T20:24:09,266 copying build/lib/kontra/api/compare.py -> build/bdist.linux-armv7l/wheel/./kontra/api 2026-02-09T20:24:09,269 copying build/lib/kontra/api/__init__.py -> build/bdist.linux-armv7l/wheel/./kontra/api 2026-02-09T20:24:09,271 copying build/lib/kontra/api/rules.py -> build/bdist.linux-armv7l/wheel/./kontra/api 2026-02-09T20:24:09,274 copying build/lib/kontra/api/decorators.py -> build/bdist.linux-armv7l/wheel/./kontra/api 2026-02-09T20:24:09,277 creating build/bdist.linux-armv7l/wheel/kontra/scout 2026-02-09T20:24:09,278 creating build/bdist.linux-armv7l/wheel/kontra/scout/reporters 2026-02-09T20:24:09,280 copying build/lib/kontra/scout/reporters/__init__.py -> build/bdist.linux-armv7l/wheel/./kontra/scout/reporters 2026-02-09T20:24:09,282 copying build/lib/kontra/scout/reporters/rich_reporter.py -> build/bdist.linux-armv7l/wheel/./kontra/scout/reporters 2026-02-09T20:24:09,284 copying build/lib/kontra/scout/reporters/markdown_reporter.py -> build/bdist.linux-armv7l/wheel/./kontra/scout/reporters 2026-02-09T20:24:09,286 copying build/lib/kontra/scout/reporters/json_reporter.py -> build/bdist.linux-armv7l/wheel/./kontra/scout/reporters 2026-02-09T20:24:09,289 creating build/bdist.linux-armv7l/wheel/kontra/scout/backends 2026-02-09T20:24:09,290 copying build/lib/kontra/scout/backends/postgres_backend.py -> build/bdist.linux-armv7l/wheel/./kontra/scout/backends 2026-02-09T20:24:09,292 copying build/lib/kontra/scout/backends/base.py -> build/bdist.linux-armv7l/wheel/./kontra/scout/backends 2026-02-09T20:24:09,294 copying build/lib/kontra/scout/backends/__init__.py -> build/bdist.linux-armv7l/wheel/./kontra/scout/backends 2026-02-09T20:24:09,296 copying build/lib/kontra/scout/backends/duckdb_backend.py -> build/bdist.linux-armv7l/wheel/./kontra/scout/backends 2026-02-09T20:24:09,299 copying build/lib/kontra/scout/backends/sqlserver_backend.py -> build/bdist.linux-armv7l/wheel/./kontra/scout/backends 2026-02-09T20:24:09,301 copying build/lib/kontra/scout/types.py -> build/bdist.linux-armv7l/wheel/./kontra/scout 2026-02-09T20:24:09,304 copying build/lib/kontra/scout/patterns.py -> build/bdist.linux-armv7l/wheel/./kontra/scout 2026-02-09T20:24:09,306 copying build/lib/kontra/scout/store.py -> build/bdist.linux-armv7l/wheel/./kontra/scout 2026-02-09T20:24:09,308 copying build/lib/kontra/scout/__init__.py -> build/bdist.linux-armv7l/wheel/./kontra/scout 2026-02-09T20:24:09,310 copying build/lib/kontra/scout/suggest.py -> build/bdist.linux-armv7l/wheel/./kontra/scout 2026-02-09T20:24:09,312 copying build/lib/kontra/scout/profiler.py -> build/bdist.linux-armv7l/wheel/./kontra/scout 2026-02-09T20:24:09,315 copying build/lib/kontra/scout/dtype_mapping.py -> build/bdist.linux-armv7l/wheel/./kontra/scout 2026-02-09T20:24:09,317 copying build/lib/kontra/version.py -> build/bdist.linux-armv7l/wheel/./kontra 2026-02-09T20:24:09,319 copying build/lib/kontra/errors.py -> build/bdist.linux-armv7l/wheel/./kontra 2026-02-09T20:24:09,322 creating build/bdist.linux-armv7l/wheel/kontra/rules 2026-02-09T20:24:09,323 copying build/lib/kontra/rules/condition_parser.py -> build/bdist.linux-armv7l/wheel/./kontra/rules 2026-02-09T20:24:09,325 copying build/lib/kontra/rules/static_predicates.py -> build/bdist.linux-armv7l/wheel/./kontra/rules 2026-02-09T20:24:09,328 copying build/lib/kontra/rules/execution_plan.py -> build/bdist.linux-armv7l/wheel/./kontra/rules 2026-02-09T20:24:09,330 copying build/lib/kontra/rules/registry.py -> build/bdist.linux-armv7l/wheel/./kontra/rules 2026-02-09T20:24:09,332 copying build/lib/kontra/rules/base.py -> build/bdist.linux-armv7l/wheel/./kontra/rules 2026-02-09T20:24:09,334 copying build/lib/kontra/rules/__init__.py -> build/bdist.linux-armv7l/wheel/./kontra/rules 2026-02-09T20:24:09,336 creating build/bdist.linux-armv7l/wheel/kontra/rules/builtin 2026-02-09T20:24:09,338 copying build/lib/kontra/rules/builtin/conditional_not_null.py -> build/bdist.linux-armv7l/wheel/./kontra/rules/builtin 2026-02-09T20:24:09,340 copying build/lib/kontra/rules/builtin/regex.py -> build/bdist.linux-armv7l/wheel/./kontra/rules/builtin 2026-02-09T20:24:09,342 copying build/lib/kontra/rules/builtin/unique.py -> build/bdist.linux-armv7l/wheel/./kontra/rules/builtin 2026-02-09T20:24:09,344 copying build/lib/kontra/rules/builtin/dtype.py -> build/bdist.linux-armv7l/wheel/./kontra/rules/builtin 2026-02-09T20:24:09,346 copying build/lib/kontra/rules/builtin/conditional_range.py -> build/bdist.linux-armv7l/wheel/./kontra/rules/builtin 2026-02-09T20:24:09,349 copying build/lib/kontra/rules/builtin/freshness.py -> build/bdist.linux-armv7l/wheel/./kontra/rules/builtin 2026-02-09T20:24:09,351 copying build/lib/kontra/rules/builtin/max_rows.py -> build/bdist.linux-armv7l/wheel/./kontra/rules/builtin 2026-02-09T20:24:09,353 copying build/lib/kontra/rules/builtin/allowed_values.py -> build/bdist.linux-armv7l/wheel/./kontra/rules/builtin 2026-02-09T20:24:09,355 copying build/lib/kontra/rules/builtin/compare.py -> build/bdist.linux-armv7l/wheel/./kontra/rules/builtin 2026-02-09T20:24:09,357 copying build/lib/kontra/rules/builtin/__init__.py -> build/bdist.linux-armv7l/wheel/./kontra/rules/builtin 2026-02-09T20:24:09,358 copying build/lib/kontra/rules/builtin/custom_sql_check.py -> build/bdist.linux-armv7l/wheel/./kontra/rules/builtin 2026-02-09T20:24:09,361 copying build/lib/kontra/rules/builtin/range.py -> build/bdist.linux-armv7l/wheel/./kontra/rules/builtin 2026-02-09T20:24:09,363 copying build/lib/kontra/rules/builtin/not_null.py -> build/bdist.linux-armv7l/wheel/./kontra/rules/builtin 2026-02-09T20:24:09,365 copying build/lib/kontra/rules/builtin/min_rows.py -> build/bdist.linux-armv7l/wheel/./kontra/rules/builtin 2026-02-09T20:24:09,367 copying build/lib/kontra/rules/factory.py -> build/bdist.linux-armv7l/wheel/./kontra/rules 2026-02-09T20:24:09,368 copying build/lib/kontra/rules/predicates.py -> build/bdist.linux-armv7l/wheel/./kontra/rules 2026-02-09T20:24:09,371 creating build/bdist.linux-armv7l/wheel/kontra/config 2026-02-09T20:24:09,372 copying build/lib/kontra/config/models.py -> build/bdist.linux-armv7l/wheel/./kontra/config 2026-02-09T20:24:09,374 copying build/lib/kontra/config/loader.py -> build/bdist.linux-armv7l/wheel/./kontra/config 2026-02-09T20:24:09,376 copying build/lib/kontra/config/__init__.py -> build/bdist.linux-armv7l/wheel/./kontra/config 2026-02-09T20:24:09,378 copying build/lib/kontra/config/settings.py -> build/bdist.linux-armv7l/wheel/./kontra/config 2026-02-09T20:24:09,380 running install_egg_info 2026-02-09T20:24:09,385 Copying src/kontra.egg-info to build/bdist.linux-armv7l/wheel/./kontra-0.5.0-py3.11.egg-info 2026-02-09T20:24:09,397 running install_scripts 2026-02-09T20:24:09,408 creating build/bdist.linux-armv7l/wheel/kontra-0.5.0.dist-info/WHEEL 2026-02-09T20:24:09,411 creating '/tmp/pip-wheel-zi6kf8gk/.tmp-o39dcypu/kontra-0.5.0-py3-none-any.whl' and adding 'build/bdist.linux-armv7l/wheel' to it 2026-02-09T20:24:09,420 adding 'kontra/__init__.py' 2026-02-09T20:24:09,422 adding 'kontra/errors.py' 2026-02-09T20:24:09,424 adding 'kontra/logging.py' 2026-02-09T20:24:09,425 adding 'kontra/version.py' 2026-02-09T20:24:09,427 adding 'kontra/api/__init__.py' 2026-02-09T20:24:09,429 adding 'kontra/api/compare.py' 2026-02-09T20:24:09,431 adding 'kontra/api/decorators.py' 2026-02-09T20:24:09,438 adding 'kontra/api/results.py' 2026-02-09T20:24:09,441 adding 'kontra/api/rules.py' 2026-02-09T20:24:09,443 adding 'kontra/cli/__init__.py' 2026-02-09T20:24:09,444 adding 'kontra/cli/constants.py' 2026-02-09T20:24:09,445 adding 'kontra/cli/main.py' 2026-02-09T20:24:09,447 adding 'kontra/cli/renderers.py' 2026-02-09T20:24:09,448 adding 'kontra/cli/utils.py' 2026-02-09T20:24:09,450 adding 'kontra/cli/commands/__init__.py' 2026-02-09T20:24:09,451 adding 'kontra/cli/commands/config.py' 2026-02-09T20:24:09,454 adding 'kontra/cli/commands/diff.py' 2026-02-09T20:24:09,455 adding 'kontra/cli/commands/history.py' 2026-02-09T20:24:09,457 adding 'kontra/cli/commands/profile.py' 2026-02-09T20:24:09,460 adding 'kontra/cli/commands/validate.py' 2026-02-09T20:24:09,461 adding 'kontra/config/__init__.py' 2026-02-09T20:24:09,463 adding 'kontra/config/loader.py' 2026-02-09T20:24:09,464 adding 'kontra/config/models.py' 2026-02-09T20:24:09,467 adding 'kontra/config/settings.py' 2026-02-09T20:24:09,469 adding 'kontra/connectors/__init__.py' 2026-02-09T20:24:09,471 adding 'kontra/connectors/db_utils.py' 2026-02-09T20:24:09,473 adding 'kontra/connectors/detection.py' 2026-02-09T20:24:09,475 adding 'kontra/connectors/handle.py' 2026-02-09T20:24:09,476 adding 'kontra/connectors/postgres.py' 2026-02-09T20:24:09,478 adding 'kontra/connectors/sqlserver.py' 2026-02-09T20:24:09,480 adding 'kontra/engine/__init__.py' 2026-02-09T20:24:09,485 adding 'kontra/engine/engine.py' 2026-02-09T20:24:09,486 adding 'kontra/engine/result.py' 2026-02-09T20:24:09,488 adding 'kontra/engine/sql_utils.py' 2026-02-09T20:24:09,491 adding 'kontra/engine/sql_validator.py' 2026-02-09T20:24:09,492 adding 'kontra/engine/stats.py' 2026-02-09T20:24:09,494 adding 'kontra/engine/types.py' 2026-02-09T20:24:09,496 adding 'kontra/engine/backends/duckdb_session.py' 2026-02-09T20:24:09,497 adding 'kontra/engine/backends/duckdb_utils.py' 2026-02-09T20:24:09,499 adding 'kontra/engine/backends/polars_backend.py' 2026-02-09T20:24:09,501 adding 'kontra/engine/executors/__init__.py' 2026-02-09T20:24:09,502 adding 'kontra/engine/executors/base.py' 2026-02-09T20:24:09,504 adding 'kontra/engine/executors/database_base.py' 2026-02-09T20:24:09,507 adding 'kontra/engine/executors/duckdb_sql.py' 2026-02-09T20:24:09,508 adding 'kontra/engine/executors/postgres_sql.py' 2026-02-09T20:24:09,509 adding 'kontra/engine/executors/registry.py' 2026-02-09T20:24:09,511 adding 'kontra/engine/executors/sqlserver_sql.py' 2026-02-09T20:24:09,513 adding 'kontra/engine/materializers/__init__.py' 2026-02-09T20:24:09,514 adding 'kontra/engine/materializers/base.py' 2026-02-09T20:24:09,516 adding 'kontra/engine/materializers/duckdb.py' 2026-02-09T20:24:09,517 adding 'kontra/engine/materializers/factory.py' 2026-02-09T20:24:09,518 adding 'kontra/engine/materializers/polars_connector.py' 2026-02-09T20:24:09,520 adding 'kontra/engine/materializers/postgres.py' 2026-02-09T20:24:09,521 adding 'kontra/engine/materializers/registry.py' 2026-02-09T20:24:09,523 adding 'kontra/engine/materializers/sqlserver.py' 2026-02-09T20:24:09,524 adding 'kontra/preplan/__init__.py' 2026-02-09T20:24:09,526 adding 'kontra/preplan/planner.py' 2026-02-09T20:24:09,528 adding 'kontra/preplan/postgres.py' 2026-02-09T20:24:09,530 adding 'kontra/preplan/sqlserver.py' 2026-02-09T20:24:09,531 adding 'kontra/preplan/types.py' 2026-02-09T20:24:09,532 adding 'kontra/probes/__init__.py' 2026-02-09T20:24:09,535 adding 'kontra/probes/compare.py' 2026-02-09T20:24:09,536 adding 'kontra/probes/relationship.py' 2026-02-09T20:24:09,538 adding 'kontra/reporters/__init__.py' 2026-02-09T20:24:09,540 adding 'kontra/reporters/json_reporter.py' 2026-02-09T20:24:09,541 adding 'kontra/reporters/rich_reporter.py' 2026-02-09T20:24:09,543 adding 'kontra/rules/__init__.py' 2026-02-09T20:24:09,544 adding 'kontra/rules/base.py' 2026-02-09T20:24:09,546 adding 'kontra/rules/condition_parser.py' 2026-02-09T20:24:09,548 adding 'kontra/rules/execution_plan.py' 2026-02-09T20:24:09,550 adding 'kontra/rules/factory.py' 2026-02-09T20:24:09,551 adding 'kontra/rules/predicates.py' 2026-02-09T20:24:09,552 adding 'kontra/rules/registry.py' 2026-02-09T20:24:09,554 adding 'kontra/rules/static_predicates.py' 2026-02-09T20:24:09,556 adding 'kontra/rules/builtin/__init__.py' 2026-02-09T20:24:09,558 adding 'kontra/rules/builtin/allowed_values.py' 2026-02-09T20:24:09,559 adding 'kontra/rules/builtin/compare.py' 2026-02-09T20:24:09,561 adding 'kontra/rules/builtin/conditional_not_null.py' 2026-02-09T20:24:09,563 adding 'kontra/rules/builtin/conditional_range.py' 2026-02-09T20:24:09,565 adding 'kontra/rules/builtin/custom_sql_check.py' 2026-02-09T20:24:09,566 adding 'kontra/rules/builtin/dtype.py' 2026-02-09T20:24:09,568 adding 'kontra/rules/builtin/freshness.py' 2026-02-09T20:24:09,570 adding 'kontra/rules/builtin/max_rows.py' 2026-02-09T20:24:09,571 adding 'kontra/rules/builtin/min_rows.py' 2026-02-09T20:24:09,572 adding 'kontra/rules/builtin/not_null.py' 2026-02-09T20:24:09,574 adding 'kontra/rules/builtin/range.py' 2026-02-09T20:24:09,575 adding 'kontra/rules/builtin/regex.py' 2026-02-09T20:24:09,576 adding 'kontra/rules/builtin/unique.py' 2026-02-09T20:24:09,578 adding 'kontra/scout/__init__.py' 2026-02-09T20:24:09,580 adding 'kontra/scout/dtype_mapping.py' 2026-02-09T20:24:09,581 adding 'kontra/scout/patterns.py' 2026-02-09T20:24:09,585 adding 'kontra/scout/profiler.py' 2026-02-09T20:24:09,586 adding 'kontra/scout/store.py' 2026-02-09T20:24:09,588 adding 'kontra/scout/suggest.py' 2026-02-09T20:24:09,590 adding 'kontra/scout/types.py' 2026-02-09T20:24:09,592 adding 'kontra/scout/backends/__init__.py' 2026-02-09T20:24:09,594 adding 'kontra/scout/backends/base.py' 2026-02-09T20:24:09,596 adding 'kontra/scout/backends/duckdb_backend.py' 2026-02-09T20:24:09,598 adding 'kontra/scout/backends/postgres_backend.py' 2026-02-09T20:24:09,601 adding 'kontra/scout/backends/sqlserver_backend.py' 2026-02-09T20:24:09,602 adding 'kontra/scout/reporters/__init__.py' 2026-02-09T20:24:09,604 adding 'kontra/scout/reporters/json_reporter.py' 2026-02-09T20:24:09,605 adding 'kontra/scout/reporters/markdown_reporter.py' 2026-02-09T20:24:09,607 adding 'kontra/scout/reporters/rich_reporter.py' 2026-02-09T20:24:09,609 adding 'kontra/state/__init__.py' 2026-02-09T20:24:09,610 adding 'kontra/state/fingerprint.py' 2026-02-09T20:24:09,614 adding 'kontra/state/types.py' 2026-02-09T20:24:09,616 adding 'kontra/state/backends/__init__.py' 2026-02-09T20:24:09,618 adding 'kontra/state/backends/base.py' 2026-02-09T20:24:09,620 adding 'kontra/state/backends/local.py' 2026-02-09T20:24:09,624 adding 'kontra/state/backends/postgres.py' 2026-02-09T20:24:09,626 adding 'kontra/state/backends/s3.py' 2026-02-09T20:24:09,629 adding 'kontra/state/backends/sqlserver.py' 2026-02-09T20:24:09,632 adding 'kontra-0.5.0.dist-info/licenses/LICENSE' 2026-02-09T20:24:09,633 adding 'kontra-0.5.0.dist-info/METADATA' 2026-02-09T20:24:09,634 adding 'kontra-0.5.0.dist-info/WHEEL' 2026-02-09T20:24:09,635 adding 'kontra-0.5.0.dist-info/entry_points.txt' 2026-02-09T20:24:09,636 adding 'kontra-0.5.0.dist-info/top_level.txt' 2026-02-09T20:24:09,638 adding 'kontra-0.5.0.dist-info/RECORD' 2026-02-09T20:24:09,644 removing build/bdist.linux-armv7l/wheel 2026-02-09T20:24:09,774 Building wheel for kontra (pyproject.toml): finished with status 'done' 2026-02-09T20:24:09,786 Created wheel for kontra: filename=kontra-0.5.0-py3-none-any.whl size=277983 sha256=f10d2677ec7ddb384cf4b635f5e33d540bb5dcd5ae1ebbf108c0c3224ee3b3df 2026-02-09T20:24:09,787 Stored in directory: /tmp/pip-ephem-wheel-cache-047ercxm/wheels/05/a6/cb/34d344b7faee350c80b2e41270cbc2e000838c9ec9c870fe53 2026-02-09T20:24:09,802 Successfully built kontra 2026-02-09T20:24:09,815 Removed build tracker: '/tmp/pip-build-tracker-bjwks5vb'