-
Notifications
You must be signed in to change notification settings - Fork 37
/
setup.py
96 lines (90 loc) · 3.47 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
# Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License"). You
# may not use this file except in compliance with the License. A copy of
# the License is located at
#
# http://aws.amazon.com/apache2.0/
#
# or in the "license" file accompanying this file. This file 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.
import platform
from setuptools import find_namespace_packages, setup
with open("README.rst", "r") as fh:
long_description = fh.read()
with open("src/braket/pennylane_plugin/_version.py") as f:
version = f.readlines()[-1].split()[-1].strip("\"'")
if platform.system() == "Darwin" and platform.machine() == "arm64":
TF_VERSION = "tensorflow-macos>=2.14.0,<2.15.0"
else:
TF_VERSION = "tensorflow>=2.14.0,<2.15.0"
setup(
name="amazon-braket-pennylane-plugin",
version=version,
license="Apache License 2.0",
python_requires=">= 3.8.2",
packages=find_namespace_packages(where="src", exclude=("test",)),
package_dir={"": "src"},
install_requires=[
"amazon-braket-sdk>=1.87.0",
"autoray>=0.6.11",
"pennylane>=0.34.0",
],
entry_points={
"pennylane.plugins": [
# List the short name of each device provided by
# the plugin, as well as the path to the Device class
# it corresponds to in the plugin. This allows
# the device to be imported automatically via the
# `pennylane.device` device loader.
"braket.aws.qubit = braket.pennylane_plugin:BraketAwsQubitDevice",
"braket.local.qubit = braket.pennylane_plugin:BraketLocalQubitDevice",
"braket.aws.ahs = braket.pennylane_plugin:BraketAwsAhsDevice",
"braket.local.ahs = braket.pennylane_plugin:BraketLocalAhsDevice",
]
},
extras_require={
"test": [
"autoray<0.7.0", # autoray.tensorflow_diag no longer works
"docutils>=0.19",
"flaky",
"pre-commit",
"pylint>=3.1.0",
"pytest",
"pytest-benchmark",
"pytest-cov",
"pytest-mock",
"pytest-rerunfailures",
"pytest-xdist",
"ruff",
"sphinx",
"sphinx-automodapi",
"sphinx-rtd-theme",
"sphinxcontrib-apidoc",
"tox",
"torch>2",
TF_VERSION,
]
},
url="https://github.com/amazon-braket/amazon-braket-pennylane-plugin-python",
author="Amazon Web Services",
description=(
"An open source framework for using Amazon Braket devices with the PennyLane"
" quantum machine learning library"
),
long_description=long_description,
long_description_content_type="text/x-rst",
keywords="Amazon AWS Quantum",
classifiers=[
"Development Status :: 5 - Production/Stable",
"Intended Audience :: Developers",
"Natural Language :: English",
"License :: OSI Approved :: Apache Software License",
"Programming Language :: Python",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
],
)