2025-09-08T06:40:33,809 Created temporary directory: /tmp/pip-build-tracker-wg5skewk 2025-09-08T06:40:33,809 Initialized build tracking at /tmp/pip-build-tracker-wg5skewk 2025-09-08T06:40:33,809 Created build tracker: /tmp/pip-build-tracker-wg5skewk 2025-09-08T06:40:33,810 Entered build tracker: /tmp/pip-build-tracker-wg5skewk 2025-09-08T06:40:33,810 Created temporary directory: /tmp/pip-wheel-qm30ijaz 2025-09-08T06:40:33,813 Created temporary directory: /tmp/pip-ephem-wheel-cache-x90vx0e0 2025-09-08T06:40:33,872 Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple 2025-09-08T06:40:33,874 2 location(s) to search for versions of sparse-dot: 2025-09-08T06:40:33,874 * https://pypi.org/simple/sparse-dot/ 2025-09-08T06:40:33,874 * https://www.piwheels.org/simple/sparse-dot/ 2025-09-08T06:40:33,875 Fetching project page and analyzing links: https://pypi.org/simple/sparse-dot/ 2025-09-08T06:40:33,875 Getting page https://pypi.org/simple/sparse-dot/ 2025-09-08T06:40:33,876 Found index url https://pypi.org/simple/ 2025-09-08T06:40:33,989 Fetched page https://pypi.org/simple/sparse-dot/ as application/vnd.pypi.simple.v1+json 2025-09-08T06:40:33,993 Found link https://files.pythonhosted.org/packages/94/2c/97f327d36c391c259b3f31a1cbe3a4d2e6a67b937931b5876311cff0a2f2/sparse_dot-0.1.1.0.tar.gz (from https://pypi.org/simple/sparse-dot/), version: 0.1.1.0 2025-09-08T06:40:33,994 Found link https://files.pythonhosted.org/packages/8e/af/0bb4a1c46f5855331bf0cbc96df2a274b103d64961401ebf26ca82a7d719/sparse_dot-0.1.2.0.tar.gz (from https://pypi.org/simple/sparse-dot/), version: 0.1.2.0 2025-09-08T06:40:33,994 Found link https://files.pythonhosted.org/packages/9e/a9/68df8c31d82fbe9d5a0e1aa07d8c5f7c9306954884ba8f9a5d7428a19b4a/sparse_dot-0.1.2.1.tar.gz (from https://pypi.org/simple/sparse-dot/), version: 0.1.2.1 2025-09-08T06:40:33,995 Found link https://files.pythonhosted.org/packages/ec/ad/6ddd72087adffb4710c8d5b43bab5559cef6c131f9aa3a79f53685ad100e/sparse_dot-0.1.3.0.tar.gz (from https://pypi.org/simple/sparse-dot/), version: 0.1.3.0 2025-09-08T06:40:33,995 Found link https://files.pythonhosted.org/packages/21/00/b0b6bf28495a29478fbc505dcaee1529bd153fbc30530c6519578b775f12/sparse_dot-0.1.4.0.tar.gz (from https://pypi.org/simple/sparse-dot/), version: 0.1.4.0 2025-09-08T06:40:33,996 Found link https://files.pythonhosted.org/packages/92/08/8869b3d0627a72ad54d43941f48163a644f6ec6987c144e6cd486ed98948/sparse_dot-0.1.4.1.tar.gz (from https://pypi.org/simple/sparse-dot/), version: 0.1.4.1 2025-09-08T06:40:33,996 Found link https://files.pythonhosted.org/packages/ca/e4/87348b20ab3688986101934d8d9892ec3ed637ba57d33d89cdb3f537e20c/sparse_dot-0.1.4.2.tar.gz (from https://pypi.org/simple/sparse-dot/), version: 0.1.4.2 2025-09-08T06:40:33,997 Found link https://files.pythonhosted.org/packages/75/b8/18a127fe5c1a35c515fb17919071f1722701ab9f8653d5a48986f51e42c0/sparse_dot-0.1.4.3.tar.gz (from https://pypi.org/simple/sparse-dot/), version: 0.1.4.3 2025-09-08T06:40:33,997 Found link https://files.pythonhosted.org/packages/c2/50/fe45fb073c2c2713e3339a64380f87aa506ab508dd84bd98a88a043bf7f9/sparse_dot-0.1.4.4.tar.gz (from https://pypi.org/simple/sparse-dot/), version: 0.1.4.4 2025-09-08T06:40:33,997 Found link https://files.pythonhosted.org/packages/b0/78/baeb23e0fd0419c1c64400f0cbeff0587919946973b9f4b8d72a76ec28c3/sparse_dot-0.2.0.0.tar.gz (from https://pypi.org/simple/sparse-dot/), version: 0.2.0.0 2025-09-08T06:40:33,998 Fetching project page and analyzing links: https://www.piwheels.org/simple/sparse-dot/ 2025-09-08T06:40:33,999 Getting page https://www.piwheels.org/simple/sparse-dot/ 2025-09-08T06:40:34,000 Found index url https://www.piwheels.org/simple/ 2025-09-08T06:40:34,084 Fetched page https://www.piwheels.org/simple/sparse-dot/ as text/html 2025-09-08T06:40:34,091 Skipping link: No binaries permitted for sparse-dot: https://archive1.piwheels.org/simple/sparse-dot/sparse_dot-0.2.0.0-cp39-cp39-linux_armv6l.whl#sha256=fc2a5f3e3e9694d648953761c2ec720857550056258c2ae696dca8f912b437c3 (from https://www.piwheels.org/simple/sparse-dot/) 2025-09-08T06:40:34,091 Skipping link: No binaries permitted for sparse-dot: https://archive1.piwheels.org/simple/sparse-dot/sparse_dot-0.2.0.0-cp39-cp39-linux_armv7l.whl#sha256=fc2a5f3e3e9694d648953761c2ec720857550056258c2ae696dca8f912b437c3 (from https://www.piwheels.org/simple/sparse-dot/) 2025-09-08T06:40:34,091 Skipping link: No binaries permitted for sparse-dot: https://archive1.piwheels.org/simple/sparse-dot/sparse_dot-0.2.0.0-cp34-cp34m-linux_armv7l.whl#sha256=ced0aff26fc6ab26fa7c745563ecf4dce3a2419ad2dc753e86c8722ad2c161b7 (from https://www.piwheels.org/simple/sparse-dot/) 2025-09-08T06:40:34,092 Skipping link: No binaries permitted for sparse-dot: https://archive1.piwheels.org/simple/sparse-dot/sparse_dot-0.2.0.0-cp34-cp34m-linux_armv6l.whl#sha256=ced0aff26fc6ab26fa7c745563ecf4dce3a2419ad2dc753e86c8722ad2c161b7 (from https://www.piwheels.org/simple/sparse-dot/) 2025-09-08T06:40:34,092 Skipping link: No binaries permitted for sparse-dot: https://archive1.piwheels.org/simple/sparse-dot/sparse_dot-0.2.0.0-cp35-cp35m-linux_armv6l.whl#sha256=c436d170cdd54b0d31c4fd02ef466575d1ba7dc39330145c1d1f07bbd5c79e96 (from https://www.piwheels.org/simple/sparse-dot/) 2025-09-08T06:40:34,092 Skipping link: No binaries permitted for sparse-dot: https://archive1.piwheels.org/simple/sparse-dot/sparse_dot-0.2.0.0-cp35-cp35m-linux_armv7l.whl#sha256=c436d170cdd54b0d31c4fd02ef466575d1ba7dc39330145c1d1f07bbd5c79e96 (from https://www.piwheels.org/simple/sparse-dot/) 2025-09-08T06:40:34,092 Skipping link: No binaries permitted for sparse-dot: https://archive1.piwheels.org/simple/sparse-dot/sparse_dot-0.2.0.0-cp37-cp37m-linux_armv6l.whl#sha256=fe6eba0d8158cbe55c3dd81f61947e9ede84204f05b6ebecdd7661b4256b0394 (from https://www.piwheels.org/simple/sparse-dot/) 2025-09-08T06:40:34,092 Skipping link: No binaries permitted for sparse-dot: https://archive1.piwheels.org/simple/sparse-dot/sparse_dot-0.2.0.0-cp37-cp37m-linux_armv7l.whl#sha256=fe6eba0d8158cbe55c3dd81f61947e9ede84204f05b6ebecdd7661b4256b0394 (from https://www.piwheels.org/simple/sparse-dot/) 2025-09-08T06:40:34,092 Skipping link: No binaries permitted for sparse-dot: https://archive1.piwheels.org/simple/sparse-dot/sparse_dot-0.1.4.4-cp35-cp35m-linux_armv7l.whl#sha256=b7ee09842186196327ac71c9c55ff993c00d9a62cebe44926963b5d20f2d4396 (from https://www.piwheels.org/simple/sparse-dot/) 2025-09-08T06:40:34,092 Skipping link: No binaries permitted for sparse-dot: https://archive1.piwheels.org/simple/sparse-dot/sparse_dot-0.1.4.4-cp35-cp35m-linux_armv6l.whl#sha256=b7ee09842186196327ac71c9c55ff993c00d9a62cebe44926963b5d20f2d4396 (from https://www.piwheels.org/simple/sparse-dot/) 2025-09-08T06:40:34,093 Skipping link: No binaries permitted for sparse-dot: https://archive1.piwheels.org/simple/sparse-dot/sparse_dot-0.1.4.4-cp34-cp34m-linux_armv7l.whl#sha256=82503fb847833ed2335e8432dfee8c7d6e1f679077ce3b9456adb3f25c78eedb (from https://www.piwheels.org/simple/sparse-dot/) 2025-09-08T06:40:34,093 Skipping link: No binaries permitted for sparse-dot: https://archive1.piwheels.org/simple/sparse-dot/sparse_dot-0.1.4.4-cp34-cp34m-linux_armv6l.whl#sha256=82503fb847833ed2335e8432dfee8c7d6e1f679077ce3b9456adb3f25c78eedb (from https://www.piwheels.org/simple/sparse-dot/) 2025-09-08T06:40:34,093 Skipping link: No binaries permitted for sparse-dot: https://archive1.piwheels.org/simple/sparse-dot/sparse_dot-0.1.4.4-cp37-cp37m-linux_armv7l.whl#sha256=62a2f6cd7f504904b7fb86a78ae97333d4715d1f0d34f98b6ea8baca28852ea7 (from https://www.piwheels.org/simple/sparse-dot/) 2025-09-08T06:40:34,093 Skipping link: No binaries permitted for sparse-dot: https://archive1.piwheels.org/simple/sparse-dot/sparse_dot-0.1.4.4-cp37-cp37m-linux_armv6l.whl#sha256=62a2f6cd7f504904b7fb86a78ae97333d4715d1f0d34f98b6ea8baca28852ea7 (from https://www.piwheels.org/simple/sparse-dot/) 2025-09-08T06:40:34,093 Skipping link: No binaries permitted for sparse-dot: https://archive1.piwheels.org/simple/sparse-dot/sparse_dot-0.1.4.3-cp34-cp34m-linux_armv7l.whl#sha256=8cbc88163ea2764a95e6044f998ef30ad2ca12071513056446c4cbf427a4f7dc (from https://www.piwheels.org/simple/sparse-dot/) 2025-09-08T06:40:34,093 Skipping link: No binaries permitted for sparse-dot: https://archive1.piwheels.org/simple/sparse-dot/sparse_dot-0.1.4.3-cp34-cp34m-linux_armv6l.whl#sha256=8cbc88163ea2764a95e6044f998ef30ad2ca12071513056446c4cbf427a4f7dc (from https://www.piwheels.org/simple/sparse-dot/) 2025-09-08T06:40:34,094 Skipping link: No binaries permitted for sparse-dot: https://archive1.piwheels.org/simple/sparse-dot/sparse_dot-0.1.4.3-cp35-cp35m-linux_armv6l.whl#sha256=35fe359140da78479c0dc9031acae5512279bbcc793c2f4448c704df4157a360 (from https://www.piwheels.org/simple/sparse-dot/) 2025-09-08T06:40:34,094 Skipping link: No binaries permitted for sparse-dot: https://archive1.piwheels.org/simple/sparse-dot/sparse_dot-0.1.4.3-cp35-cp35m-linux_armv7l.whl#sha256=35fe359140da78479c0dc9031acae5512279bbcc793c2f4448c704df4157a360 (from https://www.piwheels.org/simple/sparse-dot/) 2025-09-08T06:40:34,094 Skipping link: No binaries permitted for sparse-dot: https://archive1.piwheels.org/simple/sparse-dot/sparse_dot-0.1.4.3-cp37-cp37m-linux_armv7l.whl#sha256=d302ea54d4b9f23eb1bbc0de8023dec851da90a756895aa87a632895c67cc0c3 (from https://www.piwheels.org/simple/sparse-dot/) 2025-09-08T06:40:34,094 Skipping link: No binaries permitted for sparse-dot: https://archive1.piwheels.org/simple/sparse-dot/sparse_dot-0.1.4.3-cp37-cp37m-linux_armv6l.whl#sha256=d302ea54d4b9f23eb1bbc0de8023dec851da90a756895aa87a632895c67cc0c3 (from https://www.piwheels.org/simple/sparse-dot/) 2025-09-08T06:40:34,094 Skipping link: No binaries permitted for sparse-dot: https://archive1.piwheels.org/simple/sparse-dot/sparse_dot-0.1.4.2-cp34-cp34m-linux_armv7l.whl#sha256=ccf9324a8a2cf916e68bb5d4a063379960bae8921dd9eb5516b187df61f80330 (from https://www.piwheels.org/simple/sparse-dot/) 2025-09-08T06:40:34,094 Skipping link: No binaries permitted for sparse-dot: https://archive1.piwheels.org/simple/sparse-dot/sparse_dot-0.1.4.2-cp34-cp34m-linux_armv6l.whl#sha256=ccf9324a8a2cf916e68bb5d4a063379960bae8921dd9eb5516b187df61f80330 (from https://www.piwheels.org/simple/sparse-dot/) 2025-09-08T06:40:34,094 Skipping link: No binaries permitted for sparse-dot: https://archive1.piwheels.org/simple/sparse-dot/sparse_dot-0.1.4.1-cp34-cp34m-linux_armv7l.whl#sha256=52933210fd2c10a1f2f9510c5c0fc7bf09e40b6d5e3299e4eb69731bfaf0087f (from https://www.piwheels.org/simple/sparse-dot/) 2025-09-08T06:40:34,095 Skipping link: No binaries permitted for sparse-dot: https://archive1.piwheels.org/simple/sparse-dot/sparse_dot-0.1.4.1-cp34-cp34m-linux_armv6l.whl#sha256=52933210fd2c10a1f2f9510c5c0fc7bf09e40b6d5e3299e4eb69731bfaf0087f (from https://www.piwheels.org/simple/sparse-dot/) 2025-09-08T06:40:34,095 Skipping link: No binaries permitted for sparse-dot: https://archive1.piwheels.org/simple/sparse-dot/sparse_dot-0.1.4.0-py3-none-any.whl#sha256=eb69de12285afefd50dd28a7abde662767e9f8abc9ed1cbfff6dc01ae01c715b (from https://www.piwheels.org/simple/sparse-dot/) 2025-09-08T06:40:34,095 Skipping link: No binaries permitted for sparse-dot: https://archive1.piwheels.org/simple/sparse-dot/sparse_dot-0.1.3.0-py3-none-any.whl#sha256=56257b646bcb457d5bea62642a53ad249866a90dc897a6575a5a3413d82996ad (from https://www.piwheels.org/simple/sparse-dot/) 2025-09-08T06:40:34,095 Skipping link: No binaries permitted for sparse-dot: https://archive1.piwheels.org/simple/sparse-dot/sparse_dot-0.1.2.1-py3-none-any.whl#sha256=4072ab7b96df87faf926feddfface48f9cbe98770bb05bdc141b123e4c092fdb (from https://www.piwheels.org/simple/sparse-dot/) 2025-09-08T06:40:34,095 Skipping link: No binaries permitted for sparse-dot: https://archive1.piwheels.org/simple/sparse-dot/sparse_dot-0.1.2.0-py3-none-any.whl#sha256=232ffd7b318e792064bbd836c0d3462c8dd3142ab87f1bc6178b19f916063d0d (from https://www.piwheels.org/simple/sparse-dot/) 2025-09-08T06:40:34,095 Skipping link: No binaries permitted for sparse-dot: https://archive1.piwheels.org/simple/sparse-dot/sparse_dot-0.1.1.0-py3-none-any.whl#sha256=fd9260e5d201c248ad0d9bd00f1036630bbeb10770dfd2b7a4302593955444c2 (from https://www.piwheels.org/simple/sparse-dot/) 2025-09-08T06:40:34,096 Skipping link: not a file: https://www.piwheels.org/simple/sparse-dot/ 2025-09-08T06:40:34,096 Skipping link: not a file: https://pypi.org/simple/sparse-dot/ 2025-09-08T06:40:34,123 Given no hashes to check 1 links for project 'sparse-dot': discarding no candidates 2025-09-08T06:40:34,124 Collecting sparse-dot==0.1.4.2 2025-09-08T06:40:34,125 Created temporary directory: /tmp/pip-unpack-2fpphl9k 2025-09-08T06:40:34,372 Downloading sparse_dot-0.1.4.2.tar.gz (33 kB) 2025-09-08T06:40:34,404 Added sparse-dot==0.1.4.2 from https://files.pythonhosted.org/packages/ca/e4/87348b20ab3688986101934d8d9892ec3ed637ba57d33d89cdb3f537e20c/sparse_dot-0.1.4.2.tar.gz to build tracker '/tmp/pip-build-tracker-wg5skewk' 2025-09-08T06:40:34,405 Running setup.py (path:/tmp/pip-wheel-qm30ijaz/sparse-dot_568da2741e99488f8c355774304028ad/setup.py) egg_info for package sparse-dot 2025-09-08T06:40:34,406 Created temporary directory: /tmp/pip-pip-egg-info-qy_1gxz_ 2025-09-08T06:40:34,406 Preparing metadata (setup.py): started 2025-09-08T06:40:34,407 Running command python setup.py egg_info 2025-09-08T06:40:36,338 Error compiling Cython file: 2025-09-08T06:40:36,338 ------------------------------------------------------------ 2025-09-08T06:40:36,338 ... 2025-09-08T06:40:36,338 cimport c_python 2025-09-08T06:40:36,338 ^ 2025-09-08T06:40:36,338 ------------------------------------------------------------ 2025-09-08T06:40:36,338 sparse_dot/cy_sparse_dot.pyx:1:8: 'c_python.pxd' not found 2025-09-08T06:40:36,352 Error compiling Cython file: 2025-09-08T06:40:36,352 ------------------------------------------------------------ 2025-09-08T06:40:36,352 ... 2025-09-08T06:40:36,352 cimport c_python 2025-09-08T06:40:36,352 cimport c_numpy 2025-09-08T06:40:36,352 ^ 2025-09-08T06:40:36,353 ------------------------------------------------------------ 2025-09-08T06:40:36,353 sparse_dot/cy_sparse_dot.pyx:2:8: 'c_numpy.pxd' not found 2025-09-08T06:40:36,387 Error compiling Cython file: 2025-09-08T06:40:36,387 ------------------------------------------------------------ 2025-09-08T06:40:36,387 ... 2025-09-08T06:40:36,387 '''Takes a python dictionary of arrays and fill a SparseArrayF 2025-09-08T06:40:36,387 The expected input format for the input_dict is: 2025-09-08T06:40:36,387 {'locs': , 2025-09-08T06:40:36,387 'array': } 2025-09-08T06:40:36,387 ''' 2025-09-08T06:40:36,387 cdef c_numpy.ndarray locs_cn = input_dict['locs'] 2025-09-08T06:40:36,387 ^ 2025-09-08T06:40:36,388 ------------------------------------------------------------ 2025-09-08T06:40:36,388 sparse_dot/cy_sparse_dot.pyx:48:9: 'ndarray' is not a type identifier 2025-09-08T06:40:36,388 Error compiling Cython file: 2025-09-08T06:40:36,388 ------------------------------------------------------------ 2025-09-08T06:40:36,388 ... 2025-09-08T06:40:36,388 The expected input format for the input_dict is: 2025-09-08T06:40:36,388 {'locs': , 2025-09-08T06:40:36,388 'array': } 2025-09-08T06:40:36,388 ''' 2025-09-08T06:40:36,389 cdef c_numpy.ndarray locs_cn = input_dict['locs'] 2025-09-08T06:40:36,389 cdef c_numpy.ndarray array_cn = input_dict['array'] 2025-09-08T06:40:36,389 ^ 2025-09-08T06:40:36,389 ------------------------------------------------------------ 2025-09-08T06:40:36,389 sparse_dot/cy_sparse_dot.pyx:49:9: 'ndarray' is not a type identifier 2025-09-08T06:40:36,389 Error compiling Cython file: 2025-09-08T06:40:36,389 ------------------------------------------------------------ 2025-09-08T06:40:36,389 ... 2025-09-08T06:40:36,389 # * Makes a C double pointer (array-of-arrays) of SparseResult's 2025-09-08T06:40:36,389 # * Sets the pointers to each of the numpy sub-arrays (each is num_items) 2025-09-08T06:40:36,390 # Each thread then gets it's own num_items length buffer to store its result 2025-09-08T06:40:36,390 sparse_results_tmp_arr = np.zeros((num_threads, num_items), # Make sure each thread uses separate memory 2025-09-08T06:40:36,390 dtype=SPARSE_RESULTS_DTYPE) 2025-09-08T06:40:36,390 cdef c_numpy.ndarray sparse_results_cn 2025-09-08T06:40:36,390 ^ 2025-09-08T06:40:36,390 ------------------------------------------------------------ 2025-09-08T06:40:36,390 sparse_dot/cy_sparse_dot.pyx:91:9: 'ndarray' is not a type identifier 2025-09-08T06:40:36,400 Error compiling Cython file: 2025-09-08T06:40:36,400 ------------------------------------------------------------ 2025-09-08T06:40:36,401 ... 2025-09-08T06:40:36,401 'array': } 2025-09-08T06:40:36,401 ''' 2025-09-08T06:40:36,401 cdef c_numpy.ndarray locs_cn = input_dict['locs'] 2025-09-08T06:40:36,401 cdef c_numpy.ndarray array_cn = input_dict['array'] 2025-09-08T06:40:36,401 saf[saf_ind].locs = locs_cn.data 2025-09-08T06:40:36,401 ^ 2025-09-08T06:40:36,401 ------------------------------------------------------------ 2025-09-08T06:40:36,401 sparse_dot/cy_sparse_dot.pyx:51:24: Python objects cannot be cast to pointers of primitive types 2025-09-08T06:40:36,402 Error compiling Cython file: 2025-09-08T06:40:36,402 ------------------------------------------------------------ 2025-09-08T06:40:36,402 ... 2025-09-08T06:40:36,402 ''' 2025-09-08T06:40:36,402 cdef c_numpy.ndarray locs_cn = input_dict['locs'] 2025-09-08T06:40:36,402 cdef c_numpy.ndarray array_cn = input_dict['array'] 2025-09-08T06:40:36,402 saf[saf_ind].locs = locs_cn.data 2025-09-08T06:40:36,402 saf[saf_ind].array = array_cn.data 2025-09-08T06:40:36,402 ^ 2025-09-08T06:40:36,403 ------------------------------------------------------------ 2025-09-08T06:40:36,403 sparse_dot/cy_sparse_dot.pyx:52:25: Python objects cannot be cast to pointers of primitive types 2025-09-08T06:40:36,447 Traceback (most recent call last): 2025-09-08T06:40:36,449 File "", line 2, in 2025-09-08T06:40:36,449 exec(compile(''' 2025-09-08T06:40:36,449 ~~~~^^^^^^^^^^^^ 2025-09-08T06:40:36,449 # This is -- a caller that pip uses to run setup.py 2025-09-08T06:40:36,450 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-08T06:40:36,450 ...<32 lines>... 2025-09-08T06:40:36,450 exec(compile(setup_py_code, filename, "exec")) 2025-09-08T06:40:36,450 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-08T06:40:36,450 ''' % ('/tmp/pip-wheel-qm30ijaz/sparse-dot_568da2741e99488f8c355774304028ad/setup.py',), "", "exec")) 2025-09-08T06:40:36,450 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-08T06:40:36,450 File "", line 35, in 2025-09-08T06:40:36,450 File "/tmp/pip-wheel-qm30ijaz/sparse-dot_568da2741e99488f8c355774304028ad/setup.py", line 45, in 2025-09-08T06:40:36,451 ext_modules=cythonize(extensions, 2025-09-08T06:40:36,451 ~~~~~~~~~^^^^^^^^^^^^ 2025-09-08T06:40:36,451 nthreads=nthreads), 2025-09-08T06:40:36,451 ^^^^^^^^^^^^^^^^^^ 2025-09-08T06:40:36,451 File "/usr/local/lib/python3.13/dist-packages/Cython/Build/Dependencies.py", line 1154, in cythonize 2025-09-08T06:40:36,451 cythonize_one(*args) 2025-09-08T06:40:36,451 ~~~~~~~~~~~~~^^^^^^^ 2025-09-08T06:40:36,451 File "/usr/local/lib/python3.13/dist-packages/Cython/Build/Dependencies.py", line 1298, in cythonize_one 2025-09-08T06:40:36,451 raise CompileError(None, pyx_file) 2025-09-08T06:40:36,451 Cython.Compiler.Errors.CompileError: sparse_dot/cy_sparse_dot.pyx 2025-09-08T06:40:36,452 Compiling sparse_dot/cy_sparse_dot.pyx because it changed. 2025-09-08T06:40:36,452 [1/1] Cythonizing sparse_dot/cy_sparse_dot.pyx 2025-09-08T06:40:36,697 ERROR: python setup.py egg_info exited with 1 2025-09-08T06:40:36,709 [bold magenta]full command[/]: [blue]/usr/bin/python3 -c ' 2025-09-08T06:40:36,709 exec(compile('"'"''"'"''"'"' 2025-09-08T06:40:36,709 # This is -- a caller that pip uses to run setup.py 2025-09-08T06:40:36,709 # 2025-09-08T06:40:36,709 # - It imports setuptools before invoking setup.py, to enable projects that directly 2025-09-08T06:40:36,709 # import from `distutils.core` to work with newer packaging standards. 2025-09-08T06:40:36,709 # - It provides a clear error message when setuptools is not installed. 2025-09-08T06:40:36,709 # - It sets `sys.argv[0]` to the underlying `setup.py`, when invoking `setup.py` so 2025-09-08T06:40:36,709 # setuptools doesn'"'"'t think the script is `-c`. This avoids the following warning: 2025-09-08T06:40:36,709 # manifest_maker: standard file '"'"'-c'"'"' not found". 2025-09-08T06:40:36,709 # - It generates a shim setup.py, for handling setup.cfg-only projects. 2025-09-08T06:40:36,709 import os, sys, tokenize, traceback 2025-09-08T06:40:36,709 2025-09-08T06:40:36,709 try: 2025-09-08T06:40:36,709 import setuptools 2025-09-08T06:40:36,709 except ImportError: 2025-09-08T06:40:36,709 print( 2025-09-08T06:40:36,709 "ERROR: Can not execute `setup.py` since setuptools failed to import in " 2025-09-08T06:40:36,709 "the build environment with exception:", 2025-09-08T06:40:36,709 file=sys.stderr, 2025-09-08T06:40:36,709 ) 2025-09-08T06:40:36,709 traceback.print_exc() 2025-09-08T06:40:36,709 sys.exit(1) 2025-09-08T06:40:36,709 2025-09-08T06:40:36,709 __file__ = %r 2025-09-08T06:40:36,709 sys.argv[0] = __file__ 2025-09-08T06:40:36,709 2025-09-08T06:40:36,709 if os.path.exists(__file__): 2025-09-08T06:40:36,709 filename = __file__ 2025-09-08T06:40:36,709 with tokenize.open(__file__) as f: 2025-09-08T06:40:36,709 setup_py_code = f.read() 2025-09-08T06:40:36,709 else: 2025-09-08T06:40:36,709 filename = "" 2025-09-08T06:40:36,709 setup_py_code = "from setuptools import setup; setup()" 2025-09-08T06:40:36,709 2025-09-08T06:40:36,709 exec(compile(setup_py_code, filename, "exec")) 2025-09-08T06:40:36,709 '"'"''"'"''"'"' % ('"'"'/tmp/pip-wheel-qm30ijaz/sparse-dot_568da2741e99488f8c355774304028ad/setup.py'"'"',), "", "exec"))' egg_info --egg-base /tmp/pip-pip-egg-info-qy_1gxz_[/] 2025-09-08T06:40:36,709 [bold magenta]cwd[/]: /tmp/pip-wheel-qm30ijaz/sparse-dot_568da2741e99488f8c355774304028ad/ 2025-09-08T06:40:36,709 Preparing metadata (setup.py): finished with status 'error' 2025-09-08T06:40:36,710 ERROR: metadata generation failed 2025-09-08T06:40:36,715 Exception information: 2025-09-08T06:40:36,715 Traceback (most recent call last): 2025-09-08T06:40:36,715 File "/usr/lib/python3/dist-packages/pip/_internal/operations/build/metadata_legacy.py", line 63, in generate_metadata 2025-09-08T06:40:36,715 call_subprocess( 2025-09-08T06:40:36,715 ~~~~~~~~~~~~~~~^ 2025-09-08T06:40:36,715 args, 2025-09-08T06:40:36,715 ^^^^^ 2025-09-08T06:40:36,715 ...<2 lines>... 2025-09-08T06:40:36,715 spinner=spinner, 2025-09-08T06:40:36,715 ^^^^^^^^^^^^^^^^ 2025-09-08T06:40:36,715 ) 2025-09-08T06:40:36,715 ^ 2025-09-08T06:40:36,715 File "/usr/lib/python3/dist-packages/pip/_internal/utils/subprocess.py", line 209, in call_subprocess 2025-09-08T06:40:36,715 raise error 2025-09-08T06:40:36,715 pip._internal.exceptions.InstallationSubprocessError: python setup.py egg_info exited with 1 2025-09-08T06:40:36,715 2025-09-08T06:40:36,715 The above exception was the direct cause of the following exception: 2025-09-08T06:40:36,715 2025-09-08T06:40:36,715 Traceback (most recent call last): 2025-09-08T06:40:36,715 File "/usr/lib/python3/dist-packages/pip/_internal/cli/base_command.py", line 105, in _run_wrapper 2025-09-08T06:40:36,715 status = _inner_run() 2025-09-08T06:40:36,715 File "/usr/lib/python3/dist-packages/pip/_internal/cli/base_command.py", line 96, in _inner_run 2025-09-08T06:40:36,715 return self.run(options, args) 2025-09-08T06:40:36,715 ~~~~~~~~^^^^^^^^^^^^^^^ 2025-09-08T06:40:36,715 File "/usr/lib/python3/dist-packages/pip/_internal/cli/req_command.py", line 68, in wrapper 2025-09-08T06:40:36,715 return func(self, options, args) 2025-09-08T06:40:36,715 File "/usr/lib/python3/dist-packages/pip/_internal/commands/wheel.py", line 147, in run 2025-09-08T06:40:36,715 requirement_set = resolver.resolve(reqs, check_supported_wheels=True) 2025-09-08T06:40:36,715 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/resolver.py", line 96, in resolve 2025-09-08T06:40:36,715 result = self._result = resolver.resolve( 2025-09-08T06:40:36,715 ~~~~~~~~~~~~~~~~^ 2025-09-08T06:40:36,715 collected.requirements, max_rounds=limit_how_complex_resolution_can_be 2025-09-08T06:40:36,715 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-08T06:40:36,715 ) 2025-09-08T06:40:36,715 ^ 2025-09-08T06:40:36,715 File "/usr/lib/python3/dist-packages/pip/_vendor/resolvelib/resolvers/resolution.py", line 515, in resolve 2025-09-08T06:40:36,715 state = resolution.resolve(requirements, max_rounds=max_rounds) 2025-09-08T06:40:36,715 File "/usr/lib/python3/dist-packages/pip/_vendor/resolvelib/resolvers/resolution.py", line 388, in resolve 2025-09-08T06:40:36,715 self._add_to_criteria(self.state.criteria, r, parent=None) 2025-09-08T06:40:36,715 ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-08T06:40:36,715 File "/usr/lib/python3/dist-packages/pip/_vendor/resolvelib/resolvers/resolution.py", line 141, in _add_to_criteria 2025-09-08T06:40:36,715 if not criterion.candidates: 2025-09-08T06:40:36,715 ^^^^^^^^^^^^^^^^^^^^ 2025-09-08T06:40:36,715 File "/usr/lib/python3/dist-packages/pip/_vendor/resolvelib/structs.py", line 194, in __bool__ 2025-09-08T06:40:36,715 return bool(self._sequence) 2025-09-08T06:40:36,715 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 163, in __bool__ 2025-09-08T06:40:36,715 self._bool = any(self) 2025-09-08T06:40:36,715 ~~~^^^^^^ 2025-09-08T06:40:36,715 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 147, in 2025-09-08T06:40:36,715 return (c for c in iterator if id(c) not in self._incompatible_ids) 2025-09-08T06:40:36,715 ^^^^^^^^ 2025-09-08T06:40:36,715 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 37, in _iter_built 2025-09-08T06:40:36,715 candidate = func() 2025-09-08T06:40:36,715 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/factory.py", line 187, in _make_candidate_from_link 2025-09-08T06:40:36,715 base: Optional[BaseCandidate] = self._make_base_candidate_from_link( 2025-09-08T06:40:36,715 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 2025-09-08T06:40:36,715 link, template, name, version 2025-09-08T06:40:36,715 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-08T06:40:36,715 ) 2025-09-08T06:40:36,715 ^ 2025-09-08T06:40:36,715 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/factory.py", line 233, in _make_base_candidate_from_link 2025-09-08T06:40:36,715 self._link_candidate_cache[link] = LinkCandidate( 2025-09-08T06:40:36,715 ~~~~~~~~~~~~~^ 2025-09-08T06:40:36,715 link, 2025-09-08T06:40:36,715 ^^^^^ 2025-09-08T06:40:36,715 ...<3 lines>... 2025-09-08T06:40:36,715 version=version, 2025-09-08T06:40:36,715 ^^^^^^^^^^^^^^^^ 2025-09-08T06:40:36,715 ) 2025-09-08T06:40:36,715 ^ 2025-09-08T06:40:36,715 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 306, in __init__ 2025-09-08T06:40:36,715 super().__init__( 2025-09-08T06:40:36,715 ~~~~~~~~~~~~~~~~^ 2025-09-08T06:40:36,715 link=link, 2025-09-08T06:40:36,715 ^^^^^^^^^^ 2025-09-08T06:40:36,715 ...<4 lines>... 2025-09-08T06:40:36,715 version=version, 2025-09-08T06:40:36,715 ^^^^^^^^^^^^^^^^ 2025-09-08T06:40:36,715 ) 2025-09-08T06:40:36,715 ^ 2025-09-08T06:40:36,715 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 159, in __init__ 2025-09-08T06:40:36,715 self.dist = self._prepare() 2025-09-08T06:40:36,715 ~~~~~~~~~~~~~^^ 2025-09-08T06:40:36,715 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 236, in _prepare 2025-09-08T06:40:36,715 dist = self._prepare_distribution() 2025-09-08T06:40:36,715 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 317, in _prepare_distribution 2025-09-08T06:40:36,715 return preparer.prepare_linked_requirement(self._ireq, parallel_builds=True) 2025-09-08T06:40:36,715 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-08T06:40:36,715 File "/usr/lib/python3/dist-packages/pip/_internal/operations/prepare.py", line 532, in prepare_linked_requirement 2025-09-08T06:40:36,715 return self._prepare_linked_requirement(req, parallel_builds) 2025-09-08T06:40:36,715 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ 2025-09-08T06:40:36,715 File "/usr/lib/python3/dist-packages/pip/_internal/operations/prepare.py", line 647, in _prepare_linked_requirement 2025-09-08T06:40:36,715 dist = _get_prepared_distribution( 2025-09-08T06:40:36,715 req, 2025-09-08T06:40:36,715 ...<3 lines>... 2025-09-08T06:40:36,715 self.check_build_deps, 2025-09-08T06:40:36,715 ) 2025-09-08T06:40:36,715 File "/usr/lib/python3/dist-packages/pip/_internal/operations/prepare.py", line 71, in _get_prepared_distribution 2025-09-08T06:40:36,715 abstract_dist.prepare_distribution_metadata( 2025-09-08T06:40:36,715 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 2025-09-08T06:40:36,715 finder, build_isolation, check_build_deps 2025-09-08T06:40:36,715 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-08T06:40:36,715 ) 2025-09-08T06:40:36,715 ^ 2025-09-08T06:40:36,715 File "/usr/lib/python3/dist-packages/pip/_internal/distributions/sdist.py", line 69, in prepare_distribution_metadata 2025-09-08T06:40:36,715 self.req.prepare_metadata() 2025-09-08T06:40:36,715 ~~~~~~~~~~~~~~~~~~~~~~~~~^^ 2025-09-08T06:40:36,715 File "/usr/lib/python3/dist-packages/pip/_internal/req/req_install.py", line 581, in prepare_metadata 2025-09-08T06:40:36,715 self.metadata_directory = generate_metadata_legacy( 2025-09-08T06:40:36,715 ~~~~~~~~~~~~~~~~~~~~~~~~^ 2025-09-08T06:40:36,715 build_env=self.build_env, 2025-09-08T06:40:36,715 ^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-08T06:40:36,715 ...<3 lines>... 2025-09-08T06:40:36,715 details=details, 2025-09-08T06:40:36,715 ^^^^^^^^^^^^^^^^ 2025-09-08T06:40:36,715 ) 2025-09-08T06:40:36,715 ^ 2025-09-08T06:40:36,715 File "/usr/lib/python3/dist-packages/pip/_internal/operations/build/metadata_legacy.py", line 70, in generate_metadata 2025-09-08T06:40:36,715 raise MetadataGenerationFailed(package_details=details) from error 2025-09-08T06:40:36,715 pip._internal.exceptions.MetadataGenerationFailed: metadata generation failed 2025-09-08T06:40:36,739 Removed sparse-dot==0.1.4.2 from https://files.pythonhosted.org/packages/ca/e4/87348b20ab3688986101934d8d9892ec3ed637ba57d33d89cdb3f537e20c/sparse_dot-0.1.4.2.tar.gz from build tracker '/tmp/pip-build-tracker-wg5skewk' 2025-09-08T06:40:36,740 Removed build tracker: '/tmp/pip-build-tracker-wg5skewk'