Pyqrack

Latest version: v1.33.1

Safety actively analyzes 685838 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 55

1.33.1

The C++ Qrack shared library and WASM interfaces now raise exception if a qubit label is requested that wasn't already specifically assigned. (Previously, these interfaces simply returned the "0"-label qubit in this case, instead, which wasn't "unsafe," but the exception is more helpful.)

**Full Changelog**:
https://github.com/unitaryfund/qrack/compare/vm6502q.v9.13.0...vm6502q.v9.13.1
https://github.com/unitaryfund/pyqrack/compare/v1.33.0...v1.33.1

sha1sum results:
9aac07bd56dbba78887f9a97258783590908af0f pyqrack-1.33.1-py3-none-macosx_13_0_x86_64.whl
0683e105ddd742f0d9fbebc9ff9868a00bf3e87b pyqrack-1.33.1-py3-none-macosx_14_0_arm64.whl
947442578437f452b42c78c94947d0ff0af2e3a0 pyqrack-1.33.1-py3-none-macosx_15_0_arm64.whl
e4d34d2a551c218a47c9da4eadd4387ee3a7a6b7 pyqrack-1.33.1-py3-none-manylinux_2_31_x86_64.whl
7f159254575aa6cb77f1a3527f9c5589c7d1bb31 pyqrack-1.33.1-py3-none-manylinux_2_35_x86_64.whl
902bfc6ff263d8cf3f87b3e7281d012409774b76 pyqrack-1.33.1-py3-none-manylinux_2_39_x86_64.whl
08244b39d3c828c285ad9583015f84e1a655cd0f pyqrack-1.33.1-py3-none-win_amd64.whl
4a55ed97cf83d2deb5ea6eb89b0adb755f4ca3c7 pyqrack-1.33.1.tar.gz
e5c67465ebf59ca4ee8123f1a26f187c68ca923c pyqrack_cpu-1.33.1-py3-none-macosx_13_0_x86_64.whl
4809622d1ff70b8281bd6340eb645461d65609d1 pyqrack_cpu-1.33.1-py3-none-manylinux_2_31_x86_64.whl
4fd4801105118414c112f2c8b6ea6524b2296fef pyqrack_cpu-1.33.1-py3-none-manylinux_2_35_x86_64.whl
e337c6040ad560334853460bde0245922b84d6b8 pyqrack_cpu-1.33.1-py3-none-manylinux_2_39_x86_64.whl
6e6619d210805fbf98e6f00ce9a1ab8abd7c6872 pyqrack_cpu-1.33.1-py3-none-win_amd64.whl
6f4dbb4687c105a03b8c967866fdcae302425946 pyqrack_cpu-1.33.1.tar.gz
eacd6e595950230220abf7e678df44784e034bc2 pyqrack_cuda-1.33.1.tar.gz

1.33.0

This feature release adds two new functions to the Qrack shared library API that, when used together, allow a `QrackCircuit` to be converted directly to a `std::string` representation (exactly the same as the file representation) and passed back to the shared library caller. This also enables direct conversion to a Qiskit cicuit.

**Full Changelog**:
https://github.com/unitaryfund/qrack/compare/vm6502q.v9.12.39...vm6502q.v9.13.0
https://github.com/unitaryfund/pyqrack/compare/v1.32.31...v1.33.0

sha1sum results:
df788eb53694d1e21fdd85c6a31dd1faad576999 pyqrack-1.33.0-py3-none-macosx_13_0_x86_64.whl
0dd7886afa45b55717d9410d3b39202d83d7c443 pyqrack-1.33.0-py3-none-macosx_14_0_arm64.whl
a00e58a2a7c497ae63a2a2bfc3d6b9976cad0b90 pyqrack-1.33.0-py3-none-macosx_15_0_arm64.whl
56947f9a744d3e4aaac7389c3b8969e59c3a37e8 pyqrack-1.33.0-py3-none-manylinux_2_31_x86_64.whl
053c84a6d2c71ecfe7326531b37f157118f36b1e pyqrack-1.33.0-py3-none-manylinux_2_35_x86_64.whl
933ec491df1520286c6ec49645d4ee7b25b797e0 pyqrack-1.33.0-py3-none-manylinux_2_39_x86_64.whl
895d4383daddd48ef31a5c519e7150ccd8f8cd28 pyqrack-1.33.0-py3-none-win_amd64.whl
6db6a6c84af29e8ce8e3e2a90e438eb080d2c411 pyqrack-1.33.0.tar.gz
1ab5ac9d75dc9ee280c58d502b994501ba962de1 pyqrack_cpu-1.33.0-py3-none-macosx_13_0_x86_64.whl
b05a8e5508ec0e44e6eb8f0ff7b298b5c2aa6c14 pyqrack_cpu-1.33.0-py3-none-manylinux_2_31_x86_64.whl
0c6f067dbf9f56720ec59cee2954e39f957cf34c pyqrack_cpu-1.33.0-py3-none-manylinux_2_35_x86_64.whl
4bcba8de6007a09f79ad7bff5b5ce871b9b3461d pyqrack_cpu-1.33.0-py3-none-manylinux_2_39_x86_64.whl
d748b2638bb841973b5e26b4c85e5fa967f4f0aa pyqrack_cpu-1.33.0-py3-none-win_amd64.whl
73f2312596dd39d2d8a9ac18326d9b020f3c6f34 pyqrack_cpu-1.33.0.tar.gz
799491e74a7a408c6f2b312a1fc295193e54e1b1 pyqrack_cuda-1.33.0.tar.gz

