🌐
spaCy
spacy.io
spaCy · Industrial-strength Natural Language Processing in Python
spaCy is a free open-source library for Natural Language Processing in Python. It features NER, POS tagging, dependency parsing, word vectors and more.
API
spaCy is a free open-source library for Natural Language Processing in Python. It features NER, POS tagging, dependency parsing, word vectors and more.
Usage
For other platforms, you can have ... to see what the oldest recommended versions of numpy are. (Warning: don’t use pip install -c constraints.txt instead of PIP_CONSTRAINT, since this isn’t applied to the isolated build environments.) Some additional options may be useful for spaCy developers ...
Models
In general, spaCy expects all pipeline ... For spaCy’s pipelines, we also chose to divide the name into three components: Type: Capabilities (e.g. core for general-purpose pipeline with tagging, parsing, lemmatization and named entity recognition, or dep for only tagging, parsing and lemmatization). Genre: Type of text the pipeline is trained ...
Universe
Comes with many utility functions for spaCy pipelines. ... Version, share, deploy, and monitor models. Make interactive visualisations to figure out 'what lies' in word embeddings. A calibre plugin that generates Word Wise and X-Ray files. Zero and Few shot named entity & relationships recognition · If you've come across a universe project that isn...

software library for natural language processing

spaCy Tailored Pipelines
Advanced NLP with spaCy: A free online course
pypi Version
conda Version
spaCy (/speɪˈsiː/ spay-SEE) is an open-source software library for advanced natural language processing, written in the programming languages Python and Cython. The library is published under the MIT license and its main … Wikipedia
Factsheet
spaCy
Original author Matthew Honnibal
Developers Explosion AI, various
Factsheet
spaCy
Original author Matthew Honnibal
Developers Explosion AI, various
🌐
spaCy
spacy.io › usage › spacy-101
spaCy 101: Everything you need to know · spaCy Usage Documentation
What companies and products are mentioned? Which texts are similar to each other? spaCy is designed specifically for production use and helps you build applications that process and “understand” large volumes of text.
Discussions

"spaCy is not research software" – What do you think?
I think what they're trying to say is the package is not academic in the way that some of the other ones might be. Instead that spaCy is meant to commonly work means that it is more about getting the job done than being faithful to the paper(s). To me it represents the divide between academia and engineering. If I'm reading it right they're suggesting they are an engineering package, not an academic one. Depending on your goals this could be a boon or bane. I'd suggest if you just want things to work and already know spaCy then just stick with that and don't overthink it. More on reddit.com
🌐 r/LanguageTechnology
8
7
October 23, 2020
Should I learn Python if I want to use spaCy?
I agree with both of the previous commenters in that: I use {spacyr} + {reticulate} for NLP work that involves using spaCy. This is because I like support for Python from RStudio IDE and rmarkdown. It's miles better for R + Python work than its closest neighbor, Jupyter Notebook. But at the same time, even as someone who also mostly uses R, I agree with Python's approach to NLP. Actually, if I'm being more precise, it's not really R vs. Python but more functional vs. object-oriented approaches to NLP. The difference is between working with words as observations representated as rows in dataframes versus working with words as objects that have special attributes. Let me extrapolate a bit more on my point #2. Consider a case where you want to know whether the head of a word is a Verb. In {spacyr}, this means finding the value of the head column at the row of the word, then finding the row of the head word using that value, then finding the value of the POS column at that row. This approach involves a lot of slice() and filter() and subsetting. In Python's spaCy, on the other hand, this just involves getting the attribute head of the word and then getting the attribute of that word. If that word is stored in a variable called my_word, checking whether the head of that word is a Verb is simply my_word.head.pos_ == "VERB" So at least in the case of analyzing depedency relations, the difference is between working with indices of a data frame of words vs. working with pointers to words that are accessible as an attribute of word objects. I favor the latter object-oriented approach in Python because it's faster, less code, more readable, and more intuitive. But that's probably partly because my work involves a lot of analyzing dependency relatios. tl;dr #1: Depends on the task, but object-oriented approach of Python is overall better IMO. But it's not an either-or: you can do all that work within the comfort of the RStudio IDE and your R-centered workflow with {reticulate} and R markdown. Just to be clear though, functional vs. object-oriented approach to NLP is also not really a black-white issue, much like "R vs. Python". In fact, the part that I love the most about the object-oriented NLP workflow in Python is list comprehension and that's about as functional programming as you can get. Working with a list of word objects is IMO the perfect marriage between functional and object-oriented programming as it vastly improves the quality of my work. tl;dr #2: If you're going to learn spaCy (the Python way), learn Python's list comprehension too. More on reddit.com
🌐 r/rstats
8
3
July 5, 2020
Is spaCy really ready for production?

Hi,

First — I'm sorry to hear that this has been a bad experience. Thanks for taking the time to write this up. There's often a shortage of this sort of challenging feedback, and it's necessary for improvement.

