forked from qiboteam/qibo
-
Notifications
You must be signed in to change notification settings - Fork 0
/
pyproject.toml
126 lines (107 loc) · 3.1 KB
/
pyproject.toml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
[build-system]
requires = ["poetry-core>=1.0.0"]
build-backend = "poetry.core.masonry.api"
[tool.poetry]
name = "qibo"
version = "0.2.8"
description = "A framework for quantum computing with hardware acceleration."
authors = ["The Qibo team"]
license = "Apache License 2.0"
readme = "README.md"
homepage = "https://qibo.science/"
repository = "https://github.com/qiboteam/qibo/"
documentation = "https://qibo.science/docs/qibo/stable"
keywords = []
classifiers = [
"Programming Language :: Python :: 3",
"Topic :: Scientific/Engineering :: Physics",
]
packages = [{ include = "qibo", from = "src" }]
include = ["*.out", "*.yml"]
[tool.poetry.dependencies]
python = ">=3.9,<3.13"
scipy = "^1.10.1"
sympy = "^1.11.1"
cma = "^3.3.0"
joblib = "^1.2.0"
hyperopt = "^0.2.7"
# `setuptools` is only required because undeclared by `hyperopt`
setuptools = "^69.1.1"
tabulate = "^0.9.0"
openqasm3 = { version = ">=0.5.0", extras = ["parser"] }
numpy = "^1.26.4"
networkx = "^3.2.1"
tensorflow = { version = "^2.16.1", markers = "sys_platform == 'linux' or sys_platform == 'darwin'", optional = true }
torch = { version = "^2.1.1", optional = true }
[tool.poetry.group.dev]
optional = true
[tool.poetry.group.dev.dependencies]
pdbpp = "^0.10.3"
ipython = "^8.12.0"
[tool.poetry.group.docs]
optional = true
[tool.poetry.group.docs.dependencies]
sphinx = "^6.1.3"
furo = "^2022.12.7"
recommonmark = "^0.7.1"
sphinxcontrib-bibtex = "^2.5.0"
sphinx-markdown-tables = "^0.0.17"
sphinx-copybutton = "^0.5.2"
nbsphinx = "^0.8.12"
ipython = "^8.10.0"
[tool.poetry.group.tests]
optional = true
[tool.poetry.group.tests.dependencies]
pytest = "^7.2.1"
cirq = "^1.1.0"
ply = "^3.11"
scikit-learn = "^1.2.1"
pytest-cov = "^4.0.0"
pylint = "^3.1.0"
matplotlib = "^3.7.0"
tensorflow = { version = "^2.16.1", markers = "sys_platform == 'linux'" }
torch = "^2.1.1"
qibojit = { git = "https://github.com/qiboteam/qibojit.git" }
qibotn = { git = "https://github.com/qiboteam/qibotn.git" }
stim = "^1.12.0"
[tool.poe.tasks]
test = "pytest"
lint = "pylint src --errors-only"
lint-warnings = "pylint src --exit-zero"
docs = "make -C doc html"
docs-clean = "make -C doc clean"
test-docs = "make -C doc doctest"
[tool.poetry.group.cuda11]
optional = true
[tool.poetry.group.cuda11.dependencies]
cupy-cuda11x = "^12.0.0"
cuquantum-python-cu11 = "^23.3.0"
qibojit = { git = "https://github.com/qiboteam/qibojit.git" }
qibotn = { git = "https://github.com/qiboteam/qibotn.git" }
[tool.poetry.group.cuda12]
optional = true
[tool.poetry.group.cuda12.dependencies]
cupy-cuda12x = "^12.0.0"
cuquantum-python-cu12 = "^23.3.0"
qibojit = { git = "https://github.com/qiboteam/qibojit.git" }
qibotn = { git = "https://github.com/qiboteam/qibotn.git" }
[tool.poetry.extras]
tensorflow = ["tensorflow"]
torch = ["torch"]
qinfo = ["stim"]
[tool.pylint.main]
ignored-modules = ["cvxpy"]
[tool.pylint.reports]
output-format = "colorized"
[tool.coverage.run]
omit = ["src/qibo/noise_model.py"]
[tool.pytest.ini_options]
testpaths = ['tests/']
filterwarnings = ['ignore::RuntimeWarning']
addopts = [
'--cov=qibo',
'--cov-append',
'--cov-report=xml',
'--cov-report=html',
'--durations=60',
]