Skip to main content

QAnswer: Api Documentation

Project description

QAnswer Python SDK

PyPI version Python Versions License: MIT

Official Python SDK for the QAnswer API, automatically generated from the OpenAPI specification.

This SDK allows Python applications to interact with QAnswer's services programmatically without needing to craft raw HTTP requests.


🚀 Features

  • Full coverage of QAnswer API endpoints
  • Type-safe models via Pydantic
  • Easy configuration of authentication and base URL
  • Auto-generated and versioned with each API release

📦 Installation

You can install from PyPI:

pip install qanswer-sdk

Or add it to your requirements.txt

qanswer-sdk==3.1184.0

🔑 Authentication

Most endpoints require authentication. You can configure authentication in several ways:

API Key Authentication

from qanswer_sdk import Configuration, ApiClient
from qanswer_sdk.api.chatbot_api import ChatbotApi

# Configure API key authorization
config = Configuration(
    host="https://api.qanswer.eu",
    api_key={"QAnswer-Api-Key": "your-api-key-here"}
)

# Initialize client
with ApiClient(config) as client:
    api = ChatbotApi(client)
    # Use the API...

Bearer Token Authentication

from qanswer_sdk import Configuration, ApiClient
from qanswer_sdk.api.chatbot_api import ChatbotApi

# Configure Bearer token authorization
config = Configuration(
    host="https://api.qanswer.eu",
    access_token="your-jwt-token-here"
)

# Initialize client
with ApiClient(config) as client:
    api = ChatbotApi(client)
    # Use the API...

Basic Authentication

from qanswer_sdk import Configuration, ApiClient
from qanswer_sdk.api.chatbot_api import ChatbotApi

# Configure Basic authorization
config = Configuration(
    host="https://api.qanswer.eu",
    username="your-username",
    password="your-password"
)

# Initialize client
with ApiClient(config) as client:
    api = ChatbotApi(client)
    # Use the API...

📖 Usage Examples

Chatbot API

from qanswer_sdk import Configuration, ApiClient
from qanswer_sdk.api.chatbot_api import ChatbotApi
from qanswer_sdk.models.chatbot_chat_payload import ChatbotChatPayload

config = Configuration(
    host="https://api.qanswer.eu",
    api_key={"QAnswer-Api-Key": "your-api-key"}
)

with ApiClient(config) as client:
    api = ChatbotApi(client)
    
    # Create chat payload
    payload = ChatbotChatPayload(
        message="What is artificial intelligence?",
        # Add other required fields based on your model
    )
    
    # Send chat message
    response = api.free_text_chatbot_chat(payload)
    print(response.answer)  # Access response data

Chat Completion API

from qanswer_sdk.api.chat_completion_api import ChatCompletionApi

with ApiClient(config) as client:
    api = ChatCompletionApi(client)
    # Use chat completion endpoints...

Handle Different Response Types

# Get just the data
response_data = api.free_text_chatbot_chat(payload)

# Get full HTTP response info
full_response = api.free_text_chatbot_chat_with_http_info(payload)
print(full_response.status_code)
print(full_response.headers)
print(full_response.data)

# Get raw HTTP response for streaming
raw_response = api.free_text_chatbot_chat_without_preload_content(payload)

⚙️ Configuration Options

from qanswer_sdk import Configuration

config = Configuration(
    host="https://api.qanswer.eu",  # API base URL
    api_key={"QAnswer-Api-Key": "your-key"},  # API key auth
    access_token="jwt-token",  # Bearer token auth
    username="user",  # Basic auth username
    password="pass",  # Basic auth password
    verify_ssl=True,  # SSL verification
    ssl_ca_cert="/path/to/ca.pem",  # Custom CA certificate
    connection_pool_maxsize=10,  # Connection pool size
    retries=3,  # Number of retries
    debug=False,  # Enable debug logging
    proxy="http://proxy:8080"  # Proxy URL
)

🛠 Error Handling

from qanswer_sdk.exceptions import (
    ApiException, 
    BadRequestException,
    UnauthorizedException,
    NotFoundException
)

try:
    response = api.free_text_chatbot_chat(payload)
except UnauthorizedException:
    print("Invalid authentication credentials")
except BadRequestException as e:
    print(f"Bad request: {e}")
except ApiException as e:
    print(f"API error: {e.status} - {e.reason}")

📝 Models and Type Safety

All request and response objects are Pydantic models with full type safety:

from qanswer_sdk.models.chatbot_chat_payload import ChatbotChatPayload
from qanswer_sdk.models.chatbot_response import ChatbotResponse

# Create typed request payload
payload = ChatbotChatPayload(
    message="Hello",
    # IDE will provide autocomplete for available fields
)

# Response is fully typed
response: ChatbotResponse = api.free_text_chatbot_chat(payload)
# Access typed response fields with autocomplete
print(response.answer)

📌 Versioning

This SDK follows the version of the QAnswer API. The current version is: 3.1245.0 (branch: main)


🤝 Support

For issues related to:

  • SDK usage: Open an issue in this repository
  • API functionality: Contact QAnswer support
  • Authentication: Check your API key and permissions

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.


Made with ❤️ by The QA Company

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

qanswer_sdk-3.1245.0.tar.gz (217.8 kB view details)

Uploaded Source

Built Distribution

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

qanswer_sdk-3.1245.0-py3-none-any.whl (662.6 kB view details)

Uploaded Python 3

File details

Details for the file qanswer_sdk-3.1245.0.tar.gz.

File metadata

  • Download URL: qanswer_sdk-3.1245.0.tar.gz
  • Upload date:
  • Size: 217.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.2 CPython/3.12.3 Linux/6.8.0-83-generic

File hashes

Hashes for qanswer_sdk-3.1245.0.tar.gz
Algorithm Hash digest
SHA256 c9f2f076a96e590b684e5baed53ea19839eb6c9ecad6f892e00ad8b9e73aa675
MD5 b6f87be7551ab088a8f5d1220010d037
BLAKE2b-256 c05bbf61230976feb9db29be2d4c7b1d24499d0fc05c8ca334ad2d4680eba8fe

See more details on using hashes here.

File details

Details for the file qanswer_sdk-3.1245.0-py3-none-any.whl.

File metadata

  • Download URL: qanswer_sdk-3.1245.0-py3-none-any.whl
  • Upload date:
  • Size: 662.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.2 CPython/3.12.3 Linux/6.8.0-83-generic

File hashes

Hashes for qanswer_sdk-3.1245.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7f4b946adab9e4f7cb9e3afa545ea05c6f42895f944a5c962bd62063143a4d6e
MD5 b66817a014dfb4766446d04f07b4bce5
BLAKE2b-256 ff28a54ed00a8e23a5b44d8c997eff065c41e600e4867fbc53e20f1ef29523f7

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