Skip to main content

Industrial-strength Natural Language Processing (NLP) with Python and Cython

Project description

spaCy: Industrial-strength NLP

spaCy is a library for advanced Natural Language Processing in Python and Cython. It's built on the very latest research, and was designed from day one to be used in real products. spaCy comes with pre-trained statistical models and word vectors, and currently supports tokenization for 30+ languages. It features the fastest syntactic parser in the world, convolutional neural network models for tagging, parsing and named entity recognition and easy deep learning integration. It's commercial open-source software, released under the MIT license.

💫 Version 2.1 out now! Check out the release notes here.

Travis Build Status Appveyor Build Status Current Release Version pypi Version conda Version Python wheels spaCy on Twitter

📖 Documentation

Documentation
spaCy 101 New to spaCy? Here's everything you need to know!
Usage Guides How to use spaCy and its features.
New in v2.0 New features, backwards incompatibilities and migration guide.
API Reference The detailed reference for spaCy's API.
Models Download statistical language models for spaCy.
Universe Libraries, extensions, demos, books and courses.
Changelog Changes and version history.
Contribute How to contribute to the spaCy project and code base.

💬 Where to ask questions

The spaCy project is maintained by @honnibal and @ines. Please understand that we won't be able to provide individual support via email. We also believe that help is much more valuable if it's shared publicly, so that more people can benefit from it.

Features

  • Fastest syntactic parser in the world
  • Named entity recognition
  • Non-destructive tokenization
  • Support for 30+ languages
  • Pre-trained statistical models and word vectors
  • Easy deep learning integration
  • Part-of-speech tagging
  • Labelled dependency parsing
  • Syntax-driven sentence segmentation
  • Built in visualizers for syntax and NER
  • Convenient string-to-hash mapping
  • Export to numpy data arrays
  • Efficient binary serialization
  • Easy model packaging and deployment
  • State-of-the-art speed
  • Robust, rigorously evaluated accuracy

📖 For more details, see the facts, figures and benchmarks.

Install spaCy

For detailed installation instructions, see the documentation.

  • Operating system: macOS / OS X · Linux · Windows (Cygwin, MinGW, Visual Studio)
  • Python version: Python 2.7, 3.4+ (only 64 bit)
  • Package managers: pip · conda (via conda-forge)

pip

Using pip, spaCy releases are available as source packages and binary wheels (as of v2.0.13).

pip install spacy

When using pip it is generally recommended to install packages in a virtual environment to avoid modifying system state:

python -m venv .env
source .env/bin/activate
pip install spacy

conda

Thanks to our great community, we've finally re-added conda support. You can now install spaCy via conda-forge:

conda config --add channels conda-forge
conda install spacy

For the feedstock including the build recipe and configuration, check out this repository. Improvements and pull requests to the recipe and setup are always appreciated.

Updating spaCy

Some updates to spaCy may require downloading new statistical models. If you're running spaCy v2.0 or higher, you can use the validate command to check if your installed models are compatible and if not, print details on how to update them:

pip install -U spacy
python -m spacy validate

If you've trained your own models, keep in mind that your training and runtime inputs must match. After updating spaCy, we recommend retraining your models with the new version.

📖 For details on upgrading from spaCy 1.x to spaCy 2.x, see the migration guide.

Download models

As of v1.7.0, models for spaCy can be installed as Python packages. This means that they're a component of your application, just like any other module. Models can be installed using spaCy's download command, or manually by pointing pip to a path or URL.

Documentation
Available Models Detailed model descriptions, accuracy figures and benchmarks.
Models Documentation Detailed usage instructions.
# out-of-the-box: download best-matching default model
python -m spacy download en

# download best-matching version of specific model for your spaCy installation
python -m spacy download en_core_web_lg

# pip install .tar.gz archive from path or URL
pip install /Users/you/en_core_web_sm-2.0.0.tar.gz

Loading and using models

To load a model, use spacy.load() with the model's shortcut link:

