Assuming the prerequisite tools and configuration described in the top-level
README, to build tket with the required configuration (from the root directory
of the repo):
conan create tket --user=tket --channel=stable --build=missing -o "boost/*":header_only=True -o "tklog/*":shared=True -o "tket/*":shared=True -tf ""There is a known
issue with using
pybind11 from the conan-center that can lead to a Python crash when
importing pytket. To remedy this, pybind11 must be installed from the local
recipe:
conan remove -c "pybind11/*"
conan create recipes/pybind11It is also currently necessary to use the local pybind11_json recipe, since
the recipe on the conan-center is not yet compatible with conan 2:
conan create recipes/pybind11_json/all --version=0.2.13Then build the pytket module:
cd pytket
pip install -e . -vThe Python tests require a few more packages. These can be installed with:
pip install -r tests/requirements.txtAnd then to run the Python tests:
cd tests
pytestTo generate a test coverage report:
pytest --hypothesis-seed=1 --cov=../pytket --cov-branch --cov-report=html --cov-report=xml:htmlcov/cov.xmlPython type stubs are generated from the pybind11 modules using mypy's stubgen. Changes to the
binding code under binders (or, in some cases, to tket itself) may require stub regeneration.
See stub_generation/README.md for more information.
It is possible to build pytket without using conan at all: see here for instructions.