Skip to main content

A Python SDK for interacting with the Sentor ML API for sentiment analysis

Project description

Sentor Python SDK

A Python SDK for interacting with the Sentor ML API for sentiment analysis. This SDK provides a simple and intuitive interface for sentiment analysis operations.

Features

  • 🚀 Python 3.7+ support
  • ⚡ Simple and intuitive API
  • 🌍 Multi-language support (English and Dutch)
  • 📦 Batch processing capabilities
  • 🛡️ Comprehensive error handling
  • 🔄 Real-time sentiment analysis

Installation

pip install sentor-ml

Work like a PRO

  1. Go to Sentor ML API
  2. Subscribe to the Starter plan
  3. Get your API key

Usage

Basic Usage

from sentor import SentorClient

# Initialize the client
client = SentorClient('your-api-key')

# Predict sentiment
input_data = [
    {
      "doc": "In the competitive landscape of consumer electronics, Apple and Samsung continue to lead the market with innovative products and strong brand loyalty. While Apple focuses on a tightly integrated ecosystem with devices like the iPhone, iPad, and Mac, Samsung excels in offering a wide range of options across various price points, especially in its Galaxy smartphone lineup. Both companies push the boundaries of technology, from cutting-edge chipsets to advanced camera systems, often setting industry trends that others follow.",
      "doc_id": "0",
      "entities": [
        "Apple",
        "Samsung",
        "camera"
      ]
    },
    {
      "doc": "Apple's new iPhone is amazing!",
      "doc_id": "1",
      "entities": [
        "Apple",
        "iPhone"
      ]
    },
    {
      "doc": "Samsung's new phone is amazing!",
      "doc_id": "2",
      "entities": [
        "Samsung",
        "phone"
      ]
    }
  ]
# Predict with default language (English)
result = client.predict(input_data)
print(result)

# Predict with Dutch language
result_nl = client.predict(input_data, language="nl")
print(result_nl)

Language Support

The SDK supports multi-language sentiment analysis with the following options:

  • "en" (default): English language prediction
  • "nl": Dutch language prediction
# Default English prediction
result_en = client.predict(documents)

# Explicitly specify English
result_en = client.predict(documents, language="en")

# Dutch language prediction
result_nl = client.predict(documents, language="nl")

Sample Output

{
  "results": [
    {
      "doc_id": "0",
      "predicted_class": 2,
      "predicted_label": "positive",
      "probabilities": {
        "negative": 0.00007679959526285529,
        "neutral": 0.0002924697764683515,
        "positive": 0.9996306896209717
      },
      "details": [
        {
          "sentence_index": 0,
          "sentence_text": "In the competitive landscape of consumer electronics, Apple and Samsung continue to lead the market with innovative products and strong brand loyalty.",
          "predicted_class": 2,
          "predicted_label": "positive",
          "probabilities": {
            "negative": 0.00009389198385179043,
            "neutral": 0.00032428017584607005,
            "positive": 0.9995818734169006
          }
        },
        {
          "sentence_index": 1,
          "sentence_text": "While Apple focuses on a tightly integrated ecosystem with devices like the iPhone, iPad, and Mac, Samsung excels in offering a wide range of options across various price points, especially in its Galaxy smartphone lineup.",
          "predicted_class": 2,
          "predicted_label": "positive",
          "probabilities": {
            "negative": 0.00005746580063714646,
            "neutral": 0.00012963586777914315,
            "positive": 0.99981290102005
          }
        },
        {
          "sentence_index": 2,
          "sentence_text": "Both companies push the boundaries of technology, from cutting-edge chipsets to advanced camera systems, often setting industry trends that others follow.",
          "predicted_class": 2,
          "predicted_label": "positive",
          "probabilities": {
            "negative": 0.00006366783054545522,
            "neutral": 0.00044553453335538507,
            "positive": 0.9994907379150391
          }
        }
      ]
    },
    {
      "doc_id": "1",
      "predicted_class": 2,
      "predicted_label": "positive",
      "probabilities": {
        "negative": 0.00010637375817168504,
        "neutral": 0.0002509312762413174,
        "positive": 0.9996427297592163
      },
      "details": [
        {
          "sentence_index": 0,
          "sentence_text": "Apple's new iPhone is amazing!",
          "predicted_class": 2,
          "predicted_label": "positive",
          "probabilities": {
            "negative": 0.00010637375817168504,
            "neutral": 0.0002509312762413174,
            "positive": 0.9996427297592163
          }
        }
      ]
    },
    {
      "doc_id": "2",
      "predicted_class": 2,
      "predicted_label": "positive",
      "probabilities": {
        "negative": 0.00010637375817168504,
        "neutral": 0.0002509312762413174,
        "positive": 0.9996427297592163
      },
      "details": [
        {
          "sentence_index": 0,
          "sentence_text": "Samsung's new phone is amazing!",
          "predicted_class": 2,
          "predicted_label": "positive",
          "probabilities": {
            "negative": 0.00010637375817168504,
            "neutral": 0.0002509312762413174,
            "positive": 0.9996427297592163
          }
        }
      ]
    }
  ]
}

API Reference

Please refer to the Sentor ML API Documentation for more details. You can also try the API in the Sentor ML API Swagger Playground.

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

MIT License - see the LICENSE file for details.

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

sentor_ml-1.4.0.tar.gz (5.6 kB view details)

Uploaded Source

Built Distribution

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

sentor_ml-1.4.0-py3-none-any.whl (6.5 kB view details)

Uploaded Python 3

File details

Details for the file sentor_ml-1.4.0.tar.gz.

File metadata

  • Download URL: sentor_ml-1.4.0.tar.gz
  • Upload date:
  • Size: 5.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.13

File hashes

Hashes for sentor_ml-1.4.0.tar.gz
Algorithm Hash digest
SHA256 dc510f8c00e08c7716966b195206de8c5d828b57a42e33eb44c19944a5c14ddf
MD5 fc39cccc78601ea1717d20553b77f116
BLAKE2b-256 3f1e9ad418bf497b083dc8e372cb81e0b0ee2d7b0489014af543d98d94fc677e

See more details on using hashes here.

File details

Details for the file sentor_ml-1.4.0-py3-none-any.whl.

File metadata

  • Download URL: sentor_ml-1.4.0-py3-none-any.whl
  • Upload date:
  • Size: 6.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.13

File hashes

Hashes for sentor_ml-1.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1071046eaabf79dce3c3c13810ed7ee14ef72ef8e307a8bf0f374c3ed6d3c442
MD5 083c36e4615ca6c9d5b81e9ced940a69
BLAKE2b-256 85f02b8a3c82145aa79084e2a79f6815c680fd5160885f5b7fab48bf22458ee9

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