I will say that the versions over the last couple of months have been a bit less stable than we want. This is an awkward transitional period: we're getting spaCy ready for neural networks in 2.0, and fixing a lot of long-standing issues. We're also getting ready to push v1.7.0.

In response to your specific comments:

  • spaCy tries to use as much of the same code for training and runtime as possible. There's therefore no plans to have a separate "runtime only" mode.

  • What isn't compiling out of the box?

  • I've never built a Debian package myself. I think this makes sense, and I should add it to our test service.

  • Here's how we're fixing the model download problem: We're introducing thin wrappers around the data assets so that you'll be able to install them as pip packages. You'll therefore be able to serve these however else you're serving pip dependencies. You can also point pip to a location on your file system, run a pip service, etc. But this isn't the only way to get the data installed.

Ultimately spaCy just needs to find the files on the filesystem somewhere. I had imagined that production users would either copy the data inside the spaCy package themselves, or create a package of spaCy that included the data they needed by default. I realise this wasn't clear --- but it's hard to know what a different production environment might need. You can also point spaCy to a location on your file system with the util.set_data_path() command.

  • I've been installing v1.6.0 from PyPi regularly, without issue --- so I'm not sure what's different in your setup. I wonder whether one of us could be pulling from a cached version? We do have a CI process which builds an sdist on a server, and then the test installs from there. We plan to keep improving the test infrastructure.

  • It's tricky to interpret what semver should mean when the data changes. I think if we bumped major version for something like a change to the stop words, we'd have no way to communicate deeper breaking changes. This is especially true as more languages are added. If we change an Estonian lemmatizer rule, should we increment the version?

Thanks again, Matthew Honnibal

More on reddit.com
🌐 r/spacynlp
3
5
March 5, 2015
Is UNT Spacy still a thing in the Gundam?
From what I understand it was a small cannon piece where the spacey got consolidated into the federation to become the eff but I think it's somewhat been retconned by it's disappearance, I'm slightly speculating though More on reddit.com
🌐 r/Gundam
6
3
October 27, 2016
People also ask

Who created spaCy and when was it launched?
spaCy was launched in 2015 by its principal authors, Matthew Honnibal and Ines Montani. It has since become one of the most widely used natural language libraries in Python for industry use cases.
🌐
domino.ai
domino.ai › home › data science & machine learning dictionary | domino data lab › what is spacy? | domino data lab
What is spaCy? | Domino Data Lab
What are some common use cases for spaCy?
spaCy is used for a wide range of natural language tasks. Examples from the 'spaCy Universe' include parsing legal texts (Blackstone), extracting entities from biomedical texts (Kindred), parsing geographic information (mordecai), human-in-the-loop annotation (Prodigy), integrating with chat applications (Rasa NLU), and fine-tuning transformer models like BERT and GPT-2 (spacy-pytorch-transformers).
🌐
domino.ai
domino.ai › home › data science & machine learning dictionary | domino data lab › what is spacy? | domino data lab
What is spaCy? | Domino Data Lab
What are the key improvements in spaCy 3.0?
spaCy 3.0 introduces significant improvements such as newly trained and retrained transformer-based pipelines for higher accuracy, enhanced configuration capabilities for training workflows, a Quickstart Widget for building configuration files, easier integration with tools like Streamlit, FastAPI, and Ray, parallel/distributed capabilities with Ray for faster training, and wrappers to incorporate other frameworks like PyTorch and TensorFlow.
🌐
domino.ai
domino.ai › home › data science & machine learning dictionary | domino data lab › what is spacy? | domino data lab
What is spaCy? | Domino Data Lab
🌐
Domino Data Lab
domino.ai › home › data science & machine learning dictionary | domino data lab › what is spacy? | domino data lab
What is spaCy? | Domino Data Lab
June 10, 2025 - spaCy is a free, open-source Python library that provides advanced capabilities for natural language processing (NLP) on large volumes of text at high speed.
🌐
Wikipedia
en.wikipedia.org › wiki › SpaCy
spaCy - Wikipedia
May 9, 2025 - spaCy (/speɪˈsiː/ spay-SEE) is an open-source software library for advanced natural language processing, written in the programming languages Python and Cython. The library is published under the MIT license and its main developers are Matthew ...
🌐
Real Python
realpython.com › natural-language-processing-spacy-python
Natural Language Processing With spaCy in Python – Real Python
February 1, 2025 - This free and open-source library for natural language processing (NLP) in Python has a lot of built-in capabilities and is becoming increasingly popular for processing and analyzing data in NLP.
🌐
Shakudo
shakudo.io › integrations › spacy
What is spaCy? Docs, Demo and How to Deploy | Shakudo
spaCy is a Python library for advanced Natural Language Processing that excels at analyzing large volumes of text at high speed through optimized Cython implementation.
Find elsewhere
🌐
PyPI
pypi.org › project › spacy
spacy · PyPI
It features state-of-the-art speed ... system and easy model packaging, deployment and workflow management. spaCy is commercial open-source software, released under the MIT license....
      » pip install spacy
    
