2026-03-04T07:30:43,269 Created temporary directory: /tmp/pip-ephem-wheel-cache-ra3i821_ 2026-03-04T07:30:43,271 Created temporary directory: /tmp/pip-build-tracker-8kfa1kc3 2026-03-04T07:30:43,271 Initialized build tracking at /tmp/pip-build-tracker-8kfa1kc3 2026-03-04T07:30:43,272 Created build tracker: /tmp/pip-build-tracker-8kfa1kc3 2026-03-04T07:30:43,272 Entered build tracker: /tmp/pip-build-tracker-8kfa1kc3 2026-03-04T07:30:43,273 Created temporary directory: /tmp/pip-wheel-ronb90sr 2026-03-04T07:30:43,276 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-03-04T07:30:43,278 Created temporary directory: /tmp/pip-ephem-wheel-cache-obbelkea 2026-03-04T07:30:43,302 Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple 2026-03-04T07:30:43,305 2 location(s) to search for versions of zpybci: 2026-03-04T07:30:43,305 * https://pypi.org/simple/zpybci/ 2026-03-04T07:30:43,305 * https://www.piwheels.org/simple/zpybci/ 2026-03-04T07:30:43,306 Fetching project page and analyzing links: https://pypi.org/simple/zpybci/ 2026-03-04T07:30:43,307 Getting page https://pypi.org/simple/zpybci/ 2026-03-04T07:30:43,308 Found index url https://pypi.org/simple 2026-03-04T07:30:43,447 Fetched page https://pypi.org/simple/zpybci/ as application/vnd.pypi.simple.v1+json 2026-03-04T07:30:43,451 Skipping link: No binaries permitted for zpybci: https://files.pythonhosted.org/packages/bf/88/bff37b50e709feaa5b8b0548aa3fd8abc23fb6cc0b395905dc3773d046db/zpybci-0.2.0-cp38-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl (from https://pypi.org/simple/zpybci/) (requires-python:>=3.8) 2026-03-04T07:30:43,451 Skipping link: No binaries permitted for zpybci: https://files.pythonhosted.org/packages/cf/be/42c6314089cfea5f571e060bdac12c68cb1eec46f6569ad40822565953c3/zpybci-0.2.0-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (from https://pypi.org/simple/zpybci/) (requires-python:>=3.8) 2026-03-04T07:30:43,452 Skipping link: No binaries permitted for zpybci: https://files.pythonhosted.org/packages/6a/52/a84e2b5e62e43b404ac6e7796206d3cb979a4c3da065244050436904c936/zpybci-0.2.0-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (from https://pypi.org/simple/zpybci/) (requires-python:>=3.8) 2026-03-04T07:30:43,453 Skipping link: No binaries permitted for zpybci: https://files.pythonhosted.org/packages/30/24/311a75d0dd554df4fced4ea395b80893aa82b6fbda09609711a4736ef50d/zpybci-0.2.0-cp38-abi3-win_amd64.whl (from https://pypi.org/simple/zpybci/) (requires-python:>=3.8) 2026-03-04T07:30:43,453 Skipping link: No binaries permitted for zpybci: https://files.pythonhosted.org/packages/b8/ae/611b443dce17dad0012a2e5a7c180f7a689704549c37340ab02b731bdfde/zpybci-0.2.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (from https://pypi.org/simple/zpybci/) (requires-python:>=3.8) 2026-03-04T07:30:43,454 Skipping link: No binaries permitted for zpybci: https://files.pythonhosted.org/packages/0f/6d/1c6918a9f65a0388a97f108703a8857c231d42dab8daf7e6713cb5d8a597/zpybci-0.2.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (from https://pypi.org/simple/zpybci/) (requires-python:>=3.8) 2026-03-04T07:30:43,455 Found link https://files.pythonhosted.org/packages/3b/1e/85764873bb00e0ade1acfb870b8be3a68d3c0d3964c15f0547d13403d6ce/zpybci-0.2.0.tar.gz (from https://pypi.org/simple/zpybci/) (requires-python:>=3.8), version: 0.2.0 2026-03-04T07:30:43,456 Skipping link: No binaries permitted for zpybci: https://files.pythonhosted.org/packages/a6/10/71e6baf2e6dbfff0a047a5a64207857dfabd841d0d2c3f40d0717e374a85/zpybci-0.3.0-cp38-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl (from https://pypi.org/simple/zpybci/) (requires-python:>=3.8) 2026-03-04T07:30:43,456 Skipping link: No binaries permitted for zpybci: https://files.pythonhosted.org/packages/37/46/6429f195c6d391b8a4b1a2226c052e49d3077861215b5e58e20d4f0895f0/zpybci-0.3.0-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (from https://pypi.org/simple/zpybci/) (requires-python:>=3.8) 2026-03-04T07:30:43,457 Skipping link: No binaries permitted for zpybci: https://files.pythonhosted.org/packages/49/be/9359186b9f973e62b182dde360490ff064e2d152e6afffd5dd9a0f8b7c78/zpybci-0.3.0-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (from https://pypi.org/simple/zpybci/) (requires-python:>=3.8) 2026-03-04T07:30:43,457 Skipping link: No binaries permitted for zpybci: https://files.pythonhosted.org/packages/14/75/1e0401bdc3c02e8a966eb9f6e73ebb040fd36e51b17ba504b431b96bb240/zpybci-0.3.0-cp38-abi3-win_amd64.whl (from https://pypi.org/simple/zpybci/) (requires-python:>=3.8) 2026-03-04T07:30:43,458 Skipping link: No binaries permitted for zpybci: https://files.pythonhosted.org/packages/ed/ad/4c982d539b2da3ecd25ebe04e5a68a0a271044848cf1b76cff512a951196/zpybci-0.3.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (from https://pypi.org/simple/zpybci/) (requires-python:>=3.8) 2026-03-04T07:30:43,458 Skipping link: No binaries permitted for zpybci: https://files.pythonhosted.org/packages/12/48/2c8b8c64d6966d1ae371306771c2f9518e341c11c017cf2a9b71fb750148/zpybci-0.3.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (from https://pypi.org/simple/zpybci/) (requires-python:>=3.8) 2026-03-04T07:30:43,459 Found link https://files.pythonhosted.org/packages/85/92/42db23a7ca4120d3a50ebb1adeaf348f4e8c89394ff7ab8ba3af55bff3fb/zpybci-0.3.0.tar.gz (from https://pypi.org/simple/zpybci/) (requires-python:>=3.8), version: 0.3.0 2026-03-04T07:30:43,460 Fetching project page and analyzing links: https://www.piwheels.org/simple/zpybci/ 2026-03-04T07:30:43,461 Getting page https://www.piwheels.org/simple/zpybci/ 2026-03-04T07:30:43,462 Found index url https://www.piwheels.org/simple 2026-03-04T07:30:43,619 Fetched page https://www.piwheels.org/simple/zpybci/ as text/html 2026-03-04T07:30:43,622 Skipping link: No binaries permitted for zpybci: https://www.piwheels.org/simple/zpybci/zpybci-0.3.0-cp38-abi3-linux_armv6l.whl#sha256=e05ba3d0570d9c954eb90f4df84820fe6bccbb01ef784abd3500e316a05bc321 (from https://www.piwheels.org/simple/zpybci/) (requires-python:>=3.8) 2026-03-04T07:30:43,622 Skipping link: No binaries permitted for zpybci: https://www.piwheels.org/simple/zpybci/zpybci-0.3.0-cp38-abi3-linux_armv7l.whl#sha256=e05ba3d0570d9c954eb90f4df84820fe6bccbb01ef784abd3500e316a05bc321 (from https://www.piwheels.org/simple/zpybci/) (requires-python:>=3.8) 2026-03-04T07:30:43,623 Skipping link: No binaries permitted for zpybci: https://archive1.piwheels.org/simple/zpybci/zpybci-0.2.0-cp38-abi3-linux_armv6l.whl#sha256=1b8efc264dc8f878c3c4b0fb684e28ae8e77c85593de8cac79e8f1250844c09e (from https://www.piwheels.org/simple/zpybci/) (requires-python:>=3.8) 2026-03-04T07:30:43,623 Skipping link: No binaries permitted for zpybci: https://archive1.piwheels.org/simple/zpybci/zpybci-0.2.0-cp38-abi3-linux_armv7l.whl#sha256=1b8efc264dc8f878c3c4b0fb684e28ae8e77c85593de8cac79e8f1250844c09e (from https://www.piwheels.org/simple/zpybci/) (requires-python:>=3.8) 2026-03-04T07:30:43,624 Skipping link: not a file: https://www.piwheels.org/simple/zpybci/ 2026-03-04T07:30:43,624 Skipping link: not a file: https://pypi.org/simple/zpybci/ 2026-03-04T07:30:43,643 Given no hashes to check 1 links for project 'zpybci': discarding no candidates 2026-03-04T07:30:43,661 Collecting zpybci==0.3.0 2026-03-04T07:30:43,663 Created temporary directory: /tmp/pip-unpack-j6x5an4f 2026-03-04T07:30:43,798 Downloading zpybci-0.3.0.tar.gz (345 kB) 2026-03-04T07:30:44,167 Added zpybci==0.3.0 from https://files.pythonhosted.org/packages/85/92/42db23a7ca4120d3a50ebb1adeaf348f4e8c89394ff7ab8ba3af55bff3fb/zpybci-0.3.0.tar.gz to build tracker '/tmp/pip-build-tracker-8kfa1kc3' 2026-03-04T07:30:44,172 Created temporary directory: /tmp/pip-build-env-t8ype0xq 2026-03-04T07:30:44,176 Installing build dependencies: started 2026-03-04T07:30:44,178 Running command pip subprocess to install build dependencies 2026-03-04T07:30:45,311 Using pip 23.0.1 from /usr/lib/python3/dist-packages/pip (python 3.11) 2026-03-04T07:30:45,900 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-03-04T07:30:45,922 Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple 2026-03-04T07:30:47,740 Collecting maturin<2.0,>=1.0 2026-03-04T07:30:47,875 Using cached maturin-1.12.6-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.musllinux_1_1_armv7l.whl (9.6 MB) 2026-03-04T07:30:50,718 Installing collected packages: maturin 2026-03-04T07:30:51,366 Successfully installed maturin-1.12.6 2026-03-04T07:30:51,658 Installing build dependencies: finished with status 'done' 2026-03-04T07:30:51,664 Getting requirements to build wheel: started 2026-03-04T07:30:51,666 Running command Getting requirements to build wheel 2026-03-04T07:30:51,867 Getting requirements to build wheel: finished with status 'done' 2026-03-04T07:30:51,870 Created temporary directory: /tmp/pip-modern-metadata-bhj4avr7 2026-03-04T07:30:51,872 Preparing metadata (pyproject.toml): started 2026-03-04T07:30:51,873 Running command Preparing metadata (pyproject.toml) 2026-03-04T07:30:52,630 Downloading crates ... 2026-03-04T07:30:52,736 Downloaded numpy v0.23.0 2026-03-04T07:30:52,861 📦 Including license file `LICENSE` 2026-03-04T07:30:52,863 🔗 Found pyo3 bindings with abi3 support 2026-03-04T07:30:53,305 🐍 Found CPython 3.11 at /usr/bin/python3 2026-03-04T07:30:53,321 zpybci-0.3.0.dist-info 2026-03-04T07:30:53,322 Checking for Rust toolchain.... 2026-03-04T07:30:53,322 Running `maturin pep517 write-dist-info --metadata-directory /tmp/pip-modern-metadata-bhj4avr7 --interpreter /usr/bin/python3` 2026-03-04T07:30:53,345 Preparing metadata (pyproject.toml): finished with status 'done' 2026-03-04T07:30:53,350 Source in /tmp/pip-wheel-ronb90sr/zpybci_5b8dc796161b406491fd6d924aefbd12 has version 0.3.0, which satisfies requirement zpybci==0.3.0 from https://files.pythonhosted.org/packages/85/92/42db23a7ca4120d3a50ebb1adeaf348f4e8c89394ff7ab8ba3af55bff3fb/zpybci-0.3.0.tar.gz 2026-03-04T07:30:53,351 Removed zpybci==0.3.0 from https://files.pythonhosted.org/packages/85/92/42db23a7ca4120d3a50ebb1adeaf348f4e8c89394ff7ab8ba3af55bff3fb/zpybci-0.3.0.tar.gz from build tracker '/tmp/pip-build-tracker-8kfa1kc3' 2026-03-04T07:30:53,356 Created temporary directory: /tmp/pip-unpack-h70m2myg 2026-03-04T07:30:53,357 Building wheels for collected packages: zpybci 2026-03-04T07:30:53,361 Created temporary directory: /tmp/pip-wheel-n0t1q9ut 2026-03-04T07:30:53,362 Destination directory: /tmp/pip-wheel-n0t1q9ut 2026-03-04T07:30:53,364 Building wheel for zpybci (pyproject.toml): started 2026-03-04T07:30:53,365 Running command Building wheel for zpybci (pyproject.toml) 2026-03-04T07:30:53,535 Running `maturin pep517 build-wheel -i /usr/bin/python3 --compatibility off` 2026-03-04T07:30:53,999 📦 Including license file `LICENSE` 2026-03-04T07:30:54,000 🔗 Found pyo3 bindings with abi3 support 2026-03-04T07:30:54,474 🐍 Found CPython 3.11 at /usr/bin/python3 2026-03-04T07:30:55,026 Compiling target-lexicon v0.12.16 2026-03-04T07:30:55,027 Compiling autocfg v1.5.0 2026-03-04T07:30:55,027 Compiling once_cell v1.21.3 2026-03-04T07:30:55,028 Compiling proc-macro2 v1.0.106 2026-03-04T07:30:56,624 Compiling unicode-ident v1.0.24 2026-03-04T07:30:57,084 Compiling quote v1.0.44 2026-03-04T07:30:58,509 Compiling num-traits v0.2.19 2026-03-04T07:30:58,543 Compiling libc v0.2.182 2026-03-04T07:31:01,412 Compiling memoffset v0.9.1 2026-03-04T07:31:02,314 Compiling matrixmultiply v0.3.10 2026-03-04T07:31:02,582 Compiling pyo3-build-config v0.23.5 2026-03-04T07:31:05,505 Compiling syn v2.0.117 2026-03-04T07:31:06,147 Compiling heck v0.5.0 2026-03-04T07:31:14,401 Compiling rawpointer v0.2.1 2026-03-04T07:31:14,725 Compiling libm v0.2.16 2026-03-04T07:31:20,302 Compiling pyo3-ffi v0.23.5 2026-03-04T07:31:21,148 Compiling pyo3-macros-backend v0.23.5 2026-03-04T07:31:22,137 Compiling pyo3 v0.23.5 2026-03-04T07:31:23,490 Compiling num-integer v0.1.46 2026-03-04T07:31:24,257 Compiling num-complex v0.4.6 2026-03-04T07:31:26,437 Compiling indoc v2.0.7 2026-03-04T07:31:29,667 Compiling cfg-if v1.0.4 2026-03-04T07:31:29,851 Compiling unindent v0.2.4 2026-03-04T07:31:30,789 Compiling ndarray v0.16.1 2026-03-04T07:31:31,545 Compiling rustc-hash v2.1.1 2026-03-04T07:31:40,917 Compiling zerostone v0.1.0 (/tmp/pip-wheel-ronb90sr/zpybci_5b8dc796161b406491fd6d924aefbd12) 2026-03-04T07:32:23,222 Compiling pyo3-macros v0.23.5 2026-03-04T07:32:47,155 Compiling numpy v0.23.0 2026-03-04T07:33:04,583 Compiling zerostone-py v0.3.0 (/tmp/pip-wheel-ronb90sr/zpybci_5b8dc796161b406491fd6d924aefbd12/python) 2026-03-04T07:33:07,591 warning: unused import: `Array1` 2026-03-04T07:33:07,592 --> src/riemannian.rs:3:22 2026-03-04T07:33:07,592 | 2026-03-04T07:33:07,593 3 | use numpy::ndarray::{Array1, Array2}; 2026-03-04T07:33:07,593 | ^^^^^^ 2026-03-04T07:33:07,594 | 2026-03-04T07:33:07,595 = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default 2026-03-04T07:33:07,596 warning: unused import: `PyArray3` 2026-03-04T07:33:07,596 --> src/riemannian.rs:4:33 2026-03-04T07:33:07,597 | 2026-03-04T07:33:07,598 4 | use numpy::{PyArray1, PyArray2, PyArray3, PyReadonlyArray2, PyReadonlyArray3, PyUntypedArrayMethods}; 2026-03-04T07:33:07,598 | ^^^^^^^^ 2026-03-04T07:33:20,726 warning: unused variable: `channels` 2026-03-04T07:33:20,727 --> src/artifact.rs:229:17 2026-03-04T07:33:20,728 | 2026-03-04T07:33:20,728 229 | channels, 2026-03-04T07:33:20,729 | ^^^^^^^^ help: try ignoring the field: `channels: _` 2026-03-04T07:33:20,730 | 2026-03-04T07:33:20,730 = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default 2026-03-04T07:33:20,742 warning: unused variable: `channels` 2026-03-04T07:33:20,742 --> src/artifact.rs:290:17 2026-03-04T07:33:20,743 | 2026-03-04T07:33:20,743 290 | channels, 2026-03-04T07:33:20,744 | ^^^^^^^^ help: try ignoring the field: `channels: _` 2026-03-04T07:33:23,196 warning: unused variable: `n_samples` 2026-03-04T07:33:23,197 --> src/detection.rs:114:14 2026-03-04T07:33:23,198 | 2026-03-04T07:33:23,198 114 | let (n_samples, n_channels) = (shape[0], shape[1]); 2026-03-04T07:33:23,199 | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_n_samples` 2026-03-04T07:33:23,365 warning: unused variable: `n_samples` 2026-03-04T07:33:23,366 --> src/detection.rs:327:14 2026-03-04T07:33:23,367 | 2026-03-04T07:33:23,368 327 | let (n_samples, n_channels) = (shape[0], shape[1]); 2026-03-04T07:33:23,368 | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_n_samples` 2026-03-04T07:33:30,929 warning: variable `X` should have a snake case name 2026-03-04T07:33:30,929 --> src/erp.rs:177:23 2026-03-04T07:33:30,930 | 2026-03-04T07:33:30,931 177 | fn fit(&mut self, X: PyReadonlyArray3, y: PyReadonlyArray1) -> PyResult<()> { 2026-03-04T07:33:30,931 | ^ help: convert the identifier to snake case (notice the capitalization): `x` 2026-03-04T07:33:30,932 | 2026-03-04T07:33:30,933 = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default 2026-03-04T07:33:30,934 warning: variable `X_data` should have a snake case name 2026-03-04T07:33:30,935 --> src/erp.rs:197:13 2026-03-04T07:33:30,935 | 2026-03-04T07:33:30,936 197 | let X_data = X.as_slice()?; 2026-03-04T07:33:30,936 | ^^^^^^ help: convert the identifier to snake case (notice the capitalization): `x_data` 2026-03-04T07:33:30,939 warning: variable `X` should have a snake case name 2026-03-04T07:33:30,939 --> src/erp.rs:303:9 2026-03-04T07:33:30,940 | 2026-03-04T07:33:30,940 303 | X: PyReadonlyArray3, 2026-03-04T07:33:30,941 | ^ help: convert the identifier to snake case (notice the capitalization): `x` 2026-03-04T07:33:30,942 warning: variable `X_data` should have a snake case name 2026-03-04T07:33:30,942 --> src/erp.rs:319:13 2026-03-04T07:33:30,943 | 2026-03-04T07:33:30,943 319 | let X_data = X.as_slice()?; 2026-03-04T07:33:30,944 | ^^^^^^ help: convert the identifier to snake case (notice the capitalization): `x_data` 2026-03-04T07:35:06,590 warning: `zerostone-py` (lib) generated 10 warnings (run `cargo fix --lib -p zerostone-py` to apply 6 suggestions) 2026-03-04T07:35:06,591 Finished `release` profile [optimized] target(s) in 4m 11s 2026-03-04T07:35:07,048 📦 Built wheel for abi3 Python ≥ 3.8 to /tmp/pip-wheel-ronb90sr/zpybci_5b8dc796161b406491fd6d924aefbd12/python/target/wheels/zpybci-0.3.0-cp38-abi3-linux_armv7l.whl 2026-03-04T07:35:07,051 /tmp/pip-wheel-ronb90sr/zpybci_5b8dc796161b406491fd6d924aefbd12/python/target/wheels/zpybci-0.3.0-cp38-abi3-linux_armv7l.whl 2026-03-04T07:35:07,092 Building wheel for zpybci (pyproject.toml): finished with status 'done' 2026-03-04T07:35:07,107 Created wheel for zpybci: filename=zpybci-0.3.0-cp38-abi3-linux_armv7l.whl size=1020268 sha256=a71545e0fd87b0f87d66db5dffebcd0431267adc46e882d2ab83778f2e162286 2026-03-04T07:35:07,108 Stored in directory: /tmp/pip-ephem-wheel-cache-obbelkea/wheels/cd/e0/e0/27807a89fc5a32057f619d9d73f5313fe85c243e368341bff7 2026-03-04T07:35:07,121 Successfully built zpybci 2026-03-04T07:35:07,161 Removed build tracker: '/tmp/pip-build-tracker-8kfa1kc3'