[tool.black]
line-length = 119
include = '\.pyi?$'
exclude = '''
(
__pycache__
| \btutorials\b
| \bbuild\b
| \.git
| \.mypy_cache
| \.pytest_cache
| \.vscode
| \.venv
| \bdist\b
| \bdoc\b
)
'''
[build-system]
requires = ["scikit-build-core"]
build-backend = "scikit_build_core.build"
# TODO: re-enable if/when scikit-core can support
# [tool.setuptools.dynamic]
# version = { attr = "arrayfire_wrapper.__version__" }
# dynamic = ["version"]
[project]
name = "arrayfire-binary-python-wrapper"
version = "0.8.0"
requires-python = ">=3.10"
authors = [
{ name = "ArrayFire", email = "technical@arrayfire.com"},
{ name = "Anton Chernyatevich", email = "chernyatevich.a@gmail.com" },
]
maintainers = [{ name = "ArrayFire", email = "technical@arrayfire.com" }]
description = "ArrayFire Python Wrapper"
readme = "README.md"
license = { file = "LICENSE" }
keywords = [
"arrayfire",
"c",
"python",
"wrapper",
"parallel computing",
"gpu",
"cpu",
"opencl",
"oneapi",
]
classifiers = [
"Intended Audience :: Science/Research",
"Intended Audience :: Developers",
"Development Status :: 4 - Beta",
"License :: OSI Approved :: BSD License",
"Programming Language :: Python",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.10",
"Topic :: Scientific/Engineering",
"Topic :: Scientific/Engineering :: Artificial Intelligence",
"Topic :: Scientific/Engineering :: Information Analysis",
"Topic :: Scientific/Engineering :: Mathematics",
"Topic :: Software Development :: Libraries",
]
[project.urls]
Website = "http://arrayfire.com"
"General Documentation" = "https://arrayfire.org/docs/index.htm"
#TODO: Documentation, Repository
[tool.scikit-build]
# The build directory. Defaults to a temporary directory, but can be set.
build-dir = "build"
[tool.scikit-build.wheel]
py-api = "py3"
packages = ["arrayfire_wrapper"]
expand-macos-universal-tags = true
exclude = [
"libaf.so",
"libaf.so.3.10.0",
"libafcpu.so",
"libafcpu.so.3.10.0",
"libafopencl.so",
"libafopencl.so.3.10.0",
"libafcuda.so",
"libafcuda.so.3.10.0",
"libafoneapi.so",
"libafoneapi.so.3.10.0",
"libforge.so",
"libforge.so.1.0.8",
"libmkl_core.so",
"libmkl_rt.so",
"libmkl_intel_thread.so",
"libmkl_intel_lp64.so",
]
[tool.scikit-build.cmake]
build-type = "Release" # not working for whatever reason, duplicated below TODO: fix
[tool.scikit-build.cmake.define]
# edit to enable/disable building of desired backends
AF_BUILD_CPU = "ON"
#AF_BUILD_ONEAPI = "ON"
#AF_BUILD_CUDA = "ON"
#AF_BUILD_OPENCL = "ON"
AF_BUILD_UNIFIED = "ON"
AF_BUILD_DOCS = "OFF"
CMAKE_BUILD_TYPE = "Release"
AF_BUILD_EXAMPLES = "OFF"
#AF_WITH_IMAGEIO = "ON"
AF_WITH_LOGGING = "ON"
AF_WITH_FMT_HEADER_ONLY = "ON"
AF_WITH_SPDLOG_HEADER_ONLY = "ON"
AF_TEST_WITH_MTX_FILES = "OFF"
AF_INSTALL_STANDALONE = "ON"
#AF_COMPUTE_LIBRARY = "Intel-MKL"
#AF_ADDITIONAL_MKL_LIBRARIES = ""
#AF_WITH_STATIC_CUDA_NUMERIC_LIBS = "OFF"
#CUDA_architecture_build_targets = "5.0;5.2;6.0;6.1;7.0;7.5;8.0;8.6;8.9;9.0;9.0+PTX"
#AF_BUILD_FORGE = "ON"
#FG_USE_STATIC_CPPFLAGS:BOOL = "OFF"
#FG_WITH_FREEIMAGE = "OFF"
#_GLIBCXX_USE_CXX11_ABI = "1"
[tool.scikit-build.logging]
level = "INFO"