From 653f52c756978c9598adfe46c6b13b7289e35cf3 Mon Sep 17 00:00:00 2001 From: purificant Date: Wed, 6 Oct 2021 20:44:54 +0100 Subject: [PATCH 1/2] run CI for python 3.10 --- .github/workflows/ci.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 5fafe82176..4c0d73c34d 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -76,7 +76,7 @@ jobs: needs: [cache_nltk_data, cache_third_party] strategy: matrix: - python-version: [3.6, 3.7, 3.8, 3.9] + python-version: ['3.6', '3.7', '3.8', '3.9', '3.10'] os: [ubuntu-latest, macos-latest, windows-latest] fail-fast: false runs-on: ${{ matrix.os }} From 6975830498e5a3faf99f7d5e7722af917627e066 Mon Sep 17 00:00:00 2001 From: Tom Aarsen Date: Sun, 19 Dec 2021 20:35:49 +0100 Subject: [PATCH 2/2] Deprecate Python 3.6, add Python 3.10 support in documentation --- .github/workflows/ci.yaml | 2 +- .pre-commit-config.yaml | 2 +- CONTRIBUTING.md | 4 ++-- README.md | 2 +- nltk/__init__.py | 4 ++-- setup.py | 6 +++--- tox.ini | 28 ++++++++++------------------ web/dev/local_testing.rst | 6 +++--- web/install.rst | 2 +- 9 files changed, 24 insertions(+), 32 deletions(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 4c0d73c34d..932a4c3464 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -76,7 +76,7 @@ jobs: needs: [cache_nltk_data, cache_third_party] strategy: matrix: - python-version: ['3.6', '3.7', '3.8', '3.9', '3.10'] + python-version: ['3.7', '3.8', '3.9', '3.10'] os: [ubuntu-latest, macos-latest, windows-latest] fail-fast: false runs-on: ${{ matrix.os }} diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 312771114f..c8ac544150 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -10,7 +10,7 @@ repos: rev: v2.23.3 hooks: - id: pyupgrade - args: ["--py36-plus"] + args: ["--py37-plus"] - repo: https://github.com/ambv/black rev: 21.7b0 hooks: diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index e0d667ea80..7ce10d5f56 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -77,7 +77,7 @@ Summary of our git branching model: - Do many small commits on that branch locally (`git add files-changed`, `git commit -m "Add some change"`); - Run the tests to make sure nothing breaks - (`tox -e py36` if you are on Python 3.6); + (`tox -e py37` if you are on Python 3.7); - Add your name to the `AUTHORS.md` file as a contributor; - Push to your fork on GitHub (with the name as your local branch: `git push origin branch-name`); @@ -169,7 +169,7 @@ The [`.github/workflows/ci.yaml`](https://github.com/nltk/nltk/blob/develop/.git - Otherwise, download all the data packages through `nltk.download('all')`. - The `test` job - - tests against supported Python versions (`3.6`, `3.7`, `3.8`, `3.9`). + - tests against supported Python versions (`3.7`, `3.8`, `3.9`). - tests on `ubuntu-latest` and `macos-latest`. - relies on the `cache_nltk_data` job to ensure that `nltk_data` is available. - performs these steps: diff --git a/README.md b/README.md index 156d60eaf2..e420af5ff8 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ NLTK -- the Natural Language Toolkit -- is a suite of open source Python modules, data sets, and tutorials supporting research and development in Natural -Language Processing. NLTK requires Python version 3.6, 3.7, 3.8, or 3.9. +Language Processing. NLTK requires Python version 3.7, 3.8, 3.9 or 3.10. For documentation, please visit [nltk.org](https://www.nltk.org/). diff --git a/nltk/__init__.py b/nltk/__init__.py index 9573e73791..5c7870f7c2 100644 --- a/nltk/__init__.py +++ b/nltk/__init__.py @@ -52,7 +52,7 @@ # Description of the toolkit, keywords, and the project's primary URL. __longdescr__ = """\ The Natural Language Toolkit (NLTK) is a Python package for -natural language processing. NLTK requires Python 3.6, 3.7, 3.8, or 3.9.""" +natural language processing. NLTK requires Python 3.7, 3.8, 3.9 or 3.10.""" __keywords__ = [ "NLP", "CL", @@ -84,10 +84,10 @@ "Intended Audience :: Science/Research", "License :: OSI Approved :: Apache Software License", "Operating System :: OS Independent", - "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", "Topic :: Scientific/Engineering", "Topic :: Scientific/Engineering :: Artificial Intelligence", "Topic :: Scientific/Engineering :: Human Machine Interfaces", diff --git a/setup.py b/setup.py index c59e7839b8..c100e93c74 100644 --- a/setup.py +++ b/setup.py @@ -68,7 +68,7 @@ }, long_description="""\ The Natural Language Toolkit (NLTK) is a Python package for -natural language processing. NLTK requires Python 3.6, 3.7, 3.8, or 3.9.""", +natural language processing. NLTK requires Python 3.7, 3.8, 3.9 or 3.10.""", license="Apache License, Version 2.0", keywords=[ "NLP", @@ -96,10 +96,10 @@ "Intended Audience :: Science/Research", "License :: OSI Approved :: Apache Software License", "Operating System :: OS Independent", - "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", "Topic :: Scientific/Engineering", "Topic :: Scientific/Engineering :: Artificial Intelligence", "Topic :: Scientific/Engineering :: Human Machine Interfaces", @@ -111,7 +111,7 @@ "Topic :: Text Processing :: Linguistic", ], package_data={"nltk": ["test/*.doctest", "VERSION"]}, - python_requires=">=3.6", + python_requires=">=3.7", install_requires=[ "click", "joblib", diff --git a/tox.ini b/tox.ini index b97d416505..68bfd32a66 100644 --- a/tox.ini +++ b/tox.ini @@ -1,9 +1,9 @@ [tox] envlist = - py{36,37,38,39} + py{37,38,39,310} pypy - py{36,37,38,39}-nodeps - py{36,37,38,39}-jenkins + py{37,38,39,310}-nodeps + py{37,38,39,310}-jenkins py-travis [testenv] @@ -51,13 +51,6 @@ deps = commands = pytest -[testenv:py36-nodeps] -basepython = python3.6 -deps = - pytest - pytest-mock -commands = pytest - [testenv:py37-nodeps] basepython = python3.7 deps = @@ -79,18 +72,17 @@ deps = pytest-mock commands = pytest +[testenv:py310-nodeps] +basepython = python3.10 +deps = + pytest + pytest-mock +commands = pytest + # Use minor version agnostic basepython, but specify testenv # control Python2/3 versions using jenkins' user-defined matrix instead. # Available Python versions: http://repository-cloudbees.forge.cloudbees.com/distributions/ci-addons/python/fc25/ -[testenv:py3.6.4-jenkins] -basepython = python3 -commands = {toxinidir}/jenkins.sh -setenv = - STANFORD_MODELS = {homedir}/third/stanford-parser/ - STANFORD_PARSER = {homedir}/third/stanford-parser/ - STANFORD_POSTAGGER = {homedir}/third/stanford-postagger/ - [testenv:py-travis] extras = all setenv = diff --git a/web/dev/local_testing.rst b/web/dev/local_testing.rst index 8e39fc4b00..b66bfd4d61 100644 --- a/web/dev/local_testing.rst +++ b/web/dev/local_testing.rst @@ -25,10 +25,10 @@ Please consult https://tox.wiki for more info about the tox tool. Examples -------- -Run tests for python 3.6 in verbose mode; executing only tests +Run tests for python 3.7 in verbose mode; executing only tests that failed in the last test run:: - tox -e py36 -- -v --failed + tox -e py37 -- -v --failed Run tree doctests for all available interpreters:: @@ -42,7 +42,7 @@ By default, numpy, scipy and scikit-learn are installed in tox virtualenvs. This is slow, requires working build toolchain and is not always feasible. In order to skip numpy & friends, use ``..-nodeps`` environments:: - tox -e py36-nodeps,py37,pypy + tox -e py37-nodeps,py37,pypy It is also possible to run tests without tox. This way NLTK would be tested only under single interpreter, but it may be easier to have numpy and other diff --git a/web/install.rst b/web/install.rst index 248651b9de..866d8b540d 100644 --- a/web/install.rst +++ b/web/install.rst @@ -1,7 +1,7 @@ Installing NLTK =============== -NLTK requires Python versions 3.6, 3.7, 3.8, or 3.9 +NLTK requires Python versions 3.7, 3.8, 3.9 or 3.10 For Windows users, it is strongly recommended that you go through this guide to install Python 3 successfully https://docs.python-guide.org/starting/install3/win/#install3-windows