Production-grade NLP library for unified content intelligence.
Project description
contentintelpy
Production-grade NLP library for unified content intelligence.
contentintelpy provides a unified, DAG-based engine for multilingual sentiment analysis, NER, translation, and summarization using real transformer models (RoBERTa, GLiNER, NLLB).
Features
- Real Models: No heuristics. Uses State-of-the-Art Transformers.
- Sentiment: RoBERTa
- NER: GLiNER
- Translation: NLLB (GPU) + ArgosTranslate (Offline CPU)
- Hybrid Execution: Models download on first run (lazy-loaded). Offline fallback available.
- Deterministic Pipelines: DAG-based execution guarantees order.
- Dual API:
- Pipeline-first for complex workflows.
- Service-first for quick scripts.
- Production Ready: Thread-safe, standard error handling, sparse outputs.
Installation
Install the base library:
pip install contentintelpy
🧠 Capability Extras (Recommended)
contentintelpy uses optional "extras" to keep the base installation lightweight. Depending on which features you need, use the following commands:
| Feature | Target Extras | Install Command |
|---|---|---|
| All Features | core,ner,translation,summarization |
pip install "contentintelpy[core,ner,translation,summarization]" |
| Search & Keywords | core |
pip install "contentintelpy[core]" |
| Entity Extraction | ner |
pip install "contentintelpy[ner]" |
| Translation | translation |
pip install "contentintelpy[translation]" |
| Summarization | summarization |
pip install "contentintelpy[summarization]" |
[!TIP] Minimal Install: If you only need language detection and simple text processing, you only need
pip install contentintelpy.
[!IMPORTANT] GPU Support: If you have an NVIDIA GPU, installing
torchmanually with CUDA support before installing the extras will significantly speed up Translation and Classification.
[!IMPORTANT] spaCy Model Requirement If you use NER or language features, you must install a spaCy model manually:
python -m spacy download en_core_web_sm
Quick Start
Ideal for simple tasks in notebooks or scripts.
from contentintelpy import SentimentService, TranslationService
# Sentiment
service = SentimentService()
result = service.analyze("This library is amazing!")
print(result)
# {'value': 'positive', 'confidence': 0.99, ...}
# Translation
translator = TranslationService()
text = translator.translate("Hola mundo", target="en")
print(text)
# "Hello world"
Production Usage (Pipeline-First)
Recommended for Backends, APIs, and Data Pipelines.
import contentintelpy as ci
# 1. Create the canonical pipeline
pipeline = ci.create_default_pipeline()
# 2. Run it (Thread-safe)
result = pipeline.run({
"text": "गूगल ने बेंगलुरु में नया कार्यालय खोला"
})
# 3. Access Sparse Output
print(result)
Output Example:
{
"text": "...",
"text_translated": "Google opened a new office in Bengaluru",
"language": "hi",
"entities": [
{"text": "Google", "label": "ORG"},
{"text": "Bengaluru", "label": "LOC"}
],
"sentiment": {
"value": "neutral",
"value_en": "neutral",
"confidence": 0.95
},
"summary": "..."
}
Error Handling
Nodes never crash the pipeline. Errors are collected in errors dict.
{
"text": "...",
"errors": {
"TranslationNode": "Model download failed: Connection error"
}
}
Architecture
This library is pure logic. It does NOT contain:
- Flask / FastAPI routes
- Database models
- Authentication
It is designed to be consumed by your backend application.
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file contentintelpy-0.1.9.tar.gz.
File metadata
- Download URL: contentintelpy-0.1.9.tar.gz
- Upload date:
- Size: 17.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9d11e184467923f91055879ec08577b6175c6b2d9e49484c9c2b817c7608a09f
|
|
| MD5 |
6e8035770e7b43c9a235f5e1437e107f
|
|
| BLAKE2b-256 |
75eaa9f3afc66aa7d0e4123d8b05ac0f7587e2ac9b6421b9e31bd7588a3df057
|
File details
Details for the file contentintelpy-0.1.9-py3-none-any.whl.
File metadata
- Download URL: contentintelpy-0.1.9-py3-none-any.whl
- Upload date:
- Size: 21.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
239956bd2de29541dcd1b85055b72a50fb85986ac7d02e5ffc3c2ca195b3d39d
|
|
| MD5 |
4d35676969a30e5e21bafc69a59766d5
|
|
| BLAKE2b-256 |
6d6e2cf72f89000e9294be4514ecf76569225e14c633e0b9a490725fa724c40c
|