Skip to content

Commit

Permalink
moved tox.ini into pyproject.toml
Browse files Browse the repository at this point in the history
  • Loading branch information
Feelx234 committed Jan 8, 2025
1 parent 2e33622 commit b2526ea
Showing 1 changed file with 98 additions and 1 deletion.
99 changes: 98 additions & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
[build-system]
# AVOID CHANGING REQUIRES: IT WILL BE UPDATED BY PYSCAFFOLD!
requires = ["setuptools>=46.1.0", "setuptools_scm[toml]>=5"]
build-backend = "setuptools.build_meta"


[tool.setuptools_scm]
# For smarter version schemes and other configuration options,
# check out https://github.com/pypa/setuptools_scm
Expand All @@ -20,6 +22,7 @@ classifiers = [
"License :: OSI Approved :: BSD License",
"Operating System :: OS Independent",
]
keywords = ["microaggregation", "clustering", "kmeans", "k-means", "anonymity"]
license = { file = "LICENSE" }
dependencies = ['numpy >= 1.23.5', 'numba >= 0.56.4']

Expand All @@ -31,7 +34,7 @@ test = ['pytest', 'pytest-cov']
"Bug Tracker" = "https://github.com/Feelx234/microagg1d/issues"

[tool.hatch.build]
exclude = ["examples", "readme_src"]
exclude = ["notebooks", "figures", "old_notebooks"]

[tool.pytest.ini_options]
addopts = "-ra --cov --cov-report html --cov-report term-missing"
Expand Down Expand Up @@ -125,3 +128,97 @@ disable = [
[tool.pylint.main]
ignore = [".coveragerc"]
ignore-paths = [".coveragerc|.coveragerc"]


[tool.tox]
legacy_tox_ini = """
[tox]
minversion = 3.24
envlist = default
isolated_build = True
[testenv]
description = Invoke pytest to run automated tests
setenv =
TOXINIDIR = {toxinidir}
passenv =
HOME
SETUPTOOLS_*
extras =
testing
commands =
pytest {posargs}
# # To run `tox -e lint` you need to make sure you have a
# # `.pre-commit-config.yaml` file. See https://pre-commit.com
# [testenv:lint]
# description = Perform static analysis and style checks
# skip_install = True
# deps = pre-commit
# passenv =
# HOMEPATH
# PROGRAMDATA
# SETUPTOOLS_*
# commands =
# pre-commit run --all-files {posargs:--show-diff-on-failure}
[testenv:{build,clean}]
description =
build: Build the package in isolation according to PEP517, see https://github.com/pypa/build
clean: Remove old distribution files and temporary build artifacts (./build and ./dist)
# https://setuptools.pypa.io/en/stable/build_meta.html#how-to-use-it
skip_install = True
changedir = {toxinidir}
deps =
build: build[virtualenv]
passenv =
SETUPTOOLS_*
commands =
clean: python -c 'import shutil; [shutil.rmtree(p, True) for p in ("build", "dist", "docs/_build")]'
clean: python -c 'import pathlib, shutil; [shutil.rmtree(p, True) for p in pathlib.Path("src").glob("*.egg-info")]'
build: python -m build {posargs}
# By default, both `sdist` and `wheel` are built. If your sdist is too big or you don't want
# to make it available, consider running: `tox -e build -- --wheel`
[testenv:{docs,doctests,linkcheck}]
description =
docs: Invoke sphinx-build to build the docs
doctests: Invoke sphinx-build to run doctests
linkcheck: Check for broken links in the documentation
passenv =
SETUPTOOLS_*
setenv =
DOCSDIR = {toxinidir}/docs
BUILDDIR = {toxinidir}/docs/_build
docs: BUILD = html
doctests: BUILD = doctest
linkcheck: BUILD = linkcheck
deps =
-r {toxinidir}/docs/requirements.txt
# ^ requirements.txt shared with Read The Docs
commands =
sphinx-build --color -b {env:BUILD} -d "{env:BUILDDIR}/doctrees" "{env:DOCSDIR}" "{env:BUILDDIR}/{env:BUILD}" {posargs}
[testenv:publish]
description =
Publish the package you have been developing to a package index server.
By default, it uses testpypi. If you really want to publish your package
to be publicly accessible in PyPI, use the `-- --repository pypi` option.
skip_install = True
changedir = {toxinidir}
passenv =
# See: https://twine.readthedocs.io/en/latest/
TWINE_USERNAME
TWINE_PASSWORD
TWINE_REPOSITORY
TWINE_REPOSITORY_URL
deps = twine
commands =
python -m twine check dist/*
python -m twine upload {posargs:--repository {env:TWINE_REPOSITORY:testpypi}} dist/*
"""

0 comments on commit b2526ea

Please sign in to comment.