This release drops support for Python 3.6.
The spaCy projects functionality has been moved into a new standalone library . This brings minor changes to spaCy-specific settings in spaCy projects (see upgrading below), but also makes it possible to use the same workflow functionality outside of spaCy.
spacy project commands should run as before, just now they’re using Weasel
under the hood.
You can specify a custom registered vectors class under
[nlp.vectors] in order
to use static vectors in formats other than the ones supported by
Vectors. To implement your custom vectors, extend the abstract
BaseVectors. See an example using
BPEmb subword embeddings.
- Add support for Python 3.12.
- Extend to Thinc v8.2.
--spans-keyoption for CLI evaluation with
spacy benchmark accuracy.
- Load the CLI module lazily for
- Add type stubs for for
- Warn for unsupported pattern keys in dependency matcher.
Language.replace_listeners: Pass the replaced listener and the
tok2vecpipe to the callback in order to support
- Always use
disable=Nonein order to disable output in non-interactive environments.
- Language updates:
- Add left and right pointing angle brackets as punctuation to ancient Greek.
- Update example sentences for Turkish.
- Package setup updates:
- Update NumPy build constraints for NumPy 1.25+. For Python 3.9+, it is no longer necessary to set build constraints while building binary wheels.
- Refactor Cython profiling in order to disable profiling for Python 3.12 in the package setup, since Cython does not currently support profiling for Python 3.12.
This release drops support for Python 3.6, drops mypy checks for Python 3.7 and
ray extra. In addition there are several minor changes for spaCy
projects described in the following section.
spacy project has a few backwards incompatibilities due to the transition to
the standalone library , which is
not as tightly coupled to spaCy. Weasel produces warnings when it detects older
spaCy-specific settings in your environment or project config.
- Support for the
spacy_versionconfiguration key has been dropped.
- Support for the
check_requirementsconfiguration key has been dropped due to the deprecation of
SPACY_CONFIG_OVERRIDESenvironment variable is no longer checked. You can set configuration overrides using
- Support for
SPACY_PROJECT_USE_GIT_VERSIONenvironment variable has been dropped.
- Error codes are now Weasel-specific and do not follow spaCy error codes.
When you’re loading a pipeline package trained with an earlier version of spaCy v3, you will see a warning telling you that the pipeline may be incompatible. This doesn’t necessarily have to be true, but we recommend running your pipelines against your test suite or evaluation data to make sure there are no unexpected results.
If you’re using one of the trained pipelines we provide, you should
spacy download to update to the latest version. To
see an overview of all installed packages and their compatibility, you can run
If you’ve trained your own custom pipeline and you’ve confirmed that it’s still
working as expected, you can update the spaCy version requirements in the
Updating v3.6 configs
To update a config from spaCy v3.6 with the new v3.7 settings, run