# SPDX-FileCopyrightText: Copyright 2023 Arm Limited and/or its affiliates <open-source-office@arm.com>
#
# SPDX-License-Identifier: Apache-2.0
#
# 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
#
# 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.

[project]
name = "ethos-u-vela"
description = "Neural network model compiler for Arm Ethos-U NPUs"
requires-python = "~=3.8"
authors = [{name = "Arm Ltd", email = "mlg-vela@arm.com"}]
license = {text= "Apache License 2.0"}
classifiers = [
    "Development Status :: 5 - Production/Stable",
    "Intended Audience :: Developers",
    "License :: OSI Approved :: Apache Software License",
    "Operating System :: POSIX :: Linux",
    "Operating System :: Microsoft :: Windows :: Windows 10",
    "Programming Language :: C",
    "Programming Language :: Python :: 3",
    "Programming Language :: Python :: 3.10",
    "Topic :: Scientific/Engineering :: Artificial Intelligence",
    "Topic :: Software Development :: Compilers",
]
keywords = ["ethos-u", "vela compiler", "tflite", "npu"]
dependencies = [
    "flatbuffers==2.0.7",
    "numpy<=1.21.3; python_version<='3.7'",
    "numpy; python_version>'3.7'",
    "lxml>=4.5.2"
]
dynamic = ["readme", "version"]

[project.optional-dependencies]
dev = [
    "pytest",
    "pytest-cov",
    "pre-commit",
    "build",
    "setuptools_scm[toml]~=7.1.0"
]

[project.urls]
Homepage = "https://git.mlplatform.org/ml/ethos-u/ethos-u-vela.git/"

[project.scripts]
vela = "ethosu.vela.vela:main"

[build-system]
requires = [
    "numpy<=1.21.3; python_version<='3.7'",
    "numpy; python_version>'3.7'",
    "setuptools_scm[toml]~=7.1.0"
]
build-backend = "setuptools.build_meta"

[tool.pytest.ini_options]
minversion = "6.0"
addopts = ["-ra", "--showlocals", "--strict-markers", "--strict-config"]
xfail_strict = true
filterwarnings = ["error"]
testpaths = ["ethosu/mlw_codec/test", "ethosu/vela/test"]