Commit 671706da authored by Zhang, Chen's avatar Zhang, Chen
Browse files

update build system to use toml only

parent ca61c845
Loading
Loading
Loading
Loading
+60 −7
Original line number Diff line number Diff line
[project]
name = "imars3d"
description = "Neutron imaging data analysis at ORNL"
dynamic = ["version"]
requires-python = ">=3.10"
license = { text = "BSD 3-Clause License" }

[project.urls]
homepage = "https://github.com/ornlneutronimaging/iMars3D"

[project.scripts]
imars3dcli = "imars3d.backend.__main__:main"

[build-system]
requires = ["setuptools >= 40.6.0", "wheel", "toml", "versioningit"]
requires = [
  "setuptools >= 40.6.0",
  "wheel",
  "toml",
  "versioningit"
]
build-backend = "setuptools.build_meta"

[tool.black]
@@ -7,7 +25,7 @@ line-length = 119

[tool.versioningit.vcs]
method = "git"
default-tag = "5.0.0"
default-tag = "1.0.0"

[tool.versioningit.next-version]
method = "minor"
@@ -20,13 +38,48 @@ distance-dirty = "{next_version}.dev{distance}+d{build_date:%Y%m%d%H%M}"
[tool.versioningit.write]
file = "src/imars3d/_version.py"

[tool.setuptools.packages.find]
where = ["src"]
exclude = ["tests*", "scripts*", "docs*", "notebooks*"]

[tool.setuptools.package-data]
"*" = ["*.yml", "*.yaml", "*.ini", "schema.json"]

[tool.pytest.ini_options]
pythonpath = [
  ".", "src", "scripts"
]
pythonpath = [".", "src", "scripts"]
testpaths = ["tests"]
python_files = ["test*.py"]
norecursedirs = [".git", "tmp*", "_tmp*", "__pycache__", "*dataset*", "*data_set*"]
markers = [
  "datarepo: mark a test as using imars3d-data repository"
markers = ["datarepo: mark a test as using imars3d-data repository"]

[tool.flake8]
ignore = "E203, E266, E501, E731, W503"
exclude = ["conda.recipe/meta.yaml"]
max-line-length = 120

[tool.pylint]
max-line-length = 120
disable = ["too-many-locals",
           "too-many-statements",
           "too-many-instance-attributes",
           "too-many-arguments",
           "duplicate-code"
]

[tool.coverage.run]
source = "src/imars3d"
omit = [
  "*/tests/*",
  "src/imars3d/__init__.py",
  "src/imars3d/ui/*"
]

[tool.coverage.report]
fail_under = 60
exclude_lines = [
  "pragma: no cover",
  "def __repr__",
  "def __str__",
  "if TYPE_CHECKING:",
  "if __name__ == .__main__.:"
]

setup.cfg

deleted100644 → 0
+0 −67
Original line number Diff line number Diff line
[metadata]
name = imars3d
version = 0.1.3
author = iMars3D and SCSE team
description = Neutron imaging data analysis at ORNL
keywords = Neutron imaging
long_description = file: README.md, LICENSE
license = BSD 3-Clause License
url = https://github.com/ornlneutronimaging/iMars3D
project_urls =
    Bug Tracker = https://github.com/ornlneutronimaging/iMars3D/issues
classifiers =
    License :: OSI Approved :: BSD License
    Operating System :: OS Independent
    Programming Language :: Python :: 3
    Programming Language :: Python :: 3.8
    Programming Language :: Python :: 3.9
    Programming Language :: Python :: 3.10

[options]
include_package_data = True
packages = find:
scripts =
    scripts/reduce_CG1D.py
python_requires >= 3.8
# install_requires is skipped for the following reasons:
# 1. tomopy is not available on PyPI
# 2. readthedoc invokes pip install with `--upgrade`, which can mess up the
#    dependency resolved by conda in previous step.
# 3. we will only use wheel to check package content, and the pacakge distribution
#    is done by conda.

[options.packages.find]
where = src
exclude =
    tests
    notebooks

[options.entry_points]
console_scripts =
    imars3dcli = imars3d.backend.__main__:main

[options.package_data]
* = schema.json

[options.extras_require]
tests = pytest

[aliases]
test = pytest

[flake8]
ignore = E203, E266, E501, E731, W503
exclude = conda.recipe/meta.yaml
max-line-length = 120

[coverage:run]
source = src/imars3d
omit =
        */tests/*
        src/imars3d/__init__.py
        src/imars3d/ui/*

[coverage:report]
fail_under = 60
exclude_lines =
  if __name__ == "__main__":

setup.py

deleted100644 → 0
+0 −6
Original line number Diff line number Diff line
# this file is necessary so conda can read the contents of setup.cfg using
# its load_setup_py_data function
from setuptools import setup
from versioningit import get_cmdclasses

setup(cmdclass=get_cmdclasses())