From f5918d4353a0c27f6aa271411c2bb2b7f4051c6d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dani=C3=ABl=20de=20Kok?= Date: Mon, 22 Apr 2024 09:40:55 +0200 Subject: [PATCH] Update to Thinc 9.0.0 and set version to 4.0.0.dev3 (#13448) * Update to Thinc 9.0.0 and set version to 4.0.0.dev3 * Set minimum Python version to 3.9 --- .github/workflows/tests.yml | 4 +-- .github/workflows/universe_validation.yml | 2 +- .pre-commit-config.yaml | 16 ++++----- CONTRIBUTING.md | 2 +- Makefile | 2 +- README.md | 40 +++++++++++------------ build-constraints.txt | 2 -- pyproject.toml | 2 +- requirements.txt | 4 +-- setup.cfg | 6 ++-- spacy/about.py | 2 +- 11 files changed, 39 insertions(+), 43 deletions(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index f923f93f7..c44009dd4 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -30,7 +30,7 @@ jobs: - name: Configure Python version uses: actions/setup-python@v4 with: - python-version: "3.8" + python-version: "3.9" architecture: x64 - name: black @@ -60,8 +60,6 @@ jobs: os: [ubuntu-latest, windows-latest, macos-latest] python_version: ["3.12"] include: - - os: macos-latest - python_version: "3.8" - os: ubuntu-20.04 python_version: "3.9" - os: windows-latest diff --git a/.github/workflows/universe_validation.yml b/.github/workflows/universe_validation.yml index c5e68784e..a4ce633dd 100644 --- a/.github/workflows/universe_validation.yml +++ b/.github/workflows/universe_validation.yml @@ -25,7 +25,7 @@ jobs: - name: Configure Python version uses: actions/setup-python@v4 with: - python-version: "3.8" + python-version: "3.9" architecture: x64 - name: Validate website/meta/universe.json diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 8efe733f9..ba8dc0b2f 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -1,13 +1,13 @@ repos: -- repo: https://github.com/ambv/black + - repo: https://github.com/ambv/black rev: 22.3.0 hooks: - - id: black - language_version: python3.8 - additional_dependencies: ['click==8.0.4'] -- repo: https://github.com/pycqa/flake8 + - id: black + language_version: python3.9 + additional_dependencies: ["click==8.0.4"] + - repo: https://github.com/pycqa/flake8 rev: 5.0.4 hooks: - - id: flake8 - args: - - "--config=setup.cfg" + - id: flake8 + args: + - "--config=setup.cfg" diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index b85ea8fcc..a113d32bb 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -276,7 +276,7 @@ except: # noqa: E722 ### Python conventions -All Python code must be written **compatible with Python 3.8+**. More detailed +All Python code must be written **compatible with Python 3.9+**. More detailed code conventions can be found in the [developer docs](https://github.com/explosion/spaCy/blob/master/extra/DEVELOPER_DOCS/Code%20Conventions.md). #### I/O and handling paths diff --git a/Makefile b/Makefile index c8f68be7f..55f4b97eb 100644 --- a/Makefile +++ b/Makefile @@ -5,7 +5,7 @@ override SPACY_EXTRAS = spacy-lookups-data==1.0.3 endif ifndef PYVER -override PYVER = 3.8 +override PYVER = 3.9 endif VENV := ./env$(PYVER) diff --git a/README.md b/README.md index 9e5c4be68..38d564320 100644 --- a/README.md +++ b/README.md @@ -32,25 +32,25 @@ open-source software, released under the ## ๐Ÿ“– Documentation -| Documentation | | -| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| โญ๏ธ **[spaCy 101]** | New to spaCy? Here's everything you need to know! | -| ๐Ÿ“š **[Usage Guides]** | How to use spaCy and its features. | -| ๐Ÿš€ **[New in v3.0]** | New features, backwards incompatibilities and migration guide. | -| ๐Ÿช **[Project Templates]** | End-to-end workflows you can clone, modify and run. | -| ๐ŸŽ› **[API Reference]** | The detailed reference for spaCy's API. | -| โฉ **[GPU Processing]** | Use spaCy with CUDA-compatible GPU processing. | -| ๐Ÿ“ฆ **[Models]** | Download trained pipelines for spaCy. | -| ๐Ÿฆ™ **[Large Language Models]** | Integrate LLMs into spaCy pipelines. | -| ๐ŸŒŒ **[Universe]** | Plugins, extensions, demos and books from the spaCy ecosystem. | -| โš™๏ธ **[spaCy VS Code Extension]** | Additional tooling and features for working with spaCy's config files. | -| ๐Ÿ‘ฉโ€๐Ÿซ **[Online Course]** | Learn spaCy in this free and interactive online course. | -| ๐Ÿ“ฐ **[Blog]** | Read about current spaCy and Prodigy development, releases, talks and more from Explosion. | -| ๐Ÿ“บ **[Videos]** | Our YouTube channel with video tutorials, talks and more. | -| ๐Ÿ›  **[Changelog]** | Changes and version history. | -| ๐Ÿ’ **[Contribute]** | How to contribute to the spaCy project and code base. | -| ๐Ÿ‘• **[Swag]** | Support us and our work with unique, custom-designed swag! | -| Tailored Solutions | Custom NLP consulting, implementation and strategic advice by spaCyโ€™s core development team. Streamlined, production-ready, predictable and maintainable. Send us an email or take our 5-minute questionnaire, and well'be in touch! **[Learn more →](https://explosion.ai/tailored-solutions)** | +| Documentation | | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| โญ๏ธ **[spaCy 101]** | New to spaCy? Here's everything you need to know! | +| ๐Ÿ“š **[Usage Guides]** | How to use spaCy and its features. | +| ๐Ÿš€ **[New in v3.0]** | New features, backwards incompatibilities and migration guide. | +| ๐Ÿช **[Project Templates]** | End-to-end workflows you can clone, modify and run. | +| ๐ŸŽ› **[API Reference]** | The detailed reference for spaCy's API. | +| โฉ **[GPU Processing]** | Use spaCy with CUDA-compatible GPU processing. | +| ๐Ÿ“ฆ **[Models]** | Download trained pipelines for spaCy. | +| ๐Ÿฆ™ **[Large Language Models]** | Integrate LLMs into spaCy pipelines. | +| ๐ŸŒŒ **[Universe]** | Plugins, extensions, demos and books from the spaCy ecosystem. | +| โš™๏ธ **[spaCy VS Code Extension]** | Additional tooling and features for working with spaCy's config files. | +| ๐Ÿ‘ฉโ€๐Ÿซ **[Online Course]** | Learn spaCy in this free and interactive online course. | +| ๐Ÿ“ฐ **[Blog]** | Read about current spaCy and Prodigy development, releases, talks and more from Explosion. | +| ๐Ÿ“บ **[Videos]** | Our YouTube channel with video tutorials, talks and more. | +| ๐Ÿ›  **[Changelog]** | Changes and version history. | +| ๐Ÿ’ **[Contribute]** | How to contribute to the spaCy project and code base. | +| ๐Ÿ‘• **[Swag]** | Support us and our work with unique, custom-designed swag! | +| Tailored Solutions | Custom NLP consulting, implementation and strategic advice by spaCyโ€™s core development team. Streamlined, production-ready, predictable and maintainable. Send us an email or take our 5-minute questionnaire, and well'be in touch! **[Learn more →](https://explosion.ai/tailored-solutions)** | [spacy 101]: https://spacy.io/usage/spacy-101 [new in v3.0]: https://spacy.io/usage/v3 @@ -115,7 +115,7 @@ For detailed installation instructions, see the - **Operating system**: macOS / OS X ยท Linux ยท Windows (Cygwin, MinGW, Visual Studio) -- **Python version**: Python 3.8+ (only 64 bit) +- **Python version**: Python 3.9+ (only 64 bit) - **Package managers**: [pip] ยท [conda] (via `conda-forge`) [pip]: https://pypi.org/project/spacy/ diff --git a/build-constraints.txt b/build-constraints.txt index 812e7c6b1..92d4610ba 100644 --- a/build-constraints.txt +++ b/build-constraints.txt @@ -1,4 +1,2 @@ # build version constraints for use with wheelwright -numpy==1.17.3; python_version=='3.8' and platform_machine!='aarch64' -numpy==1.19.2; python_version=='3.8' and platform_machine=='aarch64' numpy>=1.25.0; python_version>='3.9' diff --git a/pyproject.toml b/pyproject.toml index 96d12cd8a..d51e1fefd 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -5,7 +5,7 @@ requires = [ "cymem>=2.0.2,<2.1.0", "preshed>=3.0.2,<3.1.0", "murmurhash>=0.28.0,<1.1.0", - "thinc>=9.0.0.dev4,<9.1.0", + "thinc>=9.0.0,<9.1.0", "numpy>=1.15.0; python_version < '3.9'", "numpy>=1.25.0; python_version >= '3.9'", ] diff --git a/requirements.txt b/requirements.txt index a87d5b2b3..21293eb28 100644 --- a/requirements.txt +++ b/requirements.txt @@ -3,7 +3,7 @@ spacy-legacy>=4.0.0.dev1,<4.1.0 spacy-loggers>=1.0.0,<2.0.0 cymem>=2.0.2,<2.1.0 preshed>=3.0.2,<3.1.0 -thinc>=9.0.0.dev4,<9.1.0 +thinc>=9.0.0,<9.1.0 ml_datasets>=0.2.0,<0.3.0 murmurhash>=0.28.0,<1.1.0 wasabi>=0.9.1,<1.2.0 @@ -31,7 +31,7 @@ pytest-timeout>=1.3.0,<2.0.0 mock>=2.0.0,<3.0.0 flake8>=3.8.0,<6.0.0 hypothesis>=3.27.0,<7.0.0 -mypy>=1.5.0,<1.6.0; platform_machine != "aarch64" and python_version >= "3.8" +mypy>=1.5.0,<1.6.0; platform_machine != "aarch64" types-mock>=0.1.1 types-setuptools>=57.0.0 types-requests diff --git a/setup.cfg b/setup.cfg index e7d97a030..7d87a3829 100644 --- a/setup.cfg +++ b/setup.cfg @@ -17,10 +17,10 @@ classifiers = Operating System :: Microsoft :: Windows Programming Language :: Cython Programming Language :: Python :: 3 - Programming Language :: Python :: 3.8 Programming Language :: Python :: 3.9 Programming Language :: Python :: 3.10 Programming Language :: Python :: 3.11 + Programming Language :: Python :: 3.12 Topic :: Scientific/Engineering project_urls = Release notes = https://github.com/explosion/spaCy/releases @@ -29,7 +29,7 @@ project_urls = [options] zip_safe = false include_package_data = true -python_requires = >=3.8 +python_requires = >=3.9 install_requires = # Our libraries spacy-legacy>=4.0.0.dev1,<4.1.0 @@ -37,7 +37,7 @@ install_requires = murmurhash>=0.28.0,<1.1.0 cymem>=2.0.2,<2.1.0 preshed>=3.0.2,<3.1.0 - thinc>=9.0.0.dev4,<9.1.0 + thinc>=9.0.0,<9.1.0 wasabi>=0.9.1,<1.2.0 srsly>=2.4.3,<3.0.0 catalogue>=2.0.6,<2.1.0 diff --git a/spacy/about.py b/spacy/about.py index ef80718fe..40a5d7196 100644 --- a/spacy/about.py +++ b/spacy/about.py @@ -1,6 +1,6 @@ # fmt: off __title__ = "spacy" -__version__ = "4.0.0.dev2" +__version__ = "4.0.0.dev3" __download_url__ = "https://github.com/explosion/spacy-models/releases/download" __compatibility__ = "https://raw.githubusercontent.com/explosion/spacy-models/master/compatibility.json" __projects__ = "https://github.com/explosion/projects"