1.32.31

This patch fixes every previous CodeQL warning and an edge case in `release()`/`Decompose()`/`Dispose()` in the shared library.

The CodeQL warnings were purely "false positives." CodeQL wasn't wrong in principle, but it's not capable of detecting that manual bounds checking prevents `bitLenInt` (which is often an alias for an 8-bit integer) from getting stuck in infinite loops when iterating over vectors of qubit IDs, which could contain 64-bits worth of `size_t` capacity, but which _can't_ possibly pass manual bounds checking with more entries than the capacity of `bitLenInt`. [a3d9854](https://github.com/unitaryfund/qrack/commit/a3d985497b4400fa1d72bb4ccda69380659ff2b4) roundly prevents these warnings from ever becoming relevant at all, but it's in this release.

The edge case in the shared library likely couldn't be encountered in PyQrack at all, since it does not allow the assignment of arbitrary integer labels for qubit IDs. (They must be sequential.) However, the fix is still important to other potential uses of the Qrack shared library interface, downstream.

**Full Changelog**:
https://github.com/unitaryfund/qrack/compare/vm6502q.v9.12.38...vm6502q.v9.12.39
https://github.com/unitaryfund/pyqrack/compare/v1.32.29...v1.32.31

sha1sum results:
f65670da99af7c201f3d58e161310fafe2cb450b pyqrack-1.32.31-py3-none-macosx_13_0_x86_64.whl
2315e72f0d352612c434172c32cdcf27659ef66a pyqrack-1.32.31-py3-none-macosx_14_0_arm64.whl
3f55fefc85f4f5e540f8677c4a92dced15770ee9 pyqrack-1.32.31-py3-none-macosx_15_0_arm64.whl
29ce2c4828259fe744501936536095eb39cf496b pyqrack-1.32.31-py3-none-manylinux_2_31_x86_64.whl
631092ef656ed649419e981266aae81d8de47f17 pyqrack-1.32.31-py3-none-manylinux_2_35_x86_64.whl
818fdda5c7c42fd77e3441279eebf3c3633a27d0 pyqrack-1.32.31-py3-none-manylinux_2_39_x86_64.whl
21b4b343a81eeef62549b1cee773bd0f9933f792 pyqrack-1.32.31-py3-none-win_amd64.whl
49c9534cb1b4391f2147bada3631ead69f4147b2 pyqrack-1.32.31.tar.gz
5805100298f24606a7cc64cb0d331f43cde9ff75 pyqrack_cpu-1.32.31-py3-none-macosx_13_0_x86_64.whl
d69acaa492fcb1b7dcc9a4f76e0cad39f8b39185 pyqrack_cpu-1.32.31-py3-none-manylinux_2_31_x86_64.whl
14c3a61e9bd3b7a1636a099f9327f27531a4d1b7 pyqrack_cpu-1.32.31-py3-none-manylinux_2_35_x86_64.whl
8d3f690fae9d3d3e85bf9080519eeb6d439f4d45 pyqrack_cpu-1.32.31-py3-none-manylinux_2_39_x86_64.whl
a6529fde2912f5104d0cd278198390e3452d7dd8 pyqrack_cpu-1.32.31-py3-none-win_amd64.whl
2e3fa0acea0dfd124924ddfb38c9852cc36ed6ee pyqrack_cpu-1.32.31.tar.gz
ac36877bffc2cbfe7b583018c1a1c9bec20e218c pyqrack_cuda-1.32.31.tar.gz

1.32.29

