Tim Hall | 79d07d2 | 2020-04-27 18:20:16 +0100 | [diff] [blame] | 1 | # Copyright (C) 2020 Arm Limited or its affiliates. All rights reserved. |
| 2 | # |
| 3 | # SPDX-License-Identifier: Apache-2.0 |
| 4 | # |
| 5 | # Licensed under the Apache License, Version 2.0 (the License); you may |
| 6 | # not use this file except in compliance with the License. |
| 7 | # You may obtain a copy of the License at |
| 8 | # |
| 9 | # www.apache.org/licenses/LICENSE-2.0 |
| 10 | # |
| 11 | # Unless required by applicable law or agreed to in writing, software |
| 12 | # distributed under the License is distributed on an AS IS BASIS, WITHOUT |
| 13 | # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| 14 | # See the License for the specific language governing permissions and |
| 15 | # limitations under the License. |
Tim Hall | 79d07d2 | 2020-04-27 18:20:16 +0100 | [diff] [blame] | 16 | # Description: |
| 17 | # Packaging for the Vela compiler |
Michael McGeagh | 1e05afa | 2020-12-03 13:08:32 +0000 | [diff] [blame] | 18 | import os |
Michael McGeagh | 3adc1e4 | 2020-11-25 14:23:08 +0000 | [diff] [blame] | 19 | import re |
Diego Russo | e8a1045 | 2020-04-21 17:39:10 +0100 | [diff] [blame] | 20 | |
Mauricio Briceno | 67e11f7 | 2021-05-05 12:47:28 +0200 | [diff] [blame] | 21 | import numpy as np |
Diego Russo | e8a1045 | 2020-04-21 17:39:10 +0100 | [diff] [blame] | 22 | from setuptools import Extension |
| 23 | from setuptools import find_namespace_packages |
| 24 | from setuptools import setup |
Tim Hall | 79d07d2 | 2020-04-27 18:20:16 +0100 | [diff] [blame] | 25 | |
| 26 | # Read the contents of README.md file |
Michael McGeagh | 1e05afa | 2020-12-03 13:08:32 +0000 | [diff] [blame] | 27 | this_directory = os.path.abspath(os.path.dirname(__file__)) |
| 28 | with open(os.path.join(this_directory, "README.md"), encoding="utf-8") as f: |
Tim Hall | 79d07d2 | 2020-04-27 18:20:16 +0100 | [diff] [blame] | 29 | long_description = f.read() |
Tim Hall | 41c006a | 2021-03-01 14:04:05 +0000 | [diff] [blame] | 30 | tag = "2.1.1" |
Michael McGeagh | 3adc1e4 | 2020-11-25 14:23:08 +0000 | [diff] [blame] | 31 | url = f"https://review.mlplatform.org/plugins/gitiles/ml/ethos-u/ethos-u-vela/+/refs/tags/{tag}/" |
Michael McGeagh | 1e05afa | 2020-12-03 13:08:32 +0000 | [diff] [blame] | 32 | # Find all markdown links that match the format: [text](link) |
| 33 | for match, link in re.findall(r"(\[.+?\]\((.+?)\))", long_description): |
| 34 | # If the link is a file that exists, replace it with the web link to the file instead |
| 35 | if os.path.exists(os.path.join(this_directory, link)): |
| 36 | url_link = match.replace(link, url + link) |
| 37 | long_description = long_description.replace(match, url_link) |
| 38 | if os.getenv("ETHOSU_VELA_DEBUG"): |
| 39 | # Verify the contents of the modifications made in a markdown renderer |
| 40 | with open(os.path.join(this_directory, "PYPI.md"), "wt", encoding="utf-8") as fout: |
| 41 | fout.write(long_description) |
Tim Hall | 79d07d2 | 2020-04-27 18:20:16 +0100 | [diff] [blame] | 42 | |
| 43 | mlw_module = Extension( |
| 44 | "ethosu.mlw_codec", |
| 45 | ["ethosu/mlw_codec/mlw_encode.c", "ethosu/mlw_codec/mlw_decode.c", "ethosu/mlw_codec/mlw_codecmodule.c"], |
Mauricio Briceno | 67e11f7 | 2021-05-05 12:47:28 +0200 | [diff] [blame] | 46 | include_dirs=[np.get_include()], |
Fredrik Svedberg | 93d5c35 | 2021-05-11 13:51:47 +0200 | [diff] [blame^] | 47 | define_macros=[("NPY_NO_DEPRECATED_API", "NPY_1_9_API_VERSION")], |
Tim Hall | 79d07d2 | 2020-04-27 18:20:16 +0100 | [diff] [blame] | 48 | ) |
| 49 | |
| 50 | setup( |
| 51 | name="ethos-u-vela", |
| 52 | use_scm_version=True, |
Tim Hall | d13bd06 | 2020-11-12 23:29:25 +0000 | [diff] [blame] | 53 | description="Neural network model compiler for Arm Ethos-U NPUs", |
Tim Hall | 79d07d2 | 2020-04-27 18:20:16 +0100 | [diff] [blame] | 54 | long_description=long_description, |
| 55 | long_description_content_type="text/markdown", |
| 56 | url="https://git.mlplatform.org/ml/ethos-u/ethos-u-vela.git/", |
| 57 | author="Arm Ltd.", |
| 58 | license="Apache License 2.0", |
| 59 | classifiers=[ |
Tim Hall | e76a533 | 2020-06-23 09:52:07 +0100 | [diff] [blame] | 60 | "Development Status :: 5 - Production/Stable", |
Tim Hall | 79d07d2 | 2020-04-27 18:20:16 +0100 | [diff] [blame] | 61 | "Intended Audience :: Developers", |
| 62 | "License :: OSI Approved :: Apache Software License", |
| 63 | "Operating System :: POSIX :: Linux", |
Tim Hall | 7562bdf | 2021-02-25 14:28:06 +0000 | [diff] [blame] | 64 | "Operating System :: Microsoft :: Windows :: Windows 10", |
Tim Hall | 79d07d2 | 2020-04-27 18:20:16 +0100 | [diff] [blame] | 65 | "Programming Language :: C", |
| 66 | "Programming Language :: Python :: 3", |
| 67 | "Programming Language :: Python :: 3.6", |
| 68 | "Programming Language :: Python :: 3.7", |
| 69 | "Programming Language :: Python :: 3.8", |
| 70 | "Topic :: Scientific/Engineering :: Artificial Intelligence", |
| 71 | "Topic :: Software Development :: Compilers", |
| 72 | ], |
| 73 | keywords=["ethos-u", "vela compiler", "tflite", "npu"], |
| 74 | packages=find_namespace_packages(include=["ethosu.*"]), |
| 75 | python_requires="~=3.6", # We support only 3.6+ |
Fredrik Svedberg | 5b51388 | 2020-12-11 13:42:22 +0100 | [diff] [blame] | 76 | install_requires=[ |
Tim Hall | 42abec1 | 2021-02-04 21:31:57 +0000 | [diff] [blame] | 77 | "flatbuffers==1.12.0", |
Fredrik Svedberg | 5b51388 | 2020-12-11 13:42:22 +0100 | [diff] [blame] | 78 | "numpy>=1.16.6", |
| 79 | "numpy>=1.16.6,<1.19.4 ; platform_system=='Windows'", |
| 80 | "lxml>=4.5.1", |
| 81 | ], |
Tim Hall | 79d07d2 | 2020-04-27 18:20:16 +0100 | [diff] [blame] | 82 | entry_points={"console_scripts": ["vela = ethosu.vela.vela:main"]}, |
Louis Verhaard | d700252 | 2021-01-20 17:23:54 +0100 | [diff] [blame] | 83 | ext_modules=[mlw_module], |
Tim Hall | 79d07d2 | 2020-04-27 18:20:16 +0100 | [diff] [blame] | 84 | setup_requires=["setuptools_scm"], |
| 85 | ) |