Skip to main content

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 torch manually 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


Download files

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

Source Distribution

contentintelpy-0.1.5.tar.gz (16.5 kB view details)

Uploaded Source

Built Distribution

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

contentintelpy-0.1.5-py3-none-any.whl (21.2 kB view details)

Uploaded Python 3

File details

Details for the file contentintelpy-0.1.5.tar.gz.

File metadata

  • Download URL: contentintelpy-0.1.5.tar.gz
  • Upload date:
  • Size: 16.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.9

File hashes

Hashes for contentintelpy-0.1.5.tar.gz
Algorithm Hash digest
SHA256 e45d483e84ad8f392f9fbbb4be705e5f58ee56aa32355430e9bd0b3410088ba3
MD5 c89d6d986ec9b3f6f82d0f53859e8bc3
BLAKE2b-256 28d5d1f4c32429b1fc2f2ef680ebdf82056bffe00d84c3013e2570e0c4e2d3c6

See more details on using hashes here.

File details

Details for the file contentintelpy-0.1.5-py3-none-any.whl.

File metadata

  • Download URL: contentintelpy-0.1.5-py3-none-any.whl
  • Upload date:
  • Size: 21.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.9

File hashes

Hashes for contentintelpy-0.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 1ceb103ed3e08e78d4b0dbd45fffaed561fba00b16e6f475dbdd3be9403ea7f4
MD5 9c5cf392b65959ecf52cc00c0c7a5ecb
BLAKE2b-256 b0476c64516c76553baccaabb2af4d903cda278418de863e68bb6bd79f884a61

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