import spacy
nlp = spacy.load('en')
doc = nlp(u'This is a sentence.')

If you've installed a model via pip, you can also import it directly and then call its load() method:

import spacy
import en_core_web_sm

nlp = en_core_web_sm.load()
doc = nlp(u'This is a sentence.')

📖 For more info and examples, check out the models documentation.

Support for older versions

If you're using an older version (v1.6.0 or below), you can still download and install the old models from within spaCy using python -m spacy.en.download all or python -m spacy.de.download all. The .tar.gz archives are also attached to the v1.6.0 release. To download and install the models manually, unpack the archive, drop the contained directory into spacy/data and load the model via spacy.load('en') or spacy.load('de').

Compile from source

The other way to install spaCy is to clone its GitHub repository and build it from source. That is the common way if you want to make changes to the code base. You'll need to make sure that you have a development environment consisting of a Python distribution including header files, a compiler, pip, virtualenv and git installed. The compiler part is the trickiest. How to do that depends on your system. See notes on Ubuntu, OS X and Windows for details.

# make sure you are using the latest pip
python -m pip install -U pip
git clone https://github.com/explosion/spaCy
cd spaCy

python -m venv .env
source .env/bin/activate
export PYTHONPATH=`pwd`
pip install -r requirements.txt
python setup.py build_ext --inplace

Compared to regular install via pip, requirements.txt additionally installs developer dependencies such as Cython. For more details and instructions, see the documentation on compiling spaCy from source and the quickstart widget to get the right commands for your platform and Python version.

Ubuntu

Install system-level dependencies via apt-get:

sudo apt-get install build-essential python-dev git

macOS / OS X

Install a recent version of XCode, including the so-called "Command Line Tools". macOS and OS X ship with Python and git preinstalled.

Windows

Install a version of the Visual C++ Build Tools or Visual Studio Express that matches the version that was used to compile your Python interpreter. For official distributions these are VS 2008 (Python 2.7), VS 2010 (Python 3.4) and VS 2015 (Python 3.5).

Run tests

spaCy comes with an extensive test suite. In order to run the tests, you'll usually want to clone the repository and build spaCy from source. This will also install the required development dependencies and test utilities defined in the requirements.txt.

Alternatively, you can find out where spaCy is installed and run pytest on that directory. Don't forget to also install the test utilities via spaCy's requirements.txt:

python -c "import os; import spacy; print(os.path.dirname(spacy.__file__))"
pip install -r path/to/requirements.txt
python -m pytest <spacy-directory>

See the documentation for more details and examples.

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