[5fa8e96](https://github.com/unitaryfund/qrack/commit/5fa8e965a0a72adb319430b5fbfb0c87e1c11261) introduced a segmentation fault in `QUnit::GetProbs()` (`QrackSimulator.out_probs()`) in the specific case that the `QUnit` instance has exactly 1 qubit. I estimate the severity of the vulnerability to be **low**: all tests so far have resulted in a "caught" segmentation fault rather than a silent one, likely because the first unsafe access to memory is _always_ an attempt to write to memory address 0/NULL. The specific case of calling `QUnit::GetProbs()` for an instance with just one qubit is likely also uncommon in user code. With that said, please update immediately!

(Thanks to cosenal for catching this!)

**Full Changelog**:
https://github.com/unitaryfund/qrack/compare/vm6502q.v9.12.34...vm6502q.v9.12.38
https://github.com/unitaryfund/pyqrack/compare/v1.32.28...v1.32.29

sha1sum results:
170d1522200a1b425e87097b738036a6c050258c pyqrack-1.32.29-py3-none-macosx_13_0_x86_64.whl
ee3e4978d614954d4e5748d233e5ce30843555e3 pyqrack-1.32.29-py3-none-macosx_14_0_arm64.whl
ec13ca9105b2e78a0e5d83f98deec39c8fd56a45 pyqrack-1.32.29-py3-none-macosx_15_0_arm64.whl
6734a71cf726b413c463a66c957867e588044604 pyqrack-1.32.29-py3-none-manylinux_2_31_x86_64.whl
403dee1c27cee9cd6f3cab049f44e35672153a2b pyqrack-1.32.29-py3-none-manylinux_2_35_x86_64.whl
e8d9cf80e9e0a0cf69992358473a70f3025d1065 pyqrack-1.32.29-py3-none-manylinux_2_39_x86_64.whl
7f31f11a04feb7b71c080ab68b07386d4f493bfd pyqrack-1.32.29-py3-none-win_amd64.whl
4d2dd93a2d84027da83745948f4aca44998c94dc pyqrack-1.32.29.tar.gz
705b9b039fe35b081a50211fe9353c494aae0a5e pyqrack_cpu-1.32.29-py3-none-macosx_13_0_x86_64.whl
410bbf7aa266167406f477075728550fb579cbff pyqrack_cpu-1.32.29-py3-none-manylinux_2_31_x86_64.whl
8b7af8a32580fa7df760ba1ea11b4add009b8b92 pyqrack_cpu-1.32.29-py3-none-manylinux_2_35_x86_64.whl
8ec282763d19019c212e0ccb9ef262eb5f3a2c73 pyqrack_cpu-1.32.29-py3-none-manylinux_2_39_x86_64.whl
adc67bb376491fb0db4ae3bd054221a26ed6ce80 pyqrack_cpu-1.32.29-py3-none-win_amd64.whl
7c9f9dcc2430d598f3c3fac0c6300d3a26b92e15 pyqrack_cpu-1.32.29.tar.gz
39d104e47c08bf4093ccc8ac0ee29f06eda391d0 pyqrack_cuda-1.32.30.tar.gz

1.32.28

We got to the bottom of the problem with `QHybrid` performance, and, with apologies, it had nothing to do with either "driver changes" or "speculative execution": since `QHybrid` was first entered into the library, optimized methods on `QEngineOCL` and `QEngineCPU` remained without direct exposure via the `QHybrid` layer. Making sure that the full public API was exposed via `QHybrid` fixed the issue. (It blows my mind that we went this long without `MAll()` exposed from the wrapped types under `QHybrid`.) Similarly, the incorrect results from `QPager` are a known issue where the engine type doesn't work with numbers of qubits smaller than its threshold for at least two "pages" in the simulator type, which is entirely avoided by wrapping in `QHybrid`.

(I owe an apology for mouthing off. No one was going to realize this problem but me, but, when something _seems_ to work in the library for literally years, and then I notice it's sub-optimal, it's easy to reflexively blame driver and firmware changes before setting out to fix the problem of necessity, anyway.)

**UPDATE, 2024-11-20**: I have added a source installer for an update to `pyqrack-cuda`!

**Full Changelog**:
https://github.com/unitaryfund/qrack/compare/vm6502q.v9.12.33...vm6502q.v9.12.34
https://github.com/unitaryfund/pyqrack/compare/v1.32.27...v1.32.28

sha1sum results:
d54c1470faa1bf0b061c7b975b2af91879f2f292 pyqrack-1.32.28-py3-none-macosx_13_0_x86_64.whl
db76d4ca7540328fb38be96d62a3d361f5730725 pyqrack-1.32.28-py3-none-macosx_14_0_arm64.whl
23d8da1002738734dacf9aed6b81809558304f48 pyqrack-1.32.28-py3-none-macosx_15_0_arm64.whl
752a5b3d78fe8e619cdbf90923c0ec17de7623c5 pyqrack-1.32.28-py3-none-manylinux_2_31_x86_64.whl
ea05e8910a7de9f5503d92951d2ddc29e2bb3f66 pyqrack-1.32.28-py3-none-manylinux_2_35_x86_64.whl
ead9687aec62c3882a9dfe1340f107009006ba11 pyqrack-1.32.28-py3-none-manylinux_2_39_x86_64.whl
fd014c7fa8c31959ad231dfa6633feb094d5be25 pyqrack-1.32.28-py3-none-win_amd64.whl
7de02a6eddc758dee36e97e919de7b321ccb4260 pyqrack-1.32.28.tar.gz
306cb4dfcaa3bba6f86396b5e30acd32f23ec857 pyqrack_cpu-1.32.28-py3-none-macosx_13_0_x86_64.whl
a2ca24edd723ce58baeab930025396d013c16d39 pyqrack_cpu-1.32.28-py3-none-manylinux_2_31_x86_64.whl
c8aa9d96e498f98a732ac5305f0baf8586f398ee pyqrack_cpu-1.32.28-py3-none-manylinux_2_35_x86_64.whl
2bb0d94d92dfd4f4b83a5b0e50e0af55dc50999f pyqrack_cpu-1.32.28-py3-none-manylinux_2_39_x86_64.whl
01be803abd72c58b1f16155c22f610e50383be1f pyqrack_cpu-1.32.28-py3-none-win_amd64.whl
403f0a128274c9a2906037738fb63d370c782706 pyqrack_cpu-1.32.28.tar.gz
75242bed6f022732373805ad5d686b5a314c7430 pyqrack_cuda-1.32.28.tar.gz

1.32.27

QPager` appears to be bugged when `QHybrid` does not wrap it, possibly only in the case that `QPager` has a single "page" (which `QHybrid` would avoid, but `QUnit` without `QHybrid` would engage). Apologies for releasing many times in a day, but this version is the most performant and correct I can offer until I systematically debug `QPager`, which might take a day or two.

**Full Changelog**:
https://github.com/unitaryfund/qrack/compare/vm6502q.v9.12.32...vm6502q.v9.12.33
https://github.com/unitaryfund/pyqrack/compare/v1.32.25...v1.32.27

sha1sum results:
fa64ecd4e16ddacf4d84319321185750ced888fa pyqrack-1.32.27-py3-none-macosx_13_0_x86_64.whl
03cea7838ed332f5cb96d020f8ba74f2ae3fd6e7 pyqrack-1.32.27-py3-none-macosx_14_0_arm64.whl
777055726cf5eb05161abc7b115e1d812d747482 pyqrack-1.32.27-py3-none-macosx_15_0_arm64.whl
df0ec1a45845d5e094bf8e0b13c1eb83583944f2 pyqrack-1.32.27-py3-none-manylinux_2_31_x86_64.whl
cb4e254621574ba5d9418750c97a93392ed8a6a9 pyqrack-1.32.27-py3-none-manylinux_2_35_x86_64.whl
f2bd35b33ec39559b4e8b282dc3d2456d17e3dfa pyqrack-1.32.27-py3-none-manylinux_2_39_x86_64.whl
7739c3255eb926281f41267d0acb5244e6bde866 pyqrack-1.32.27-py3-none-win_amd64.whl
806224ee27600ad0f192db4059a6c83eb17535d5 pyqrack-1.32.27.tar.gz
44c407a615d6507bfd239f95541dfdf365e38678 pyqrack_cpu-1.32.27-py3-none-macosx_13_0_x86_64.whl
2f9b3139e774ffa790fda35f52bb16cf91ea708f pyqrack_cpu-1.32.27-py3-none-manylinux_2_31_x86_64.whl
0ab0adda03ab12d4faab5d17fba5c80f368fce35 pyqrack_cpu-1.32.27-py3-none-manylinux_2_35_x86_64.whl
25c7d5e57fa2c25b602294ec81da06db57ea4882 pyqrack_cpu-1.32.27-py3-none-manylinux_2_39_x86_64.whl
dbfa8112cdb5c2443fd6c73b4e617969edd2e7f5 pyqrack_cpu-1.32.27-py3-none-win_amd64.whl
43c7fd3106370ab5c51c86e0440fbc6f1f2b5d94 pyqrack_cpu-1.32.27.tar.gz

Page 1 of 55

Links

Releases

Has known vulnerabilities

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.