2026-01-10T00:54:34,586 Created temporary directory: /tmp/pip-ephem-wheel-cache-s799izt5 2026-01-10T00:54:34,588 Created temporary directory: /tmp/pip-build-tracker-f0vsjaki 2026-01-10T00:54:34,589 Initialized build tracking at /tmp/pip-build-tracker-f0vsjaki 2026-01-10T00:54:34,589 Created build tracker: /tmp/pip-build-tracker-f0vsjaki 2026-01-10T00:54:34,589 Entered build tracker: /tmp/pip-build-tracker-f0vsjaki 2026-01-10T00:54:34,590 Created temporary directory: /tmp/pip-wheel-ilcdntun 2026-01-10T00:54:34,593 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-01-10T00:54:34,595 Created temporary directory: /tmp/pip-ephem-wheel-cache-03t5f0mb 2026-01-10T00:54:34,619 Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple 2026-01-10T00:54:34,622 2 location(s) to search for versions of keycycle: 2026-01-10T00:54:34,622 * https://pypi.org/simple/keycycle/ 2026-01-10T00:54:34,622 * https://www.piwheels.org/simple/keycycle/ 2026-01-10T00:54:34,623 Fetching project page and analyzing links: https://pypi.org/simple/keycycle/ 2026-01-10T00:54:34,624 Getting page https://pypi.org/simple/keycycle/ 2026-01-10T00:54:34,625 Found index url https://pypi.org/simple 2026-01-10T00:54:34,851 Fetched page https://pypi.org/simple/keycycle/ as application/vnd.pypi.simple.v1+json 2026-01-10T00:54:34,854 Skipping link: No binaries permitted for keycycle: https://files.pythonhosted.org/packages/4c/22/fb59975753729f70e508251e33f3d0ecb0579793afd8fe1e9ab0de7ed185/keycycle-0.1.0-py3-none-any.whl (from https://pypi.org/simple/keycycle/) (requires-python:>=3.9) 2026-01-10T00:54:34,856 Found link https://files.pythonhosted.org/packages/93/90/51921b99675a26ce16848aa565ae87924058d4ffe409b8d6f7d782e92503/keycycle-0.1.0.tar.gz (from https://pypi.org/simple/keycycle/) (requires-python:>=3.9), version: 0.1.0 2026-01-10T00:54:34,856 Skipping link: No binaries permitted for keycycle: https://files.pythonhosted.org/packages/5f/9e/cb109c6b6e072d563149ddeb600fb394067e84fb3a2731483a4f6627d818/keycycle-0.1.1-py3-none-any.whl (from https://pypi.org/simple/keycycle/) (requires-python:>=3.9) 2026-01-10T00:54:34,857 Found link https://files.pythonhosted.org/packages/80/a3/64276f98ee64cc7d6a09e44f6de88df262df982d8d1725c29ee494152f56/keycycle-0.1.1.tar.gz (from https://pypi.org/simple/keycycle/) (requires-python:>=3.9), version: 0.1.1 2026-01-10T00:54:34,858 Skipping link: No binaries permitted for keycycle: https://files.pythonhosted.org/packages/6e/3c/46f0c56faaf5c0a44e3aa8f55cc7b11cc8664234cec6c2257d58a6ad08cf/keycycle-0.1.2-py3-none-any.whl (from https://pypi.org/simple/keycycle/) (requires-python:>=3.9) 2026-01-10T00:54:34,859 Found link https://files.pythonhosted.org/packages/ed/13/9c6432baaba8540cfe63306e6a6849bf9c646257c22b412c91438e657ff4/keycycle-0.1.2.tar.gz (from https://pypi.org/simple/keycycle/) (requires-python:>=3.9), version: 0.1.2 2026-01-10T00:54:34,860 Skipping link: No binaries permitted for keycycle: https://files.pythonhosted.org/packages/c8/9c/b4c40e848174c287802c0bf91c13b4d26ed5c7f096ae1f62e3c1a425d977/keycycle-0.1.3-py3-none-any.whl (from https://pypi.org/simple/keycycle/) (requires-python:>=3.9) 2026-01-10T00:54:34,860 Found link https://files.pythonhosted.org/packages/75/d2/6abbc3ec1a82d56723405b9a86f3470851fcc1d066cedee8ba0b1a9d2440/keycycle-0.1.3.tar.gz (from https://pypi.org/simple/keycycle/) (requires-python:>=3.9), version: 0.1.3 2026-01-10T00:54:34,861 Skipping link: No binaries permitted for keycycle: https://files.pythonhosted.org/packages/32/81/de1d23420c01f62842855fbfe10a584b9805fe439c86c75d46620690378b/keycycle-0.1.4-py3-none-any.whl (from https://pypi.org/simple/keycycle/) (requires-python:>=3.9) 2026-01-10T00:54:34,862 Found link https://files.pythonhosted.org/packages/a4/56/03dcb55c4f9fad3b34aaa3d9db6f2b8eb264950a596220b591ad542c3c16/keycycle-0.1.4.tar.gz (from https://pypi.org/simple/keycycle/) (requires-python:>=3.9), version: 0.1.4 2026-01-10T00:54:34,863 Skipping link: No binaries permitted for keycycle: https://files.pythonhosted.org/packages/e8/cb/921323d3bcab4196c5def20faf85678120a1747abdd13308c7344c54f29c/keycycle-0.1.5-py3-none-any.whl (from https://pypi.org/simple/keycycle/) (requires-python:>=3.9) 2026-01-10T00:54:34,864 Found link https://files.pythonhosted.org/packages/e8/4d/c98c1d26dc498ae130a1acc1ccaa0add19622b4d70ed2aaaa1f7b8f22110/keycycle-0.1.5.tar.gz (from https://pypi.org/simple/keycycle/) (requires-python:>=3.9), version: 0.1.5 2026-01-10T00:54:34,865 Skipping link: No binaries permitted for keycycle: https://files.pythonhosted.org/packages/91/dd/8925513f3d0c0bbf4be296f91a5ee6d86469111ba8a0381484fe857afa29/keycycle-0.1.6-py3-none-any.whl (from https://pypi.org/simple/keycycle/) (requires-python:>=3.9) 2026-01-10T00:54:34,865 Found link https://files.pythonhosted.org/packages/30/23/62586a6cc782de87def74f72635afaecf0188c360b6a73b484700c43b6a7/keycycle-0.1.6.tar.gz (from https://pypi.org/simple/keycycle/) (requires-python:>=3.9), version: 0.1.6 2026-01-10T00:54:34,866 Fetching project page and analyzing links: https://www.piwheels.org/simple/keycycle/ 2026-01-10T00:54:34,867 Getting page https://www.piwheels.org/simple/keycycle/ 2026-01-10T00:54:34,868 Found index url https://www.piwheels.org/simple 2026-01-10T00:54:35,025 Fetched page https://www.piwheels.org/simple/keycycle/ as text/html 2026-01-10T00:54:35,028 Skipping link: No binaries permitted for keycycle: https://www.piwheels.org/simple/keycycle/keycycle-0.1.5-py3-none-any.whl#sha256=192b5f66548a191e373d3b69febcf9281196117bc65d05a2297f5fcb9a84c018 (from https://www.piwheels.org/simple/keycycle/) (requires-python:>=3.9) 2026-01-10T00:54:35,029 Skipping link: No binaries permitted for keycycle: https://www.piwheels.org/simple/keycycle/keycycle-0.1.4-py3-none-any.whl#sha256=47d59837e96f1591188950611c6ded3492712a24f2cf178e46f9b108b4dbac02 (from https://www.piwheels.org/simple/keycycle/) (requires-python:>=3.9) 2026-01-10T00:54:35,029 Skipping link: No binaries permitted for keycycle: https://www.piwheels.org/simple/keycycle/keycycle-0.1.3-py3-none-any.whl#sha256=3ec8aaf6eb3aa4a23cb0a7e04e2cbef74d14555db67c50d8d386f34569bd872c (from https://www.piwheels.org/simple/keycycle/) (requires-python:>=3.9) 2026-01-10T00:54:35,030 Skipping link: No binaries permitted for keycycle: https://www.piwheels.org/simple/keycycle/keycycle-0.1.2-py3-none-any.whl#sha256=d331c178a9e2da8b3a57e516dc2fd2bfeecde4df987c854c970be770740c1313 (from https://www.piwheels.org/simple/keycycle/) (requires-python:>=3.9) 2026-01-10T00:54:35,031 Skipping link: No binaries permitted for keycycle: https://www.piwheels.org/simple/keycycle/keycycle-0.1.1-py3-none-any.whl#sha256=2cb85a5c9d7e7a817874688fe2dd879e3af7a09379a14a1d2ef14939b6939c8d (from https://www.piwheels.org/simple/keycycle/) (requires-python:>=3.9) 2026-01-10T00:54:35,031 Skipping link: No binaries permitted for keycycle: https://www.piwheels.org/simple/keycycle/keycycle-0.1.0-py3-none-any.whl#sha256=2585ff98b99fbc50522468f2da10c27c4e6cf840ce2aec801e2e9ab64ab99aae (from https://www.piwheels.org/simple/keycycle/) (requires-python:>=3.9) 2026-01-10T00:54:35,032 Skipping link: not a file: https://www.piwheels.org/simple/keycycle/ 2026-01-10T00:54:35,033 Skipping link: not a file: https://pypi.org/simple/keycycle/ 2026-01-10T00:54:35,054 Given no hashes to check 1 links for project 'keycycle': discarding no candidates 2026-01-10T00:54:35,074 Collecting keycycle==0.1.6 2026-01-10T00:54:35,076 Created temporary directory: /tmp/pip-unpack-6slci4n6 2026-01-10T00:54:35,289 Downloading keycycle-0.1.6.tar.gz (23 kB) 2026-01-10T00:54:35,371 Added keycycle==0.1.6 from https://files.pythonhosted.org/packages/30/23/62586a6cc782de87def74f72635afaecf0188c360b6a73b484700c43b6a7/keycycle-0.1.6.tar.gz to build tracker '/tmp/pip-build-tracker-f0vsjaki' 2026-01-10T00:54:35,375 Created temporary directory: /tmp/pip-build-env-9d74j3ri 2026-01-10T00:54:35,380 Installing build dependencies: started 2026-01-10T00:54:35,381 Running command pip subprocess to install build dependencies 2026-01-10T00:54:36,515 Using pip 23.0.1 from /usr/lib/python3/dist-packages/pip (python 3.11) 2026-01-10T00:54:37,178 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-01-10T00:54:37,200 Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple 2026-01-10T00:54:38,909 Collecting setuptools>=61.0 2026-01-10T00:54:39,006 Using cached https://www.piwheels.org/simple/setuptools/setuptools-80.9.0-py3-none-any.whl (1.2 MB) 2026-01-10T00:54:42,026 Installing collected packages: setuptools 2026-01-10T00:54:45,651 Successfully installed setuptools-80.9.0 2026-01-10T00:54:45,915 Installing build dependencies: finished with status 'done' 2026-01-10T00:54:45,921 Getting requirements to build wheel: started 2026-01-10T00:54:45,923 Running command Getting requirements to build wheel 2026-01-10T00:54:46,520 /tmp/pip-build-env-9d74j3ri/overlay/local/lib/python3.11/dist-packages/setuptools/config/expand.py:126: SetuptoolsWarning: File '/tmp/pip-wheel-ilcdntun/keycycle_6754b5c5baa14c3789cc14eae05e5738/README.md' cannot be found 2026-01-10T00:54:46,521 return '\n'.join( 2026-01-10T00:54:46,611 /tmp/pip-build-env-9d74j3ri/overlay/local/lib/python3.11/dist-packages/setuptools/config/_apply_pyprojecttoml.py:61: SetuptoolsDeprecationWarning: License classifiers are deprecated. 2026-01-10T00:54:46,611 !! 2026-01-10T00:54:46,612 ******************************************************************************** 2026-01-10T00:54:46,613 Please consider removing the following classifiers in favor of a SPDX license expression: 2026-01-10T00:54:46,614 License :: OSI Approved :: MIT License 2026-01-10T00:54:46,615 See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. 2026-01-10T00:54:46,616 ******************************************************************************** 2026-01-10T00:54:46,617 !! 2026-01-10T00:54:46,617 dist._finalize_license_expression() 2026-01-10T00:54:46,618 /tmp/pip-build-env-9d74j3ri/overlay/local/lib/python3.11/dist-packages/setuptools/dist.py:759: SetuptoolsDeprecationWarning: License classifiers are deprecated. 2026-01-10T00:54:46,619 !! 2026-01-10T00:54:46,620 ******************************************************************************** 2026-01-10T00:54:46,620 Please consider removing the following classifiers in favor of a SPDX license expression: 2026-01-10T00:54:46,621 License :: OSI Approved :: MIT License 2026-01-10T00:54:46,622 See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. 2026-01-10T00:54:46,623 ******************************************************************************** 2026-01-10T00:54:46,624 !! 2026-01-10T00:54:46,625 self._finalize_license_expression() 2026-01-10T00:54:46,625 running egg_info 2026-01-10T00:54:46,632 writing keycycle.egg-info/PKG-INFO 2026-01-10T00:54:46,639 writing dependency_links to keycycle.egg-info/dependency_links.txt 2026-01-10T00:54:46,643 writing requirements to keycycle.egg-info/requires.txt 2026-01-10T00:54:46,644 writing top-level names to keycycle.egg-info/top_level.txt 2026-01-10T00:54:46,670 reading manifest file 'keycycle.egg-info/SOURCES.txt' 2026-01-10T00:54:46,676 writing manifest file 'keycycle.egg-info/SOURCES.txt' 2026-01-10T00:54:46,773 Getting requirements to build wheel: finished with status 'done' 2026-01-10T00:54:46,777 Created temporary directory: /tmp/pip-modern-metadata-540lmh6u 2026-01-10T00:54:46,780 Preparing metadata (pyproject.toml): started 2026-01-10T00:54:46,781 Running command Preparing metadata (pyproject.toml) 2026-01-10T00:54:47,340 /tmp/pip-build-env-9d74j3ri/overlay/local/lib/python3.11/dist-packages/setuptools/config/expand.py:126: SetuptoolsWarning: File '/tmp/pip-wheel-ilcdntun/keycycle_6754b5c5baa14c3789cc14eae05e5738/README.md' cannot be found 2026-01-10T00:54:47,341 return '\n'.join( 2026-01-10T00:54:47,424 /tmp/pip-build-env-9d74j3ri/overlay/local/lib/python3.11/dist-packages/setuptools/config/_apply_pyprojecttoml.py:61: SetuptoolsDeprecationWarning: License classifiers are deprecated. 2026-01-10T00:54:47,425 !! 2026-01-10T00:54:47,426 ******************************************************************************** 2026-01-10T00:54:47,426 Please consider removing the following classifiers in favor of a SPDX license expression: 2026-01-10T00:54:47,427 License :: OSI Approved :: MIT License 2026-01-10T00:54:47,428 See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. 2026-01-10T00:54:47,429 ******************************************************************************** 2026-01-10T00:54:47,430 !! 2026-01-10T00:54:47,430 dist._finalize_license_expression() 2026-01-10T00:54:47,431 /tmp/pip-build-env-9d74j3ri/overlay/local/lib/python3.11/dist-packages/setuptools/dist.py:759: SetuptoolsDeprecationWarning: License classifiers are deprecated. 2026-01-10T00:54:47,431 !! 2026-01-10T00:54:47,432 ******************************************************************************** 2026-01-10T00:54:47,433 Please consider removing the following classifiers in favor of a SPDX license expression: 2026-01-10T00:54:47,434 License :: OSI Approved :: MIT License 2026-01-10T00:54:47,435 See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. 2026-01-10T00:54:47,436 ******************************************************************************** 2026-01-10T00:54:47,437 !! 2026-01-10T00:54:47,437 self._finalize_license_expression() 2026-01-10T00:54:47,438 running dist_info 2026-01-10T00:54:47,450 creating /tmp/pip-modern-metadata-540lmh6u/keycycle.egg-info 2026-01-10T00:54:47,451 writing /tmp/pip-modern-metadata-540lmh6u/keycycle.egg-info/PKG-INFO 2026-01-10T00:54:47,458 writing dependency_links to /tmp/pip-modern-metadata-540lmh6u/keycycle.egg-info/dependency_links.txt 2026-01-10T00:54:47,462 writing requirements to /tmp/pip-modern-metadata-540lmh6u/keycycle.egg-info/requires.txt 2026-01-10T00:54:47,463 writing top-level names to /tmp/pip-modern-metadata-540lmh6u/keycycle.egg-info/top_level.txt 2026-01-10T00:54:47,465 writing manifest file '/tmp/pip-modern-metadata-540lmh6u/keycycle.egg-info/SOURCES.txt' 2026-01-10T00:54:47,488 reading manifest file '/tmp/pip-modern-metadata-540lmh6u/keycycle.egg-info/SOURCES.txt' 2026-01-10T00:54:47,493 writing manifest file '/tmp/pip-modern-metadata-540lmh6u/keycycle.egg-info/SOURCES.txt' 2026-01-10T00:54:47,494 creating '/tmp/pip-modern-metadata-540lmh6u/keycycle-0.1.6.dist-info' 2026-01-10T00:54:47,622 Preparing metadata (pyproject.toml): finished with status 'done' 2026-01-10T00:54:47,627 Source in /tmp/pip-wheel-ilcdntun/keycycle_6754b5c5baa14c3789cc14eae05e5738 has version 0.1.6, which satisfies requirement keycycle==0.1.6 from https://files.pythonhosted.org/packages/30/23/62586a6cc782de87def74f72635afaecf0188c360b6a73b484700c43b6a7/keycycle-0.1.6.tar.gz 2026-01-10T00:54:47,628 Removed keycycle==0.1.6 from https://files.pythonhosted.org/packages/30/23/62586a6cc782de87def74f72635afaecf0188c360b6a73b484700c43b6a7/keycycle-0.1.6.tar.gz from build tracker '/tmp/pip-build-tracker-f0vsjaki' 2026-01-10T00:54:47,634 Created temporary directory: /tmp/pip-unpack-yc_5kiyi 2026-01-10T00:54:47,634 Building wheels for collected packages: keycycle 2026-01-10T00:54:47,639 Created temporary directory: /tmp/pip-wheel-qcus74cc 2026-01-10T00:54:47,639 Destination directory: /tmp/pip-wheel-qcus74cc 2026-01-10T00:54:47,641 Building wheel for keycycle (pyproject.toml): started 2026-01-10T00:54:47,643 Running command Building wheel for keycycle (pyproject.toml) 2026-01-10T00:54:48,186 /tmp/pip-build-env-9d74j3ri/overlay/local/lib/python3.11/dist-packages/setuptools/config/expand.py:126: SetuptoolsWarning: File '/tmp/pip-wheel-ilcdntun/keycycle_6754b5c5baa14c3789cc14eae05e5738/README.md' cannot be found 2026-01-10T00:54:48,186 return '\n'.join( 2026-01-10T00:54:48,262 /tmp/pip-build-env-9d74j3ri/overlay/local/lib/python3.11/dist-packages/setuptools/config/_apply_pyprojecttoml.py:61: SetuptoolsDeprecationWarning: License classifiers are deprecated. 2026-01-10T00:54:48,262 !! 2026-01-10T00:54:48,263 ******************************************************************************** 2026-01-10T00:54:48,264 Please consider removing the following classifiers in favor of a SPDX license expression: 2026-01-10T00:54:48,265 License :: OSI Approved :: MIT License 2026-01-10T00:54:48,266 See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. 2026-01-10T00:54:48,266 ******************************************************************************** 2026-01-10T00:54:48,268 !! 2026-01-10T00:54:48,268 dist._finalize_license_expression() 2026-01-10T00:54:48,269 /tmp/pip-build-env-9d74j3ri/overlay/local/lib/python3.11/dist-packages/setuptools/dist.py:759: SetuptoolsDeprecationWarning: License classifiers are deprecated. 2026-01-10T00:54:48,269 !! 2026-01-10T00:54:48,270 ******************************************************************************** 2026-01-10T00:54:48,271 Please consider removing the following classifiers in favor of a SPDX license expression: 2026-01-10T00:54:48,272 License :: OSI Approved :: MIT License 2026-01-10T00:54:48,273 See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. 2026-01-10T00:54:48,273 ******************************************************************************** 2026-01-10T00:54:48,275 !! 2026-01-10T00:54:48,275 self._finalize_license_expression() 2026-01-10T00:54:48,276 running bdist_wheel 2026-01-10T00:54:48,289 running build 2026-01-10T00:54:48,290 running build_py 2026-01-10T00:54:48,297 creating build/lib/keycycle 2026-01-10T00:54:48,299 copying keycycle/__init__.py -> build/lib/keycycle 2026-01-10T00:54:48,301 copying keycycle/utils.py -> build/lib/keycycle 2026-01-10T00:54:48,303 copying keycycle/multi_provider_wrapper.py -> build/lib/keycycle 2026-01-10T00:54:48,306 creating build/lib/keycycle/key_rotation 2026-01-10T00:54:48,307 copying keycycle/key_rotation/__init__.py -> build/lib/keycycle/key_rotation 2026-01-10T00:54:48,309 copying keycycle/key_rotation/rotation_manager.py -> build/lib/keycycle/key_rotation 2026-01-10T00:54:48,312 copying keycycle/key_rotation/rotating_mixin.py -> build/lib/keycycle/key_rotation 2026-01-10T00:54:48,314 creating build/lib/keycycle/usage 2026-01-10T00:54:48,315 copying keycycle/usage/__init__.py -> build/lib/keycycle/usage 2026-01-10T00:54:48,318 copying keycycle/usage/usage_logger.py -> build/lib/keycycle/usage 2026-01-10T00:54:48,320 copying keycycle/usage/db_logic.py -> build/lib/keycycle/usage 2026-01-10T00:54:48,322 creating build/lib/keycycle/adapters 2026-01-10T00:54:48,323 copying keycycle/adapters/openai_adapter.py -> build/lib/keycycle/adapters 2026-01-10T00:54:48,326 copying keycycle/adapters/__init__.py -> build/lib/keycycle/adapters 2026-01-10T00:54:48,328 creating build/lib/keycycle/config 2026-01-10T00:54:48,329 copying keycycle/config/enums.py -> build/lib/keycycle/config 2026-01-10T00:54:48,331 copying keycycle/config/loader.py -> build/lib/keycycle/config 2026-01-10T00:54:48,333 copying keycycle/config/__init__.py -> build/lib/keycycle/config 2026-01-10T00:54:48,335 copying keycycle/config/log_config.py -> build/lib/keycycle/config 2026-01-10T00:54:48,337 copying keycycle/config/constants.py -> build/lib/keycycle/config 2026-01-10T00:54:48,338 copying keycycle/config/dataclasses.py -> build/lib/keycycle/config 2026-01-10T00:54:48,340 running egg_info 2026-01-10T00:54:48,351 writing keycycle.egg-info/PKG-INFO 2026-01-10T00:54:48,358 writing dependency_links to keycycle.egg-info/dependency_links.txt 2026-01-10T00:54:48,361 writing requirements to keycycle.egg-info/requires.txt 2026-01-10T00:54:48,362 writing top-level names to keycycle.egg-info/top_level.txt 2026-01-10T00:54:48,374 reading manifest file 'keycycle.egg-info/SOURCES.txt' 2026-01-10T00:54:48,381 writing manifest file 'keycycle.egg-info/SOURCES.txt' 2026-01-10T00:54:48,397 installing to build/bdist.linux-armv7l/wheel 2026-01-10T00:54:48,397 running install 2026-01-10T00:54:48,419 running install_lib 2026-01-10T00:54:48,426 creating build/bdist.linux-armv7l/wheel 2026-01-10T00:54:48,428 creating build/bdist.linux-armv7l/wheel/keycycle 2026-01-10T00:54:48,429 copying build/lib/keycycle/__init__.py -> build/bdist.linux-armv7l/wheel/./keycycle 2026-01-10T00:54:48,432 creating build/bdist.linux-armv7l/wheel/keycycle/key_rotation 2026-01-10T00:54:48,433 copying build/lib/keycycle/key_rotation/__init__.py -> build/bdist.linux-armv7l/wheel/./keycycle/key_rotation 2026-01-10T00:54:48,435 copying build/lib/keycycle/key_rotation/rotation_manager.py -> build/bdist.linux-armv7l/wheel/./keycycle/key_rotation 2026-01-10T00:54:48,437 copying build/lib/keycycle/key_rotation/rotating_mixin.py -> build/bdist.linux-armv7l/wheel/./keycycle/key_rotation 2026-01-10T00:54:48,440 creating build/bdist.linux-armv7l/wheel/keycycle/usage 2026-01-10T00:54:48,441 copying build/lib/keycycle/usage/__init__.py -> build/bdist.linux-armv7l/wheel/./keycycle/usage 2026-01-10T00:54:48,443 copying build/lib/keycycle/usage/usage_logger.py -> build/bdist.linux-armv7l/wheel/./keycycle/usage 2026-01-10T00:54:48,444 copying build/lib/keycycle/usage/db_logic.py -> build/bdist.linux-armv7l/wheel/./keycycle/usage 2026-01-10T00:54:48,446 copying build/lib/keycycle/utils.py -> build/bdist.linux-armv7l/wheel/./keycycle 2026-01-10T00:54:48,448 copying build/lib/keycycle/multi_provider_wrapper.py -> build/bdist.linux-armv7l/wheel/./keycycle 2026-01-10T00:54:48,451 creating build/bdist.linux-armv7l/wheel/keycycle/adapters 2026-01-10T00:54:48,452 copying build/lib/keycycle/adapters/openai_adapter.py -> build/bdist.linux-armv7l/wheel/./keycycle/adapters 2026-01-10T00:54:48,454 copying build/lib/keycycle/adapters/__init__.py -> build/bdist.linux-armv7l/wheel/./keycycle/adapters 2026-01-10T00:54:48,457 creating build/bdist.linux-armv7l/wheel/keycycle/config 2026-01-10T00:54:48,458 copying build/lib/keycycle/config/enums.py -> build/bdist.linux-armv7l/wheel/./keycycle/config 2026-01-10T00:54:48,460 copying build/lib/keycycle/config/loader.py -> build/bdist.linux-armv7l/wheel/./keycycle/config 2026-01-10T00:54:48,462 copying build/lib/keycycle/config/__init__.py -> build/bdist.linux-armv7l/wheel/./keycycle/config 2026-01-10T00:54:48,464 copying build/lib/keycycle/config/log_config.py -> build/bdist.linux-armv7l/wheel/./keycycle/config 2026-01-10T00:54:48,466 copying build/lib/keycycle/config/constants.py -> build/bdist.linux-armv7l/wheel/./keycycle/config 2026-01-10T00:54:48,468 copying build/lib/keycycle/config/dataclasses.py -> build/bdist.linux-armv7l/wheel/./keycycle/config 2026-01-10T00:54:48,470 running install_egg_info 2026-01-10T00:54:48,476 Copying keycycle.egg-info to build/bdist.linux-armv7l/wheel/./keycycle-0.1.6-py3.11.egg-info 2026-01-10T00:54:48,485 running install_scripts 2026-01-10T00:54:48,492 creating build/bdist.linux-armv7l/wheel/keycycle-0.1.6.dist-info/WHEEL 2026-01-10T00:54:48,495 creating '/tmp/pip-wheel-qcus74cc/.tmp-ohu5dg5c/keycycle-0.1.6-py3-none-any.whl' and adding 'build/bdist.linux-armv7l/wheel' to it 2026-01-10T00:54:48,497 adding 'keycycle/__init__.py' 2026-01-10T00:54:48,500 adding 'keycycle/multi_provider_wrapper.py' 2026-01-10T00:54:48,502 adding 'keycycle/utils.py' 2026-01-10T00:54:48,503 adding 'keycycle/adapters/__init__.py' 2026-01-10T00:54:48,505 adding 'keycycle/adapters/openai_adapter.py' 2026-01-10T00:54:48,507 adding 'keycycle/config/__init__.py' 2026-01-10T00:54:48,508 adding 'keycycle/config/constants.py' 2026-01-10T00:54:48,510 adding 'keycycle/config/dataclasses.py' 2026-01-10T00:54:48,511 adding 'keycycle/config/enums.py' 2026-01-10T00:54:48,512 adding 'keycycle/config/loader.py' 2026-01-10T00:54:48,513 adding 'keycycle/config/log_config.py' 2026-01-10T00:54:48,515 adding 'keycycle/key_rotation/__init__.py' 2026-01-10T00:54:48,516 adding 'keycycle/key_rotation/rotating_mixin.py' 2026-01-10T00:54:48,518 adding 'keycycle/key_rotation/rotation_manager.py' 2026-01-10T00:54:48,520 adding 'keycycle/usage/__init__.py' 2026-01-10T00:54:48,521 adding 'keycycle/usage/db_logic.py' 2026-01-10T00:54:48,522 adding 'keycycle/usage/usage_logger.py' 2026-01-10T00:54:48,524 adding 'keycycle-0.1.6.dist-info/METADATA' 2026-01-10T00:54:48,525 adding 'keycycle-0.1.6.dist-info/WHEEL' 2026-01-10T00:54:48,526 adding 'keycycle-0.1.6.dist-info/top_level.txt' 2026-01-10T00:54:48,528 adding 'keycycle-0.1.6.dist-info/RECORD' 2026-01-10T00:54:48,529 removing build/bdist.linux-armv7l/wheel 2026-01-10T00:54:48,635 Building wheel for keycycle (pyproject.toml): finished with status 'done' 2026-01-10T00:54:48,639 Created wheel for keycycle: filename=keycycle-0.1.6-py3-none-any.whl size=22612 sha256=554e87dafc2c9dbbef7cf6f755ee631a598615e31a803e669032d7f406343ddd 2026-01-10T00:54:48,641 Stored in directory: /tmp/pip-ephem-wheel-cache-03t5f0mb/wheels/d1/41/a2/d851c020f92e22a977c8969e1d14a655b1c338408525866db9 2026-01-10T00:54:48,651 Successfully built keycycle 2026-01-10T00:54:48,654 Removed build tracker: '/tmp/pip-build-tracker-f0vsjaki'