[build-system] build-backend = "setuptools.build_meta" requires = [ # TODO: keep in sync with [project.dependencies] "wheel>=0.43", "build>=1.1", "setuptools>=63.0.0", "scikit-build>=0.17.0", "ninja>=1.11.1; platform_system!='Windows'", "cmake>=3.29.0", "cython>=3.0.10", "numpy >=1.23", # WARNING: check with doc how to upgrade "versioneer[toml]==0.29" ] [project] authors = [{name = "Intel Corporation"}] classifiers = [ "Development Status :: 4 - Beta", "Intended Audience :: Science/Research", "Intended Audience :: Developers", "Programming Language :: C", "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", "Programming Language :: Python :: 3.14", "Programming Language :: Python :: Implementation :: CPython", "Topic :: Software Development", "Topic :: Scientific/Engineering", "Operating System :: Microsoft :: Windows", "Operating System :: POSIX :: Linux", "Operating System :: POSIX", "Operating System :: Unix" ] dependencies = [ # TODO: keep in sync with [build-system.requires] and /conda-recipe/meta.yaml # This restrictions are for dependabot, actual restrictions are set with # conda. # TODO: populate it during build process # TODO: do we have to set sycl runtime dependencies here # "dpcpp-cpp-rt>=0.59.0", # "intel-cmplr-lib-rt>=0.59.0" "numpy>=1.23.0" ] description = "A lightweight Python wrapper for a subset of SYCL." dynamic = ["version"] keywords = [ "dpctl", "intel", "oneapi", "dpcpp" ] license = "Apache-2.0" name = "dpctl" readme = {file = "README.md", content-type = "text/markdown"} requires-python = ">=3.11" [project.optional-dependencies] coverage = ["Cython", "pytest", "pytest-cov", "coverage", "tomli"] docs = [ "Cython", "graphviz", "pydot", "furo", "sphinx", "sphinx-copybutton", "sphinx-design", "sphinxcontrib-googleanalytics", "sphinxcontrib-jsmath", "sphinxcontrib-programoutput", "sphinxcontrib-spelling" ] [project.urls] Changelog = "https://github.com/IntelPython/dpctl/blob/master/CHANGELOG.md" Documentation = "https://intelpython.github.io/dpctl/" Homepage = "https://github.com/IntelPython/dpctl" Issues = "https://github.com/IntelPython/dpctl/issues" Repository = "https://github.com/IntelPython/dpctl.git" [tool.black] exclude = "dpctl/_version.py" line-length = 80 [tool.coverage.report] omit = [ "dpctl/tests/*", "dpctl/_version.py", "*/_cython_api*/stringsource" ] [tool.coverage.run] branch = true omit = [ "dpctl/tests/*", "dpctl/_version.py", "*/_cython_api*/stringsource" ] plugins = [ "Cython.Coverage" ] source = [ "dpctl" ] [tool.cython-lint] max-line-length = 80 [tool.isort] ensure_newline_before_comments = true force_grid_wrap = 0 include_trailing_comma = true line_length = 80 multi_line_output = 3 skip = ["dpctl/_version.py"] use_parentheses = true [tool.pytest.ini.options] addopts = [ "--junitxml=junit.xml", "--ignore setup.py", "--ignore run_test.py", "--cov-report term-missing", "--tb native", "--strict", "--durations=20", "-q -ra" ] markers = [ "broken_complex: mark a test that is skipped due to complex implementation issues in DPC++ compiler" ] minversion = "6.0" norecursedirs = [ ".*", "*.egg*", "build", "dist", "conda-recipe" ] [tool.versioneer] VCS = "git" parentdir_prefix = "dpctl-" style = "pep440" versionfile_build = "dpctl/_version.py" versionfile_source = "dpctl/_version.py"