explosion

spaCy is an industrial-strength natural language processing library for Python, providing pretrained pipelines for tokenization, tagging, named entity recognition, parsing, and text classification across 70+ languages, designed for real products.

release-v3.8.18
Published at
1d ago
34,000
Stars
71,701
Download
Synced at
1d ago

Latest release

release-v3.8.18Oct 26, 2026, 09:18 PM
Downloads slow? Switch the source anytime above

README

Project Overview

spaCy is an industrial-strength NLP library designed for real products from day one, built on current research and implemented in Python and Cython for speed. It ships pretrained pipelines with tokenization and training support for 70+ languages, neural network models for tagging, parsing, named entity recognition, and text classification, transformer integration for multi-task learning with models like BERT, plus a production-ready training system with easy model packaging, deployment, and workflow management.

Turn cutting-edge NLP research into high-performance pipelines ready for production.

Item Value
Platform Linux, macOS, Windows
Language Python, Cython
License MIT
Language support 70+ languages for tokenization and training

Key Features

  • Tokenization: non-destructive tokenizers customized per language
  • Tagging and dependency parsing: neural network driven syntactic analysis
  • Named entity recognition: detects people, places, and organizations, with custom entity training
  • Text classification: single-label and multi-label classification pipelines
  • Transformer support: plugs in pretrained models such as BERT for higher accuracy
  • Training system: config-driven training workflows with experiment management
  • Model packaging: models package as Python libraries for versioned distribution
  • Entity linking: disambiguates entities to knowledge base entries

Target Audience

  • Backend engineers building text processing services
  • Data scientists training NER and classification models
  • NLP teams needing high throughput in production
  • International products handling multiple languages

Quick Start

  1. Install:
pip install spacy
  1. Download the English pretrained model:
python -m spacy download en_core_web_sm
  1. Process text:
import spacy

nlp = spacy.load('en_core_web_sm')
doc = nlp('Apple is looking at buying U.K. startup for $1 billion')
print([(ent.text, ent.label_) for ent in doc.ents])

Core Advantages

  • Production ready: a complete path from training to deployment with performance designed for real products
  • Fast: Cython under the hood with throughput well above teaching-oriented libraries
  • Complete ecosystem: model store, project templates, and detailed official docs

System Requirements

Item Requirement
OS Linux, macOS, Windows
Runtime Python
Hardware Runs on CPU; optional GPU acceleration

Notes

  • Models install separately: the library ships without models; pull them per language and size with spacy download
  • Small model tradeoff: _sm models are fast but less accurate; prefer _lg or transformer models in production

Release history

Sort