Favicon of spaCy

spaCy

A free, MIT-licensed Python NLP library that runs on macOS, Windows and Linux, with pretrained text pipelines and CPU or GPU processing.

Screenshot of spaCy website

spaCy is a Python library for developers and data scientists who need to extract structured information from text in their own applications. It runs on macOS, Windows and Linux, with model packages that become part of your application. It's free and open source under the MIT license.

Its pretrained pipelines identify named entities, classify documents and analyze sentence structure. They also split text into words and sentences, recover base word forms and link entities to knowledge bases. Multilingual tokenization and training support make it useful for projects beyond English, while built-in visualizers let you inspect syntax and entity predictions.

CPU-oriented and transformer-based pipelines have different speed and memory requirements. Supported transformer pipelines can use GPU acceleration. The Cython implementation focuses on speed and memory management for large text collections, including information extraction across web dumps.

Custom training is a central feature. You can train pipelines on your own data, add components for specific tasks and use custom models built with PyTorch or TensorFlow. Its training system records experiment settings explicitly so teams can repeat runs, while model packaging and project workflows support deployment and automation.

The separate spacy-llm package brings LLMs into these text-processing pipelines. It supports prompt-based NLP tasks without training data and converts unstructured model responses into structured results.

Similar to spaCy