Published   Nov 17, 2025
Version   3.8.11
Homepage   https://spacy.io
🌐
Penn Libraries
guides.library.upenn.edu › penntdm › python › spacy
SpaCy Package - Text Analysis - Guides at Penn Libraries
Word frequency is an analysis that gives you insights into word patterns, such as common words or unique words in the text: import spacy from collections import Counter load_model = spacy.load('en_core_web_sm') text = ('Apple\'s name was inspired by his visit to an apple farm while he was on a fruitarian diet') text_doc = load_model(text) # Remove stop words and punctuation symbols words = [token.text for token in text_doc if not token.is_stop and not token.is_punct] word_freq = Counter(words) # 5 commonly occurring words with their frequencies common_words = word_freq.most_common(5) print(common_words) # Unique words unique_words = [word for (word, freq) in word_freq.items() if freq == 1] print(unique_words)
🌐
Medium
medium.com › @danushidk507 › spacy-0b49b0881759
spaCy. what is spaCy? | by DhanushKumar | Medium
January 4, 2024 - spaCy what is spaCy? spaCy is a free, open-source library for advanced Natural Language Processing (NLP) in Python. spaCy is designed specifically for production use and helps you build applications …
🌐
GeeksforGeeks
geeksforgeeks.org › nlp › spacy-for-natural-language-processing
spaCy for Natural Language Processing - GeeksforGeeks
July 23, 2025 - spaCy processes text using a central Language class, typically instantiated as nlp. When you pass raw text to this object, it produces a Doc object, which contains a sequence of tokens and all their linguistic annotations. The Doc object is the main container, and its data is accessed via Token (individual words or symbols) and Span (slices of the document).
🌐
Analytics Vidhya
analyticsvidhya.com › home › spacy tutorial to learn and master natural language processing (nlp)
spaCy Tutorial to Learn and Master Natural Language Processing (NLP)
November 28, 2023 - spaCy is a library for natural language processing. This spaCy tutorial explains the introduction to spaCy and features of spaCy for NLP.
🌐
Deepnote
deepnote.com › blog › ultimate-guide-to-the-spacy-library-in-python
Ultimate guide to the spaCy library in Python
August 21, 2025 - spaCy is an open-source Python library for advanced Natural Language Processing (NLP) that’s designed for industrial-strength text analysis.
🌐
Cybrosys Technologies
cybrosys.com › odoo blogs
What is spaCy & Its Key Features
May 14, 2025 - spaCy is a powerhouse for NLP, offering a blend of speed, accuracy, and usability.
🌐
Pythonhumanities
spacy.pythonhumanities.com › 01_01_install_and_containers.html
1. The Basics of spaCy — Introduction to spaCy 3
A good way to begin is by exploring the question, “What is spaCy?” spaCy (yes, spelled with a lowercase “s” and uppercase “C” is a natural language processing framework. Natural language processing, or NLP, is a branch of linguistics that seeks to parse human language in a computer ...
🌐
spaCy
spacy.io › usage
Install spaCy · spaCy Usage Documentation
While this could technically have many causes, including spaCy being broken, the most likely one is that your script’s file or directory name is “shadowing” the module – e.g. your file is called spacy.py, or a directory you’re importing from is called spacy. So, when using spaCy, never call anything else spacy. If your training data only contained new entities and you didn’t mix in any examples the model previously recognized, it can cause the model to “forget” what it had previously learned.
🌐
GitHub
github.com › explosion › spaCy
GitHub - explosion/spaCy: 💫 Industrial-strength Natural Language Processing (NLP) in Python
It features state-of-the-art speed ... system and easy model packaging, deployment and workflow management. spaCy is commercial open-source software, released under the MIT license....
Starred by 32.9K users
Forked by 4.6K users
Languages   Python 54.1% | MDX 31.2% | Cython 10.5% | JavaScript 2.6% | Sass 0.8% | TypeScript 0.4%
🌐
spaCy
spacy.io › models › en
English · spaCy Models Documentation
spaCy is a free open-source library for Natural Language Processing in Python. It features NER, POS tagging, dependency parsing, word vectors and more.
🌐
Medium
medium.com › featurepreneur › spacy-6094a042c093
What is SpaCy?. In this article, we will learn the need… | by Divya P | featurepreneur | Medium
January 6, 2022 - Spacy is basically an open-source python library for Natural language processing. It is used to process a large volume of texts.
🌐
YouTube
youtube.com › watch
What is spaCy? #pythonprogramming #nlp #naturallanguageprocessing #spacy - YouTube
Join this channel to get access to perks:https://www.youtube.com/channel/UC5vr5PwcXiKX_-6NTteAlXw/joinIf you enjoy this video, please subscribe.✅Be my Patron...
Published   December 5, 2023