spaCy is an open-source library for natural language processing (NLP), the field of programs that analyze human-language text. It is written in Python and Cython and made by Explosion, the company that also makes the Prodigy annotation tool.
A program loads a trained pipeline, a package of statistical models for one language, and passes text to it. The pipeline splits the text into tokens (words and punctuation) and adds annotations: part-of-speech tags, a dependency parse (how the words relate grammatically), named entities such as people, places and organizations, lemmas (the base forms of words), sentence boundaries and text categories. spaCy offers 84 trained pipelines for 25 languages and supports tokenization and training for more than 70 languages; it can use pretrained transformers such as BERT and run on a GPU. Developers can train custom pipelines from a configuration file with no hidden defaults, add their own components, and call large language models inside a pipeline through the spacy-llm package.
spaCy is free and released under the MIT license.