Skip to content

Commit

Permalink
docs: update docmain post 1.32 release (#1567)
Browse files Browse the repository at this point in the history
* add docs check (#1516)

* add docs check

* add poetry.lock

* circuit-display: update css file to v0.9 (#1521)

* docs: update navbar config and theming submodule (#1523)

* update navbar config

* use latest quantinuum-sphinx

* fix some local build warnings

* bump quantinuum-sphinx (#1525)

* release 1.31.1 (#1522)

* update version and changelog

* Update pytket/docs/changelog.rst

* correct navbar links (#1527)

* Updated flake.lock to bring symengine-0.12.0 into nix (#1423)

* Update to pybind11 2.13.3 (#1531)

* Fix symbol substitution for classical operations (#1538)

* Update pybind11 and catch2 versions (#1539)

* docs: Add pytket-azure to list of extensions (#1540)

* feat: Refactor WASM module (#1503)

* feat: Refactor WASM module

- Add a new WasmModuleHandler class that takes raw wasm_module bytes on construction, but has the same interface as WasmFileHandler.
- WasmFileHandler now inherits from WasmModuleHandler.
- Split checking of the WASM module into a new function so it can be called after initialisation if required.
- Adds new cached properties, bytecode, bytecode_base64 and module_uid which allow lazy loading of the module in encoded form, or computation of a unique identifier for the module.
- Add deprecated properties _check_file, wasm_file_encoded and _wasmfileuid to maintain compatibility with existing versions of pytket-qir and pytket-quantinuum.
- Remove some exceptions that are no longer possible.

* Bugfix/incorrect multi line conditionals (#1510)

* Add failing tests

* Delay declaring registers

* Handle conditional blocks

* Raise error for conditional `RangePredicate`

* Refactor `mark_as_written`

* Refactor `self.range_preds`

* Replacing conditions with predicates

* Add changelog entry

* Format code

* Fix typing issue

* Add testcase for multi-bit condition

* Remove unnecessary 0 assignment

* reposition comment in test

* Fix order of `lower` and `upper` in constructing `RangePredicateOp` (#1549)

* fix: Add copy implementations for Unit IDs (#1550)

* Bump slackapi/slack-github-action from 1.26.0 to 1.27.0 (#1555)

Bumps [slackapi/slack-github-action](https://github.com/slackapi/slack-github-action) from 1.26.0 to 1.27.0.
- [Release notes](https://github.com/slackapi/slack-github-action/releases)
- [Commits](slackapi/slack-github-action@v1.26.0...v1.27.0)

---
updated-dependencies:
- dependency-name: slackapi/slack-github-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Update version and changelog. (#1557)

* Update to pybind11 2.13.5 (#1559)

* Update libs to boost 1.86.0. (#1560)

* Install pytket requirements before version consistency checks. (#1562)

* Run valgrind on ubuntu-24.04 (#1563)

* Allow constant ZZPhase fidelity in DecomposeTK2 (#1558)

feat: Allow constant ZZPhase fidelity in DecomposeTK2

Currently it is not possible to serialize the Decompose TK2 pass as it can include an arbitrary function. This commit
allows a constant float value in addition, which will allow serialization of the default compilation pass for pytket-quantinuum.

---------

Co-authored-by: Alec Edgington <[email protected]>

* Use correct conan profile for valgrind build. (#1564)

* Update to boost 1.86.0, tktokenswap 0.3.9 and tkwsm 0.3.9 (#1561)

---------

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: cqc-melf <[email protected]>
Co-authored-by: Tiffany Duneau <[email protected]>
Co-authored-by: Jake Arkinstall <[email protected]>
Co-authored-by: Alec Edgington <[email protected]>
Co-authored-by: John Children <[email protected]>
Co-authored-by: yao-cqc <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Alec Edgington <[email protected]>
  • Loading branch information
9 people authored Sep 6, 2024
1 parent e14e7cc commit a707768
Show file tree
Hide file tree
Showing 49 changed files with 3,391 additions and 308 deletions.
18 changes: 9 additions & 9 deletions .github/workflows/build-without-conan.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,9 +30,9 @@ jobs:
- name: Install boost
run: |
cd ${TMP_DIR}
wget -O boost_1_85_0.tar.gz https://sourceforge.net/projects/boost/files/boost/1.85.0/boost_1_85_0.tar.gz/download
tar xzvf boost_1_85_0.tar.gz
cd boost_1_85_0/
wget -O boost_1_86_0.tar.gz https://sourceforge.net/projects/boost/files/boost/1.86.0/boost_1_86_0.tar.gz/download
tar xzvf boost_1_86_0.tar.gz
cd boost_1_86_0/
./bootstrap.sh --prefix=${INSTALL_DIR}
./b2
./b2 install
Expand Down Expand Up @@ -74,9 +74,9 @@ jobs:
- name: Install catch2
run: |
cd ${TMP_DIR}
wget https://github.com/catchorg/Catch2/archive/refs/tags/v3.6.0.tar.gz
tar xzvf v3.6.0.tar.gz
cd Catch2-3.6.0/
wget https://github.com/catchorg/Catch2/archive/refs/tags/v3.7.0.tar.gz
tar xzvf v3.7.0.tar.gz
cd Catch2-3.7.0/
mkdir build
cd build
cmake -GNinja -DCMAKE_INSTALL_PREFIX=${INSTALL_DIR} ..
Expand All @@ -96,9 +96,9 @@ jobs:
- name: Install pybind11
run: |
cd ${TMP_DIR}
wget https://github.com/pybind/pybind11/archive/refs/tags/v2.13.1.tar.gz
tar xzvf v2.13.1.tar.gz
cd pybind11-2.13.1/
wget https://github.com/pybind/pybind11/archive/refs/tags/v2.13.5.tar.gz
tar xzvf v2.13.5.tar.gz
cd pybind11-2.13.5/
mkdir build
cd build
cmake -GNinja -DCMAKE_INSTALL_PREFIX=${INSTALL_DIR} -DPYBIND11_TEST=OFF ..
Expand Down
21 changes: 21 additions & 0 deletions .github/workflows/build_and_test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -261,6 +261,10 @@ jobs:
- name: Install tket
if: needs.check_changes.outputs.tket_changed != 'true'
run: conan install --requires tket/${{ needs.check_changes.outputs.tket_ver }}@tket/stable -o boost/*:header_only=True -o tklog/*:shared=True -o tket/*:shared=True
- name: Install pytket requirements
run: |
conan create recipes/pybind11
conan create recipes/pybind11_json/all --version 0.2.14
- name: check that version is consistent
if: github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch'
run: ./.github/workflows/check-tket-reqs ${{ needs.check_changes.outputs.tket_ver }}
Expand Down Expand Up @@ -304,6 +308,15 @@ jobs:
cd pytket/tests
pip install -r requirements.txt
pytest --ignore=simulator/
- name: Test building docs
if: github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch'
timeout-minutes: 20
run: |
pip install poetry==1.6.1
cd pytket/docs
poetry install
cd ../../
poetry run -C pytket/docs ./.github/workflows/build-docs
- name: Upload artifact
if: github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch'
Expand Down Expand Up @@ -362,6 +375,10 @@ jobs:
- name: Install tket
if: needs.check_changes.outputs.tket_changed != 'true'
run: conan install --requires tket/${{ needs.check_changes.outputs.tket_ver }}@tket/stable -o boost/*:header_only=True -o tklog/*:shared=True -o tket/*:shared=True
- name: Install pytket requirements
run: |
conan create recipes/pybind11
conan create recipes/pybind11_json/all --version 0.2.14
- name: check that version is consistent
if: github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch'
run: ./.github/workflows/check-tket-reqs ${{ needs.check_changes.outputs.tket_ver }}
Expand Down Expand Up @@ -486,6 +503,10 @@ jobs:
- name: Install tket
if: needs.check_changes.outputs.tket_changed != 'true'
run: conan install --requires tket/${{ needs.check_changes.outputs.tket_ver }}@tket/stable -o boost/*:header_only=True -o tklog/*:shared=True -o tket/*:shared=True
- name: Install pytket requirements
run: |
conan create recipes/pybind11
conan create recipes/pybind11_json/all --version 0.2.14
- name: check that version is consistent
if: github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch'
run: ./.github/workflows/check-tket-reqs ${{ needs.check_changes.outputs.tket_ver }}
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/pytket_benchmarking.yml
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,7 @@ jobs:

- name: Post to a Slack channel
id: slack
uses: slackapi/slack-github-action@v1.26.0
uses: slackapi/slack-github-action@v1.27.0
with:
channel-id: 'G01CP0YFFA7'
slack-message: '${{ env.RETURN_TEST }} Release tag: ${{ github.event.release.tag_name }}.'
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/valgrind.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ jobs:
- 'tket/**'
- '.github/workflows/valgrind.yml'
check:
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
needs: changes
if: needs.changes.outputs.tket == 'true'
steps:
Expand All @@ -45,7 +45,7 @@ jobs:
run: |
conan profile detect
DEFAULT_PROFILE_PATH=`conan profile path default`
PROFILE_PATH=./conan-profiles/ubuntu-22.04
PROFILE_PATH=./conan-profiles/ubuntu-24.04
diff ${DEFAULT_PROFILE_PATH} ${PROFILE_PATH} || true
cp ${PROFILE_PATH} ${DEFAULT_PROFILE_PATH}
conan remote add tket-libs https://quantinuumsw.jfrog.io/artifactory/api/conan/tket1-libs --index 0
Expand All @@ -69,10 +69,10 @@ jobs:
mkdir -p ~/texmf/tex/latex
wget http://mirrors.ctan.org/graphics/pgf/contrib/quantikz/tikzlibraryquantikz.code.tex -P ~/texmf/tex/latex
PKGPATH=`./rootpath tket.json tket`
cd ${PKGPATH}/bin && valgrind --error-exitcode=1 ./test-tket [long],~[long]
cd ${PKGPATH}/bin && valgrind --error-exitcode=1 --show-realloc-size-zero=no ./test-tket [long],~[long]
- name: Run tests under valgrind (basic)
if: github.event_name != 'schedule'
run: |
PKGPATH=`./rootpath tket.json tket`
cd ${PKGPATH}/bin && valgrind --error-exitcode=1 ./test-tket
cd ${PKGPATH}/bin && valgrind --error-exitcode=1 --show-realloc-size-zero=no ./test-tket
18 changes: 9 additions & 9 deletions build-without-conan.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,9 @@ The versions should match the current requirements as specified in the relevant

```
cd ${TMP_DIR}
wget -O boost_1_85_0.tar.gz https://sourceforge.net/projects/boost/files/boost/1.85.0/boost_1_85_0.tar.gz/download
tar xzvf boost_1_85_0.tar.gz
cd boost_1_85_0/
wget -O boost_1_86_0.tar.gz https://sourceforge.net/projects/boost/files/boost/1.86.0/boost_1_86_0.tar.gz/download
tar xzvf boost_1_86_0.tar.gz
cd boost_1_86_0/
./bootstrap.sh --prefix=${INSTALL_DIR}
./b2
./b2 install
Expand Down Expand Up @@ -91,9 +91,9 @@ cmake --install .
```
cd ${TMP_DIR}
wget https://github.com/catchorg/Catch2/archive/refs/tags/v3.6.0.tar.gz
tar xzvf v3.6.0.tar.gz
cd Catch2-3.6.0/
wget https://github.com/catchorg/Catch2/archive/refs/tags/v3.7.0.tar.gz
tar xzvf v3.7.0.tar.gz
cd Catch2-3.7.0/
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=${INSTALL_DIR} ..
Expand All @@ -119,9 +119,9 @@ cmake --install .
```
cd ${TMP_DIR}
wget https://github.com/pybind/pybind11/archive/refs/tags/v2.13.1.tar.gz
tar xzvf v2.13.1.tar.gz
cd pybind11-2.13.1/
wget https://github.com/pybind/pybind11/archive/refs/tags/v2.13.5.tar.gz
tar xzvf v2.13.5.tar.gz
cd pybind11-2.13.5/
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=${INSTALL_DIR} -DPYBIND11_TEST=OFF ..
Expand Down
7 changes: 3 additions & 4 deletions flake.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion flake.nix
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
tket.cachix.org-1:ACdm5Zg19qPL0PpvUwTPPiIx8SEUy+D/uqa9vKJFwh0=
cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
'';
inputs.nixpkgs.url = "github:nixos/nixpkgs/nixos-24.05";
inputs.nixpkgs.url = "github:nixos/nixpkgs";
inputs.flake-utils.url = "github:numtide/flake-utils";
outputs = { self, nixpkgs, flake-utils }:
flake-utils.lib.eachDefaultSystem (system:
Expand Down
2 changes: 1 addition & 1 deletion libs/tkassert/test/conanfile.py
Original file line number Diff line number Diff line change
Expand Up @@ -60,4 +60,4 @@ def package(self):

def requirements(self):
self.requires("tkassert/0.3.4")
self.requires("catch2/3.6.0")
self.requires("catch2/3.7.0")
2 changes: 1 addition & 1 deletion libs/tklog/test/conanfile.py
Original file line number Diff line number Diff line change
Expand Up @@ -60,4 +60,4 @@ def package(self):

def requirements(self):
self.requires("tklog/0.3.3")
self.requires("catch2/3.6.0")
self.requires("catch2/3.7.0")
2 changes: 1 addition & 1 deletion libs/tkrng/test/conanfile.py
Original file line number Diff line number Diff line change
Expand Up @@ -60,4 +60,4 @@ def package(self):

def requirements(self):
self.requires("tkrng/0.3.3")
self.requires("catch2/3.6.0")
self.requires("catch2/3.7.0")
4 changes: 2 additions & 2 deletions libs/tktokenswap/conanfile.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@

class TktokenswapConan(ConanFile):
name = "tktokenswap"
version = "0.3.8"
version = "0.3.9"
package_type = "library"
license = "Apache 2"
url = "https://github.com/CQCL/tket"
Expand Down Expand Up @@ -73,4 +73,4 @@ def requirements(self):
self.requires("tklog/0.3.3@tket/stable")
self.requires("tkassert/0.3.4@tket/stable", transitive_headers=True)
self.requires("tkrng/0.3.3@tket/stable")
self.requires("boost/1.85.0", transitive_libs=False)
self.requires("boost/1.86.0", transitive_libs=False)
4 changes: 2 additions & 2 deletions libs/tktokenswap/test/conanfile.py
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,6 @@ def package(self):
cmake.install()

def requirements(self):
self.requires("tktokenswap/0.3.8")
self.requires("tktokenswap/0.3.9")
self.requires("tkrng/0.3.3@tket/stable")
self.requires("catch2/3.6.0")
self.requires("catch2/3.7.0")
4 changes: 2 additions & 2 deletions libs/tkwsm/conanfile.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@

class TkwsmConan(ConanFile):
name = "tkwsm"
version = "0.3.8"
version = "0.3.9"
package_type = "library"
license = "Apache 2"
url = "https://github.com/CQCL/tket"
Expand Down Expand Up @@ -72,4 +72,4 @@ def package_info(self):
def requirements(self):
self.requires("tkassert/0.3.4@tket/stable")
self.requires("tkrng/0.3.3@tket/stable")
self.requires("boost/1.85.0", transitive_headers=True, transitive_libs=False)
self.requires("boost/1.86.0", transitive_headers=True, transitive_libs=False)
4 changes: 2 additions & 2 deletions libs/tkwsm/test/conanfile.py
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ def package(self):
cmake.install()

def requirements(self):
self.requires("tkwsm/0.3.8")
self.requires("tkwsm/0.3.9")
self.requires("tkassert/0.3.4@tket/stable")
self.requires("tkrng/0.3.3@tket/stable")
self.requires("catch2/3.6.0")
self.requires("catch2/3.7.0")
2 changes: 1 addition & 1 deletion nix-support/symengine.patch
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ diff --git a/cmake/SymEngineConfig.cmake.in b/cmake/SymEngineConfig.cmake.in
index dbfc80ba..d3a390b8 100644
--- a/cmake/SymEngineConfig.cmake.in
+++ b/cmake/SymEngineConfig.cmake.in
@@ -107,11 +107,11 @@ endif()
@@ -109,11 +109,11 @@ endif()

list(REMOVE_DUPLICATES SYMENGINE_INCLUDE_DIRS)

Expand Down
8 changes: 4 additions & 4 deletions pytket/binders/circuit/classical.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -123,12 +123,12 @@ void init_classical(py::module& m) {
"A predicate defined by a range of values in binary encoding.")
.def(
py::init<unsigned, _tket_uint_t, _tket_uint_t>(),
"Construct from a bit width, an upper bound and a lower bound.",
py::arg("width"), py::arg("upper"), py::arg("lower"))
"Construct from a bit width, a lower bound and an upper bound.",
py::arg("width"), py::arg("lower"), py::arg("upper"))
.def_property_readonly(
"upper", &RangePredicateOp::upper, "Inclusive upper bound.")
"lower", &RangePredicateOp::lower, "Inclusive lower bound.")
.def_property_readonly(
"lower", &RangePredicateOp::lower, "Inclusive lower bound.");
"upper", &RangePredicateOp::upper, "Inclusive upper bound.");
py::class_<
ClassicalExpBox<py::tket_custom::LogicExpression>,
std::shared_ptr<ClassicalExpBox<py::tket_custom::LogicExpression>>, Op>(
Expand Down
8 changes: 4 additions & 4 deletions pytket/binders/passes.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ Transforms::TwoQbFidelities get_fidelities(const py::kwargs &kwargs) {
} else if (kwargstr == "ZZMax_fidelity") {
fid.ZZMax_fidelity = py::cast<double>(kwarg.second);
} else if (kwargstr == "ZZPhase_fidelity") {
fid.ZZPhase_fidelity = py::cast<Func>(kwarg.second);
fid.ZZPhase_fidelity = py::cast<std::variant<double, Func>>(kwarg.second);
} else {
throw py::type_error(
"got an unexpected keyword argument '" + kwargstr + "'");
Expand Down Expand Up @@ -405,9 +405,9 @@ PYBIND11_MODULE(passes, m) {
"`ZZPhase_fidelity`. If provided, the `CX` and `ZZMax` fidelities "
"must be given by a single floating point fidelity. The `ZZPhase` "
"fidelity is given as a lambda float -> float, mapping a ZZPhase "
"angle parameter to its fidelity. These parameters will be used "
"to return the optimal decomposition of each TK2 gate, taking "
"noise into consideration.\n\n"
"angle parameter to its fidelity, or by a single float. These parameters "
"will be used to return the optimal decomposition of each TK2 gate, "
"taking noise into consideration.\n\n"
"If no fidelities are provided, the TK2 gates will be decomposed "
"exactly using CX gates. For equal fidelities, ZZPhase will be prefered "
"over ZZMax and CX if the decomposition results in fewer two-qubit "
Expand Down
8 changes: 4 additions & 4 deletions pytket/binders/transform.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ Transforms::TwoQbFidelities get_fidelities(const py::kwargs &kwargs) {
} else if (kwargstr == "ZZMax_fidelity") {
fid.ZZMax_fidelity = py::cast<double>(kwarg.second);
} else if (kwargstr == "ZZPhase_fidelity") {
fid.ZZPhase_fidelity = py::cast<Func>(kwarg.second);
fid.ZZPhase_fidelity = py::cast<std::variant<double, Func>>(kwarg.second);
} else {
throw py::type_error(
"got an unexpected keyword argument '" + kwargstr + "'");
Expand Down Expand Up @@ -228,9 +228,9 @@ PYBIND11_MODULE(transform, m) {
"`ZZPhase_fidelity`. If provided, the `CX` and `ZZMax` fidelities "
"must be given by a single floating point fidelity. The `ZZPhase` "
"fidelity is given as a lambda float -> float, mapping a ZZPhase "
"angle parameter to its fidelity. These parameters will be used "
"to return the optimal decomposition of each TK2 gate, taking "
"noise into consideration.\n\n"
"angle parameter to its fidelity, or by a single float. These "
"parameters will be used to return the optimal decomposition of each "
"TK2 gate, taking noise into consideration.\n\n"
"Using the `allow_swaps=True` (default) option, qubits will be "
"swapped when convenient to reduce the two-qubit gate count of the "
"decomposed TK2.\n\n"
Expand Down
12 changes: 12 additions & 0 deletions pytket/binders/unitid.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -119,6 +119,10 @@ PYBIND11_MODULE(unit_id, m) {
"``UnitType.bit``");

py::class_<Qubit, UnitID>(m, "Qubit", "A handle to a qubit")
.def("__copy__", [](const Qubit &id) { return Qubit(id); })
.def(
"__deepcopy__",
[](const Qubit &id, const py::dict &) { return Qubit(id); })
.def(
py::init<unsigned>(),
"Constructs an id for some index in the default qubit "
Expand Down Expand Up @@ -172,6 +176,10 @@ PYBIND11_MODULE(unit_id, m) {
"list representation of the Qubit.");

py::class_<Bit, UnitID>(m, "Bit", "A handle to a bit")
.def("__copy__", [](const Bit &id) { return Bit(id); })
.def(
"__deepcopy__",
[](const Bit &id, const py::dict &) { return Bit(id); })
.def(
py::init<unsigned>(),
"Constructs an id for some index in the default classical "
Expand Down Expand Up @@ -226,6 +234,10 @@ PYBIND11_MODULE(unit_id, m) {
"list representation of the Bit.");

py::class_<Node, Qubit>(m, "Node", "A handle to a device node")
.def("__copy__", [](const Node &id) { return Node(id); })
.def(
"__deepcopy__",
[](const Node &id, const py::dict &) { return Node(id); })
.def(
py::init<unsigned>(),
"Constructs an id for some index in the default physical "
Expand Down
8 changes: 4 additions & 4 deletions pytket/conanfile.py
Original file line number Diff line number Diff line change
Expand Up @@ -32,14 +32,14 @@ def package(self):
cmake.install()

def requirements(self):
self.requires("tket/1.3.17@tket/stable")
self.requires("tket/1.3.23@tket/stable")
self.requires("tklog/0.3.3@tket/stable")
self.requires("tkrng/0.3.3@tket/stable")
self.requires("tkassert/0.3.4@tket/stable")
self.requires("tkwsm/0.3.8@tket/stable")
self.requires("tktokenswap/0.3.8@tket/stable")
self.requires("tkwsm/0.3.9@tket/stable")
self.requires("tktokenswap/0.3.9@tket/stable")
self.requires("symengine/0.12.0")
self.requires("gmp/6.3.0")
self.requires("pybind11/2.13.1")
self.requires("pybind11/2.13.5")
self.requires("nlohmann_json/3.11.3")
self.requires("pybind11_json/0.2.14")
Loading

0 comments on commit a707768

Please sign in to comment.