https://github.com/zerothi/sisl
Tip revision: 36f9f65a34a5092c1ee2c460e4810d00edf531e2 authored by Nick Papior on 11 November 2022, 08:01:05 UTC
rel: bumped rc
rel: bumped rc
Tip revision: 36f9f65
pyproject.toml
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at https://mozilla.org/MPL/2.0/.
# Regarding pyproject.toml see
# - PEP 517 project metadata https://www.python.org/dev/peps/pep-0517
# - PEP 518 project metadata https://www.python.org/dev/peps/pep-0518
# - PEP 621 project metadata https://www.python.org/dev/peps/pep-0621
# First we define the build-system which we will probably alter the most
[build-system]
# TODO update this together with setup.cfg
requires = [
"wheel",
"setuptools>=46.0",
"setuptools_scm>=6.2",
"Cython>=0.28",
# see https://github.com/scipy/oldest-supported-numpy/
# should fix #310
"oldest-supported-numpy; sys_platform != 'win32'",
# TODO work-arounds for windows installations where -mno-cygwin is passed
"numpy==1.19.5 ; sys_platform == 'win32' and python_version <= '3.9'",
"numpy==1.21.5 ; sys_platform == 'win32' and python_version >= '3.10'",
]
build-backend = "setuptools.build_meta"
# Top most items are probably changed the most
[project]
requires-python = ">=3.7"
dependencies = [
# TODO work-arounds for windows installations
"numpy>=1.19.5 ; sys_platform == 'win32' and python_version <= '3.9'",
"numpy>=1.21.5 ; sys_platform == 'win32' and python_version >= '3.10'",
"numpy>=1.13 ; sys_platform != 'win32'",
"scipy>=0.18",
"netCDF4",
"pyparsing>=1.5.7"
]
name = "sisl"
description = "Manipulation of DFT output, geometries and creating tight-binding parameter sets for NEGF transport"
readme = "README.md"
license = {text = "MPL-2.0"}
keywords = ["tight-binding", "DFT", "LCAO", "NEGF", "physics"]
authors = [
{name = "Nick Papior", email = "nickpapior@gmail.com"}
]
maintainers = [{name="sisl developers"}]
classifiers = [
"Development Status :: 5 - Production/Stable",
"Environment :: Console",
"Intended Audience :: Science/Research",
"License :: OSI Approved :: Mozilla Public License 2.0 (MPL 2.0)",
"Operating System :: OS Independent",
"Programming Language :: Python",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.7",
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Cython",
"Topic :: Scientific/Engineering",
"Topic :: Scientific/Engineering :: Physics",
"Topic :: Utilities"
]
# We purposefully get the version dynamically
dynamic = ["version"]
[project.scripts]
sgeom = "sisl.geometry:sgeom"
sgrid = "sisl.grid:sgrid"
sdata = "sisl.utils._sisl_cmd:sisl_cmd"
stoolbox = "sisl_toolbox.cli:stoolbox_cli"
[project.urls]
Homepage = "https://zerothi.github.io/sisl"
Releases = "https://github.com/zerothi/sisl/releases"
Documentation = "https://zerothi.github.io/sisl"
Repository = "https://github.com/zerothi/sisl"
Source = "https://github.com/zerothi/sisl"
[project.optional-dependencies]
analysis = [
"xarray >= 0.10.0",
"tqdm"
]
viz = [
"dill >= 0.3.2",
"pathos",
"pandas",
"xarray >= 0.10.0",
"scikit-image",
"plotly",
"matplotlib",
"ase",
]
viz-plotly = [
"dill >= 0.3.2",
"pathos",
"pandas",
"xarray >= 0.10.0",
"scikit-image",
"plotly",
]
viz-matplotlib = [
"dill >= 0.3.2",
"pathos",
"pandas",
"xarray >= 0.10.0",
"scikit-image",
"matplotlib",
]
viz-blender = [
"dill >= 0.3.2",
"pathos",
"pandas",
"xarray >= 0.10.0",
"scikit-image",
]
viz-ase = [
"dill >= 0.3.2",
"pathos",
"pandas",
"xarray >= 0.10.0",
"scikit-image",
"ase",
]
test = [
"pytest",
"pytest-cov",
"pytest-env",
"pytest-faulthandler",
"coveralls",
"tqdm",
"dill >= 0.3.2",
"pathos",
"pandas",
"xarray >= 0.10.0",
"scikit-image",
"matplotlib",
"plotly",
"ase"
]
[tool.pytest.ini_options]
testpaths = [
"sisl"
]
markers = [
"slow: mark a test as slow",
]
addopts = "-rXs --durations=20"
[tool.pylint]
[tool.pylint.master]
jobs = 6
ignore-paths = [
".*/tests/.*.py"
]
ignore-patterns = [
"conftest.py",
# This is autogenerated, but may be present
"_version.py"
]
# Do not create false-positives for Cython extensions
extension-pkg-allow-list = [
"sisl._math_small",
"sisl._indices",
"sisl._supercell",
"sisl.io.siesta._siesta",
"sisl.physics._bloch",
"sisl.physics._matrix_k",
"sisl.physics._matrix_dk",
"sisl.physics._matrix_ddk",
# external packages required
"numpy",
"scipy"
]
[tool.pylint.format]
# Currently no formatting rules
[tool.pylint.messages_control]
max-line-length = 110
disable = [
"invalid-name",
"missing-module-docstring",
"redefined-builtin"
]
[tool.tox]
legacy_tox_ini = """
[tox]
minversion = 3.3.0
envlist = py37,py38,py39
isolated_build = True
[testenv]
setenv =
SISL_NUM_PROCS=1
SISL_VIZ_NUM_PROCS=1
deps = -rdocs/requirements.txt
commands = pytest -s -rXs {posargs}
"""
[tool.setuptools_scm]
write_to = "sisl/_version.py"
fallback_version = "0.0.0.dev+$Format:%H$"
# Options for cibuildwheel
[tool.cibuildwheel]
build-verbosity = "3"
test-extras = "test"
# Instead of running pytest directly, we use a bash script that will set up
# the appropiate value for the SISL_FILES_TEST variable, a path pointing to
# the sisl-files directory, which contains files for testing.
test-command = "bash {project}/tools/build_tools/test_wheel.sh {project}"
[tool.cibuildwheel.macos]
# This is to allow building cross compilation of arm64 in macosx_x86_64
archs = ["x86_64", "universal2", "arm64"]
[tool.cibuildwheel.windows]
# Use delvewheel on windows to gather all dll files.
before-build = "pip install delvewheel"
repair-wheel-command = "delvewheel repair --no-mangle-all --ignore-in-wheel -w {dest_dir} {wheel}"