spacy-nightly-2.1.0a8.tar.gz (27.6 MB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

spacy_nightly-2.1.0a8-cp37-cp37m-win_amd64.whl (26.8 MB view details)

Uploaded CPython 3.7mWindows x86-64

spacy_nightly-2.1.0a8-cp37-cp37m-manylinux1_x86_64.whl (27.6 MB view details)

Uploaded CPython 3.7m

spacy_nightly-2.1.0a8-cp37-cp37m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl (30.9 MB view details)

Uploaded CPython 3.7mmacOS 10.10+ Intel (x86-64, i386)macOS 10.10+ x86-64macOS 10.6+ Intel (x86-64, i386)macOS 10.9+ Intel (x86-64, i386)macOS 10.9+ x86-64

spacy_nightly-2.1.0a8-cp36-cp36m-win_amd64.whl (26.8 MB view details)

Uploaded CPython 3.6mWindows x86-64

spacy_nightly-2.1.0a8-cp36-cp36m-manylinux1_x86_64.whl (27.6 MB view details)

Uploaded CPython 3.6m

spacy_nightly-2.1.0a8-cp36-cp36m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl (31.1 MB view details)

Uploaded CPython 3.6mmacOS 10.10+ Intel (x86-64, i386)macOS 10.10+ x86-64macOS 10.6+ Intel (x86-64, i386)macOS 10.9+ Intel (x86-64, i386)macOS 10.9+ x86-64

spacy_nightly-2.1.0a8-cp35-cp35m-win_amd64.whl (26.8 MB view details)

Uploaded CPython 3.5mWindows x86-64

spacy_nightly-2.1.0a8-cp35-cp35m-manylinux1_x86_64.whl (27.5 MB view details)

Uploaded CPython 3.5m

spacy_nightly-2.1.0a8-cp27-cp27mu-manylinux1_x86_64.whl (27.6 MB view details)

Uploaded CPython 2.7mu

File details

Details for the file spacy-nightly-2.1.0a8.tar.gz.

File metadata

  • Download URL: spacy-nightly-2.1.0a8.tar.gz
  • Upload date:
  • Size: 27.6 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.20.1 setuptools/39.0.1 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.6.6

File hashes

Hashes for spacy-nightly-2.1.0a8.tar.gz
Algorithm Hash digest
SHA256 7f8d27b6d3f3951af9ef8ba2f2e30110a664e38205171fc9e6940aaab93bc8d1
MD5 278f1f6d59cb203650942abbd4767067
BLAKE2b-256 0bef16fa5448b2cb8674957764491722f88e86fd2473f64bdcf6e023ab9101f7

See more details on using hashes here.

File details

Details for the file spacy_nightly-2.1.0a8-cp37-cp37m-win_amd64.whl.

File metadata

  • Download URL: spacy_nightly-2.1.0a8-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 26.8 MB
  • Tags: CPython 3.7m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.20.1 setuptools/39.0.1 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.6.6

File hashes

Hashes for spacy_nightly-2.1.0a8-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 b430bed2df9b34b11ed468f256f3b722d1486c8e395e070b8c829ace8b280547
MD5 bd77017a49261b6296b4bf49c37703ba
BLAKE2b-256 c8caac0c7fc8c6eedd215922e369eb2b342a3948bd8fc37386b12fbf7efc5e0f

See more details on using hashes here.

File details

Details for the file spacy_nightly-2.1.0a8-cp37-cp37m-manylinux1_x86_64.whl.

File metadata

  • Download URL: spacy_nightly-2.1.0a8-cp37-cp37m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 27.6 MB
  • Tags: CPython 3.7m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.20.1 setuptools/39.0.1 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.6.6

File hashes

Hashes for spacy_nightly-2.1.0a8-cp37-cp37m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 f88459cb9f0276ee653897cf8d4ef1e67eb7f1a3ff99404438fa139846ccb446
MD5 563f741f195327916a84247069f2d6bb
BLAKE2b-256 c4dae513b8934706010bf1c1ce98638235a6dc9b1060ee5363368adbf190143d

See more details on using hashes here.

File details

Details for the file spacy_nightly-2.1.0a8-cp37-cp37m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl.

File metadata

File hashes

Hashes for spacy_nightly-2.1.0a8-cp37-cp37m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl
Algorithm Hash digest
SHA256 e8e4eca82a9a1488cf3ccef9407f99df9b6fc5ee373d35a6dd6a7aa89fe83573
MD5 487b64ae004cc71c77b99a8dbb24e101
BLAKE2b-256 be4108a96e2872ad63a9ceae36bf8d2f68221afe265845fefb27678de04d82b8

See more details on using hashes here.

File details

Details for the file spacy_nightly-2.1.0a8-cp36-cp36m-win_amd64.whl.

File metadata

  • Download URL: spacy_nightly-2.1.0a8-cp36-cp36m-win_amd64.whl
  • Upload date:
  • Size: 26.8 MB
  • Tags: CPython 3.6m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.20.1 setuptools/39.0.1 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.6.6

File hashes

Hashes for spacy_nightly-2.1.0a8-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 2785dfd1fda0b12b6c6d442a5ebd099d302c6a0161bd50f94bb215252a3978cb
MD5 112f7900ac8b0305998ac7e2d25c9acf
BLAKE2b-256 b48cb485e5bbe4b3263e532c0eff87cceeec039453b513203c544020c8ceb4ee

See more details on using hashes here.

File details

Details for the file spacy_nightly-2.1.0a8-cp36-cp36m-manylinux1_x86_64.whl.

File metadata

  • Download URL: spacy_nightly-2.1.0a8-cp36-cp36m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 27.6 MB
  • Tags: CPython 3.6m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.20.1 setuptools/39.0.1 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.6.6

File hashes

Hashes for spacy_nightly-2.1.0a8-cp36-cp36m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 4c83a0fd12ce9e09f4d524b78fcb2caf03a787cb2942c4a0a385f0b5ba4a7f0f
MD5 4cff260c358f145bcf0ad5815e79ae0d
BLAKE2b-256 a348e957577c0e1d721edae493415ec05df3c818b0b7dcea0be6ed4327b6163f

See more details on using hashes here.

File details

Details for the file spacy_nightly-2.1.0a8-cp36-cp36m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl.

File metadata

File hashes

Hashes for spacy_nightly-2.1.0a8-cp36-cp36m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl
Algorithm Hash digest
SHA256 6d1bfc7519cbc8248ceb33b96dcbc14f130bf8f0c3de0535c67334edec7dd014
MD5 b70164d4287ca7fb80f2067f759252a3
BLAKE2b-256 3b5b730233626312d488957221ea58a2434a87d291a1cc3e689f0f09692c5d03

See more details on using hashes here.

File details

Details for the file spacy_nightly-2.1.0a8-cp35-cp35m-win_amd64.whl.

File metadata

  • Download URL: spacy_nightly-2.1.0a8-cp35-cp35m-win_amd64.whl
  • Upload date:
  • Size: 26.8 MB
  • Tags: CPython 3.5m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.20.1 setuptools/39.0.1 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.6.6

File hashes

Hashes for spacy_nightly-2.1.0a8-cp35-cp35m-win_amd64.whl
Algorithm Hash digest
SHA256 24dcf15a4b640199c0de1132cf3b4071236f012b4d44bbbfec7472f010d9de36
MD5 f8cc116a7e3c73556fbb1dfac36c6ce7
BLAKE2b-256 a6d5f1cacf8a1072807e393ebd590dabc41d426806f5ea4c89dce20104fad48e

See more details on using hashes here.

File details

Details for the file spacy_nightly-2.1.0a8-cp35-cp35m-manylinux1_x86_64.whl.

File metadata

  • Download URL: spacy_nightly-2.1.0a8-cp35-cp35m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 27.5 MB
  • Tags: CPython 3.5m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.20.1 setuptools/39.0.1 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.6.6

File hashes

Hashes for spacy_nightly-2.1.0a8-cp35-cp35m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 ecb8aff3c4e978757502b39d822f4b568bd945e25794095fcc19d6b78fa14b8a
MD5 330b38eba958a30346a649eb8e5786d9
BLAKE2b-256 b5a30f9d2ff7abb72898fde87973c6ca6a3be3e4e58a33bf418d50f750b512bc

See more details on using hashes here.

File details

Details for the file spacy_nightly-2.1.0a8-cp27-cp27mu-manylinux1_x86_64.whl.

File metadata

  • Download URL: spacy_nightly-2.1.0a8-cp27-cp27mu-manylinux1_x86_64.whl
  • Upload date:
  • Size: 27.6 MB
  • Tags: CPython 2.7mu
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.20.1 setuptools/39.0.1 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.6.6

File hashes

Hashes for spacy_nightly-2.1.0a8-cp27-cp27mu-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 ba9aef81bd567f949e51ac40547421b05bff77fa38492fe374c75c49e10dc3ca
MD5 814a041d73350aaa88b2988cd7bfe716
BLAKE2b-256 576471b77b6abe8021f0f5ea2f2c4b4a6110bb1907a24dc2a0616e7d3ff81937

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page