diff --git a/.gitignore b/.gitignore index a3f68fe..31f58fe 100644 --- a/.gitignore +++ b/.gitignore @@ -2,6 +2,8 @@ *.pyo *.egg *.egg-info/ +*.tox +**/.python-version .DS_Store .coverage diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index ea07c88..f20eb31 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -4,12 +4,15 @@ stages: - test variables: - PYVERSION: "3.11" + PYVERSION: "" LOGCAPTURE_LEVEL: "DEBUG" CODECOV_TOKEN: "034f0bb1-e590-406f-820c-4e7c41b17712" # set up the basic job .runtests: + parallel: + matrix: + - PYVERSION: ["3.9", "3.10", "3.11", "3.12", "3.13"] before_script: - "conda create --prefix /root/factordev --channel conda-forge --file requirements.txt python=${PYVERSION} curl nose2 coverage --yes --quiet" - /root/factordev/bin/pip install -e . diff --git a/requirements.txt b/requirements.txt index 5d91b1e..fc36cfb 100644 --- a/requirements.txt +++ b/requirements.txt @@ -2,3 +2,4 @@ pandas scipy numpy scikit-learn >= 1.6.0 +tox >= 4 diff --git a/setup.py b/setup.py index 9fc7890..e5b4276 100644 --- a/setup.py +++ b/setup.py @@ -45,6 +45,8 @@ def requirements(): # noqa: D103 "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.13", ], zip_safe=True, ) diff --git a/tox.ini b/tox.ini new file mode 100644 index 0000000..d6454ee --- /dev/null +++ b/tox.ini @@ -0,0 +1,15 @@ +[tox] +env_list = lint, 3.9, 3.1{0, 1, 2, 3} + +[testenv] +deps = + pytest + -r requirements.txt +commands = pytest -W ignore::UserWarning -W ignore::DeprecationWarning + +[testenv:lint] +description = run linters +skip_install = true +deps = + black +commands = black {posargs:.}