-
Notifications
You must be signed in to change notification settings - Fork 17
/
Copy pathpyproject.toml
121 lines (105 loc) · 3.03 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
[build-system]
requires = ["poetry-core>=1.0.0"]
build-backend = "poetry.core.masonry.api"
[tool.poetry]
name = "qibolab"
version = "0.2.3"
description = "Quantum hardware module and drivers for Qibo"
authors = ["The Qibo team"]
license = "Apache License 2.0"
readme = "README.md"
homepage = "https://qibo.science/"
repository = "https://github.com/qiboteam/qibolab/"
documentation = "https://qibo.science/docs/qibolab/stable"
keywords = []
classifiers = [
"Programming Language :: Python :: 3",
"Topic :: Scientific/Engineering :: Physics",
]
packages = [{ include = "qibolab", from = "src" }]
include = ["*.out", "*.yml"]
[tool.poetry.dependencies]
python = ">=3.9,<3.13"
qibo = "^0.2.8"
numpy = "^1.26.4"
scipy = "^1.13.0"
pydantic = "^2.6.4"
qblox-instruments = { version = "0.12.0", optional = true }
qcodes = { version = "^0.37.0", optional = true }
qcodes_contrib_drivers = { version = "0.18.0", optional = true }
pyvisa-py = { version = "0.5.3", optional = true }
qm-qua = { version = "==1.2.1", optional = true }
laboneq = { version = "==2.25.0", optional = true }
qibosoq = { version = ">=0.1.2,<0.2", python = "<3.12", optional = true }
qutip = { version = "^5.0.2", optional = true }
pyyaml = { version = "^6.0.2", 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 = "^2023.3.27"
recommonmark = "^0.7.1"
sphinxcontrib-bibtex = "^2.5.0"
sphinx-markdown-tables = "^0.0.17"
nbsphinx = "^0.9.1"
ipython = "^8.12.0"
sphinx-copybutton = "^0.5.1"
# extras
qblox-instruments = "0.12.0"
qcodes = "^0.37.0"
qcodes_contrib_drivers = "0.18.0"
qibosoq = { version = "^0.1.2", python = "<3.12" }
laboneq = "==2.25.0"
qutip = "^5.0.2"
[tool.poetry.group.tests]
optional = true
[tool.poetry.group.tests.dependencies]
pytest = ">=7.2.2"
pytest-cov = "^4.0.0"
pytest-env = ">=0.8.1"
pytest-mock = ">=3.10.0"
[tool.poetry.group.analysis]
optional = true
[tool.poetry.group.analysis.dependencies]
ruff = "^0.9.1"
[tool.poetry.extras]
qblox = ["qblox-instruments", "qcodes", "qcodes_contrib_drivers", "pyvisa-py"]
qm = ["qm-qua"]
zh = ["laboneq"]
rfsoc = ["qibosoq"]
los = ["qcodes", "qcodes_contrib_drivers", "pyvisa-py"]
twpa = ["qcodes", "qcodes_contrib_drivers", "pyvisa-py"]
emulator = ["qutip"]
bluefors = ["pyyaml"]
[tool.poe.tasks]
test = "pytest"
lint = "ruff check"
lint-warnings = """
ruff check --exit-zero \
--select F,E,W,C90,N,UP,BLE,FBT,B,A,C4,T10,EM,EXE,ISC,ICN,LOG,G,INP,PIE,T20,PT,Q,RSE,\
RET,SLF,SLOT,SIM,TC,INT,ARG,PTH,ERA,NPY,PERF,RUF
"""
types = "true"
docs = "make -C doc html"
docs-clean = "make -C doc clean"
test-docs = "make -C doc doctest"
[tool.pytest.ini_options]
testpaths = ['tests/']
markers = ["qpu: mark tests that require qpu"]
addopts = [
'--cov=qibolab',
'--cov-report=xml',
'--cov-report=html',
'-m not qpu',
'-k not emulator',
]
[tool.ruff.lint.per-file-ignores]
"__init__.py" = ["F403"]
[tool.pycln]
all = true
exclude = "__init__.py"