-
Notifications
You must be signed in to change notification settings - Fork 4
/
setup.py
97 lines (87 loc) · 3.3 KB
/
setup.py
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
# PennyLane-Quantum Inspire Plugin
#
# Copyright 2023 QuTech Delft
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#!/usr/bin/env python3
from setuptools import setup
with open("pennylane_quantuminspire/_version.py", "r", encoding="utf-8") as f:
version = f.readlines()[-1].split()[-1].strip("\"'")
with open("README.rst", "r", encoding="utf-8") as fh:
long_description = fh.read()
requirements = [
"pennylane-qiskit>=0.36.0",
"quantuminspire>=2.3.0",
"qiskit>=1.0",
"qiskit_aer"
]
extra_requirements = {
'dev': ['pytest>=3.3.1', 'pytest-cov', 'pytest-mock', 'pytest-benchmark', 'pylint', 'mypy>=0.670', 'black',
'flaky'],
'rtd': ['docutils==0.20.1', 'ipykernel==6.25.2', 'jinja2==3.1.2', 'mthree==2.6.3', 'nbsphinx==0.9.3',
'pybind11==2.11.1', 'pygments==2.15.1', 'pygments-github-lexers==0.0.5', 'sphinxcontrib-bibtex==2.5.0',
'sphinx-automodapi==0.15.0', 'xanadu-sphinx-theme==0.5.0'],
}
devices_list = [
'quantuminspire.qi = pennylane_quantuminspire:QuantumInspireDevice',
]
converters_list = [
# 'cqasm = pennylane_quantuminspire:load_cqasm',
# 'cqasm_file = pennylane_quantuminspire:load_cqasm_from_file',
]
info = {
'name': 'pennylane-quantuminspire',
'version': version,
'author': 'QuTech',
'author_email': '[email protected]',
'maintainer': 'QuTech SDST',
'maintainer_email': '[email protected]',
'url': 'https://github.com/QuTech-Delft/pennylane-quantuminspire',
'license': 'Apache License 2.0',
'packages': [
'pennylane_quantuminspire'
],
'entry_points': {
'pennylane.plugins': devices_list,
'pennylane.io': converters_list
},
'description': 'PennyLane Plugin for Quantum Inspire',
'long_description': long_description,
'long_description_content_type': 'text/x-rst',
'provides': ["pennylane_quantuminspire"],
'install_requires': requirements,
'extras_require': extra_requirements,
'command_options': {
'build_sphinx': {
'version': ('setup.py', version),
'release': ('setup.py', version)}}
}
classifiers = [
"Development Status :: 4 - Beta",
"Environment :: Console",
"Intended Audience :: Science/Research",
"License :: OSI Approved :: Apache Software License",
"Natural Language :: English",
"Operating System :: POSIX",
"Operating System :: MacOS :: MacOS X",
"Operating System :: POSIX :: Linux",
"Operating System :: Microsoft :: Windows",
"Programming Language :: Python",
'Programming Language :: Python :: 3',
'Programming Language :: Python :: 3.9',
'Programming Language :: Python :: 3.10',
'Programming Language :: Python :: 3.11',
'Programming Language :: Python :: 3 :: Only',
"Topic :: Scientific/Engineering :: Physics"
]
setup(classifiers=classifiers, **info)