diff --git a/.gitignore b/.gitignore index fd9f611b..54a044db 100644 --- a/.gitignore +++ b/.gitignore @@ -61,3 +61,9 @@ tsfresh/notebooks/data/ # dask dask-worker-space dask-worker-space/ + +# python version files +.python_version + +# tox log files +.tox diff --git a/docs/text/how_to_contribute.rst b/docs/text/how_to_contribute.rst index 25ab5957..0633784f 100644 --- a/docs/text/how_to_contribute.rst +++ b/docs/text/how_to_contribute.rst @@ -67,6 +67,18 @@ you have to: pytest +To test changes across multiple versions of Python, run: + + +.. code:: + + tox -r + + +`tox -r` will execute tests for the Python versions specified in `setup.cfg `_ using the `envlist` variable. For example, if `envlist` is set to `py37, py38`, the test suite will run for Python 3.7 and 3.8 on the local development platform, assuming the binaries for those versions are available locally. The exact Python microversions (e.g. `3.7.1` vs `3.7.2`) depend on what is installed on the local development machine. + +A recommended way to manage multiple Python versions when testing locally is with `pyenv`, which enables organized installation and switching between versions. + Documentation ''''''''''''' @@ -90,3 +102,9 @@ We use black and isort for styling. They are automatically triggered on every co We are looking forward to hear from you! =) + + +PR Descriptions +''''''''''''''' + +The PR should have a clear and descriptive title, along with a detailed description of the changes made, the problem being addressed, and any relevant tips for reviewers. An example of what this might look like is `here. `_ diff --git a/setup.cfg b/setup.cfg index 0043f036..6bbe7d5a 100644 --- a/setup.cfg +++ b/setup.cfg @@ -140,3 +140,23 @@ max-line-length = 120 # This will be used when updating. Do not change! version = 3.2.3 package = tsfresh + +[tox:tox] +# Tox global conifguration options +minversion = 4.0.0 +# Which python versions to test for +envlist = py37, py38, py39, py310, py311 +# Don't throw an error if a specific version of python is not installed +skip_missing_interpreters = True +# Ensure that tox uses a virtual environment to build a source distribution +isolated_build = True + +# Tox configuration options for each version of python +[testenv] +commands = + # display the python version that tests are being run on + python -V + # install package requirements before running tests + python -m pip install .[testing] + # run the tests + python -m pytest tests/