thinc
A refreshing functional take on deep learning, compatible with your favorite libraries
Decision gist · record as of 2026-08-14
Yes. Thinc is production-ready (stable since 2014, actively maintained), has no known vulnerabilities, and offers a genuinely different approach to model composition via functional programming. Install friction is moderate but manageable. Choose it if you want type-safe, framework-agnostic model composition or need to integrate with spaCy/Prodigy; skip it if you prefer direct PyTorch or TensorFlow APIs.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.9 or later.
- If PyTorch is installed, uninstall the dataclasses package to avoid incompatibility.
- Medium install friction due to 12 runtime dependencies including numpy and pydantic.
License · maintenance · safety
MIT (permissive) — MIT license permits unrestricted use, modification, and distribution in commercial and private projects with minimal attribution requirements.
last release 2024-09-12 (701 days) · last repo commit 2026-03-27 · 2,890 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 23,856,133 downloads/mo, #932 on PyPI
Alternatives
Verify before relying
pip install thinc
from thinc.api import Model, chain, with_array
import numpy as np
model = chain()
X = np.random.randn(10, 5)
Y = model.predict(X)- Whether the config system and function registry are suitable for production model deployment workflows.
- Performance characteristics compared to direct PyTorch or TensorFlow usage for large-scale models.
- Availability and maturity of optional backend dependencies for GPU acceleration.
What it is and what it does
Thinc is a deep learning library built by the makers of spaCy and Prodigy that takes a functional-programming approach to model composition. Rather than requiring inheritance-based model definitions, it lets you build models by chaining layers and functions together, with full type checking via mypy integration. It can wrap models from PyTorch, TensorFlow, and MXNet, letting you use those frameworks' layers within a Thinc composition.
The library includes an integrated config system for describing model trees and hyperparameters, making it easier to compose, configure, and deploy custom models. It has been running in production across thousands of companies through spaCy and Prodigy. You can use Thinc as a standalone toolkit, an interface layer over other frameworks, or a flexible way to prototype new architectures—all with the benefit of type safety and a cleaner functional API.
Use it for
- Wrap PyTorch or TensorFlow layers into a unified Thinc model for framework-agnostic composition.
- Build type-safe neural network architectures using functional composition instead of class inheritance.
- Configure and deploy custom models via Thinc's config system without hardcoding hyperparameters.
- Integrate deep learning into spaCy or Prodigy pipelines for NLP tasks.
- Prototype new model architectures with a lightweight, functional-first API.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes.
Thinc is production-ready (stable since 2014, actively maintained), has no known vulnerabilities, and offers a genuinely different approach to model composition via functional programming. Install friction is moderate but manageable. Choose it if you want type-safe, framework-agnostic model composition or need to integrate with spaCy/Prodigy; skip it if you prefer direct PyTorch or TensorFlow APIs.
Install
thinc on PyPI
Before you install
Medium install friction due to 12 runtime dependencies including numpy and pydantic. Prebuilt wheels available for Python 3.9–3.12 across macOS, Linux, and Windows. Active maintenance with last commit on 2026-03-27.
Requires Python 3.9 or later. If PyTorch is installed, uninstall the dataclasses package to avoid incompatibility.
License in practice
MIT license permits unrestricted use, modification, and distribution in commercial and private projects with minimal attribution requirements.
Quickstart
pip install thinc
from thinc.api import Model, chain, with_array
import numpy as np
model = chain()
X = np.random.randn(10, 5)
Y = model.predict(X)
Verify before relying
- Whether the config system and function registry are suitable for production model deployment workflows.
- Performance characteristics compared to direct PyTorch or TensorFlow usage for large-scale models.
- Availability and maturity of optional backend dependencies for GPU acceleration.
Package facts
| License | MIT permissive |
| Python support | Supports the current Python release >=3.9 |
| Install friction | Medium. Platform-specific wheel |
| Runtime dependencies | 12 packagesblismurmurhashcymempreshedwasabisrslycatalogueconfectionsetuptoolsnumpypydanticpackaging |
| Maintenance | Actively maintained 701 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 23,856,133 / month, #932 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 5 - Production/StableEnvironment :: ConsoleIntended Audience :: DevelopersIntended Audience :: Science/ResearchLicense :: OSI Approved :: MIT LicenseOperating System :: MacOS :: MacOS XOperating System :: Microsoft :: WindowsOperating System :: POSIX :: LinuxProgramming Language :: CythonProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.9Topic :: Scientific/Engineering |
Evidence: thinc-9.1.1-cp310-cp310-macosx_10_9_x86_64.whl; thinc-9.1.1-cp310-cp310-macosx_11_0_arm64.whl; thinc-9.1.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl; thinc-9.1.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl; thinc-9.1.1-cp310-cp310-musllinux_1_2_i686.whl; thinc-9.1.1-cp310-cp310-musllinux_1_2_x86_64.whl; thinc-9.1.1-cp310-cp310-win_amd64.whl; thinc-9.1.1-cp311-cp311-macosx_10_9_x86_64.whl; thinc-9.1.1-cp311-cp311-macosx_11_0_arm64.whl; thinc-9.1.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl; thinc-9.1.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl; thinc-9.1.1-cp311-cp311-musllinux_1_2_i686.whl; thinc-9.1.1-cp311-cp311-musllinux_1_2_x86_64.whl; thinc-9.1.1-cp311-cp311-win_amd64.whl; thinc-9.1.1-cp312-cp312-macosx_10_9_x86_64.whl; thinc-9.1.1-cp312-cp312-macosx_11_0_arm64.whl; thinc-9.1.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl; thinc-9.1.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl; thinc-9.1.1-cp312-cp312-musllinux_1_2_i686.whl; thinc-9.1.1-cp312-cp312-musllinux_1_2_x86_64.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “functional deep learning library”
- thincThinc is a lightweight deep learning library offering a…
- equinoxEquinox provides neural network and model building on top of JAX with…
- flaxFlax is a neural network library for JAX that lets you build, train,…
Give your agent the search over MCP, or paste the wish link into any chat.
More Scientific/Engineering packages
NumPy provides an N-dimensional array object and a comprehensive suite of mathematical, linear algebra, Fourier transform, and random number functions for scientific computing in Python.
pandas provides fast, flexible data structures (Series and DataFrame) for loading, cleaning, transforming, and analyzing labeled or relational data in Python.
scipy provides numerical algorithms for mathematics, science, and engineering—including optimization, integration, linear algebra, Fourier transforms, signal and image processing, and ODE solvers—built on numpy arrays.
scikit-learn provides a comprehensive Python library for supervised and unsupervised machine learning, including classification, regression, clustering, dimensionality reduction, and model evaluation tools built on NumPy and SciPy.
Install it if you need to train, evaluate, or deploy supervised or unsupervised learning models.
dill extends Python's pickle module to serialize and deserialize a much wider range of Python objects, including functions, lambdas, classes, and interpreter sessions, to byte streams for storage or network transmission.
Multiprocess is an enhanced fork of Python's standard multiprocessing library that uses dill for better serialization, allowing you to spawn processes with a threading-like API and share complex objects between them.
Install it if you use multiprocessing and encounter pickle serialization limits with lambdas or complex objects.
See also tf-slim · fastai · tensorflow · segmentation-models-pytorch · tensorflow-cpu · mxnet · lightly · model-compression-toolkit · torch · lightly-utils