#  Copyright (C) 2023 Xilinx, Inc
#
#  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
#
#      http://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 = "logicnets"
description = "Co-Designed Neural Networks and Circuits for Extreme-Throughput Applications"
authors = [
    { name = "Nicholas J. Fraser", email = "nicholas.fraser@amd.com" },
]
classifiers = [
    "Development Status :: 3 - Alpha",
    "Programming Language :: Python :: 3",
    "License :: OSI Approved :: Apache Software License",
]
dependencies = [
    "torch",
    "brevitas",
]
dynamic = ["version"]

[project.optional-dependencies]
simulate = [ # Install dependencies required for functional simulation of generated verilog
    "pyverilator",
]
example-jsc = [ # Install dependencies for jet_substructure example
    "logicnets[simulate]",
    "h5py",
    "pyyaml<6.0",
    "numpy",
    "pandas",
    "scikit-learn",
    "tensorboard",
]
example-nid = [ # Install dependencies for cybersecurity example
    "logicnets[simulate]",
    "numpy",
    "tensorboard",
]
example-all = [ # Install dependencies for all examples, if possible
    "logicnets[example-jsc, example-nid]",
]

[build-system]
requires = [
    "setuptools >= 61.0.0",
    "wheel",
    "setuptools_scm[toml]>=6.2"
]
build.backend = "setuptools.build_meta"

[tool.setuptools_scm]