forked from oqc-community/qat
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathpyproject.toml
158 lines (141 loc) · 4.8 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
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
[tool.poetry]
name = "qat-compiler"
# This name has the -compiler suffix in order to use the poetry and twine tools to build and publish to PyPI
# witout having to manually adjust the dist file names.
version = "2.5.1"
description = "A low-level quantum compiler and runtime which facilitates executing quantum IRs."
readme = "README.rst"
documentation = "https://oqc-community.github.io/qat"
authors = [
"Hamid El Maazouz <[email protected]>",
"Harry Waring <[email protected]>",
"Jamie Friel <[email protected]>",
"John Dumbell <[email protected]>",
"Kajsa Eriksson Rosenqvist <[email protected]>",
"Norbert Deak <[email protected]>",
"Owen Arnold <[email protected]>",
"Benjamin Sach <[email protected]>",
"Daria Van Hende <[email protected]>",
"Luke Causer <[email protected]>"
]
packages = [
{ include = "qat", from = "src/" }
]
license = "BSD-3-Clause"
[tool.poetry.dependencies]
python = ">=3.10,<3.13"
numpy = ">=1.26.4"
networkx = ">=2.5"
matplotlib = "^3.3.2"
logging-config = "~=1.0.4"
qutip = ">=5.0.3"
toml = "^0.10.2"
openqasm3 = { version = "^1.0.0", extras = ["parser"] }
pytket = "^1.31.0"
qiskit = "~1.2.0"
qiskit-optimization = "^0.6.0"
qiskit-aer = "^0.15.0"
qiskit-algorithms = "^0.3.0"
qiskit-experiments = "^0.7.0"
scipy = ">=1.13.1"
pyqir = ">=0.8.0a1"
regex = ">=2022.6.2"
jsonpickle = ">=2.2.0"
qblox-instruments = "0.14.1"
lark-parser = "^0.12.0"
pydantic-settings = ">=2.5.2"
compiler-config = "0.1.0"
pydantic-extra-types = "^2.10.0"
semver = "^3.0.2"
frozendict = "^2.4.6"
[tool.poetry.group.dev.dependencies]
black = {extras = ["jupyter"], version = "^24.10.0"}
pip-audit = "^2.7.3"
coverage = ">=6.3.2"
pytest = "^8.3.2"
pytest-cov = ">=2.10.1"
pytest-mock = "^3.14.0"
autoflake = "^2.2.0"
isort = "^5.13.2"
docplex = "^2.21.207"
pre-commit = "^3.2.0"
pytest-benchmark = "^4.0.0"
jinja2 = "^3.1.4"
jupytext = "^1.16.4"
nbstripout = "^0.8.1"
[tool.poetry.group.licenses]
optional = true
[tool.poetry.group.licenses.dependencies]
pip-licenses = "^3.5.3"
[tool.poetry.group.release]
optional = true
[tool.poetry.group.release.dependencies]
twine = "^4.0.2"
[tool.poetry.group.docs]
optional = true
[tool.poetry.group.docs.dependencies]
sphinx = "^7.0.0"
sphinx-rtd-theme = { version = "^1.3.0", allow-prereleases = true }
sphinx-autodoc-typehints = "^1.24.0"
sphinx-paramlinks = "^0.6.0"
sphinx-multiversion = "^0.2.4"
[build-system]
requires = ["poetry-core>=1.0.0"]
build-backend = "poetry.core.masonry.api"
[tool.autoflake]
remove-all-unused-imports = true
ignore-init-module-imports = true
ignore-pass-after-docstring = true
in-place = true
recursive = true
[tool.isort]
py_version = 39
profile = "black"
line_length = 92
known_first_party = ["qat"]
known_local_folder = ["tests", "benchmarks"]
[tool.black]
line-length = 92
target-version = ["py310", "py311", "py312"]
[tool.pytest.ini_options]
addopts = [
"--import-mode=importlib", "--doctest-modules"
]
testpaths = ['src', 'tests']
filterwarnings = [
# Set warnings to raise errors in pytest runs.
"error",
# Specific warnings can be set to be handled differently if needed,
# E.g.:
# "default::DeprecationWarning", to show Deprecation Warnings
# "ignore:::qutip", to ignore warnings raised from the qutip package
# see more options: https://docs.pytest.org/en/7.1.x/how-to/capture-warnings.html
#
# Temporary default for pre-existing issues. Tickets exist for addressing these:
# TODO: Watch Qiskit BasicSimulator file for update to the new run flow.
'default:.*qiskit\.compiler\.assembler\.assemble:DeprecationWarning:qat.purr.integrations.qiskit',
# Qiskit Experiment using deprecated version of PulseBackendConfiguration
'default:.*qiskit\.providers\.models:DeprecationWarning:qiskit_experiments.framework.backend_data',
# Qiskit IBM Experiment package using an old pkg_resources version
'default:.*pkg_resources:DeprecationWarning:qiskit_ibm_experiment.client.session',
# Lark using deprecated version on sre_parse and sre_constants
'default:.*sre_[parse|constants]:DeprecationWarning:lark.utils',
# DOcplex using deprecated escape sequence
'default:.*invalid escape sequence:SyntaxWarning::1092',
'default:.*invalid escape sequence:DeprecationWarning::1092',
# The GlobalisePhasedX pass is unreliable and deprecated. Ticket added to resolve
'default:.*GlobalisePhasedX:DeprecationWarning'
]
markers = [
"ab_test",
]
[tool.poetry.scripts]
format-code = "scripts.poetry_scripts:format_code"
[[tool.poetry.source]]
name = "PyPI"
priority = "primary"
[tool.jupytext.formats]
"notebooks/ipynb/" = "ipynb"
"notebooks/scripts/" = "py:percent"
[tool.jupytext]
notebook_metadata_filter = "-kernelspec"