Skip to main content

Requirements

System Requirements

  • Python: 3.10.10 or higher
  • Operating System: Windows 10+, macOS 10.14+, or Linux (Ubuntu 18.04+)
  • Memory: Minimum 4GB RAM recommended
  • Network: Internet connection required for API access

Python Version Check

Verify your Python version before installation:
bash
python --version
# or
python3 --version
If you need to upgrade Python, visit python.org or use your system’s package manager.

Installation Methods

The Artos SDK is distributed through our private package repository. You’ll need access credentials provided by your organization.

Configure Private Repository Access

First, configure pip to access the private repository:
bash
# Configure pip with your private repository credentials
pip config set global.extra-index-url https://your-username:[email protected]/simple/

# Or set environment variables
export PIP_EXTRA_INDEX_URL=https://your-username:[email protected]/simple/

Install the SDK

bash
# Install latest version
pip install artos-sdk

# Install specific version
pip install artos-sdk==1.2.0

# Install with optional dependencies
pip install artos-sdk[langfuse,dev]

Method 2: Docker Installation

Use our pre-configured Docker image that includes the SDK and all dependencies:

Pull the Docker Image

bash
# Pull the latest image
docker pull your-registry.com/artos-sdk:latest

# Pull specific version
docker pull your-registry.com/artos-sdk:1.2.0

Run Interactive Container

bash
# Run container with volume mounting for your code
docker run -it \
  -v $(pwd):/workspace \
  -w /workspace \
  your-registry.com/artos-sdk:latest \
  python

Docker Compose Setup

Create a docker-compose.yml file:
yaml
version: '3.8'
services:
  artos-app:
    image: your-registry.com/artos-sdk:latest
    volumes:
      - .:/workspace
    working_dir: /workspace
    environment:
      - ARTOS_API_URL=https://api.artosai.com
      - ARTOS_API_KEY=${ARTOS_API_KEY}
    command: python your_script.py
Run with:
bash
docker-compose up

Method 3: Development Installation

For development and testing purposes:
bash
# Clone the repository (requires access)
git clone https://github.com/yourcompany/artos-sdk.git
cd artos-sdk

# Create virtual environment
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate

# Install in development mode
pip install -e .[dev,langfuse]

Dependency Information

Core Dependencies

The SDK automatically installs these required dependencies:
PackageVersionPurposerequests>=2.28.0HTTP client for API communicationlangchain>=0.1.0LLM framework integrationopenai>=1.0.0OpenAI API clientanthropic>=0.8.0Anthropic API clientazure-identity>=1.12.0Azure authenticationazure-storage-blob>=12.14.0Azure blob storageboto3>=1.26.0AWS SDKpydantic>=2.0.0Data validationpython-dotenv>=1.0.0Environment variable management

Optional Dependencies

Install these for enhanced functionality:
bash
# Observability and monitoring
pip install artos-sdk[langfuse]

# Development tools
pip install artos-sdk[dev]

# All optional dependencies
pip install artos-sdk[all]
PackagePurposeInstall WithlangfuseObservability and tracingpip install artos-sdk[langfuse]pytestTesting frameworkpip install artos-sdk[dev]blackCode formattingpip install artos-sdk[dev]mypyType checkingpip install artos-sdk[dev]

Configuration

Environment Variables

Create a .env file in your project root or set system environment variables:
bash
# Required - API Configuration
ARTOS_API_URL=https://api.artosai.com
ARTOS_API_KEY=your_api_key_here

# Optional - Advanced Configuration
ARTOS_TIMEOUT=30
ARTOS_MAX_RETRIES=3
ARTOS_RETRY_DELAY=1.0
ARTOS_DEBUG=false

# Optional - Langfuse Integration
LANGFUSE_PUBLIC_KEY=your_langfuse_public_key
LANGFUSE_SECRET_KEY=your_langfuse_secret_key
LANGFUSE_HOST=https://your-langfuse-host.com

Configuration File

Alternatively, create a configuration file artos_config.yaml:
yaml
# Artos SDK Configuration
api:
  url: "https://api.artosai.com"
  key: "your_api_key_here"
  timeout: 30
  max_retries: 3
  retry_delay: 1.0

# Logging Configuration
logging:
  level: "INFO"
  format: "%(asctime)s - %(name)s - %(levelname)s - %(message)s"
  file: "artos_sdk.log"

# Optional Features
features:
  langfuse_enabled: false
  debug_mode: false
  
# Langfuse Configuration (if enabled)
langfuse:
  public_key: "your_langfuse_public_key"
  secret_key: "your_langfuse_secret_key"
  host: "https://your-langfuse-host.com"

Installation Verification

Quick Health Check

Verify your installation with this simple health check:
python
from artos_sdk import ArtosClient
from artos_sdk.utils import verify_installation

# Verify installation
verification_result = verify_installation()
print(verification_result)

# Test API connectivity
try:
    client = ArtosClient()
    health_status = client.health.check()
    print(f"API Health: {health_status['status']}")
    print("✅ Installation successful!")
except Exception as e:
    print(f"❌ Installation verification failed: {e}")

Comprehensive Verification

Run the built-in verification script:
bash
# Run verification script
python -m artos_sdk.verify

# Or run specific checks
python -m artos_sdk.verify --check-config --check-api --check-dependencies
Expected output:
🔍 Artos SDK Installation Verification
=====================================

✅ Python Version: 3.10.10 (compatible)
✅ Dependencies: All required packages installed
✅ Configuration: Environment variables detected
✅ API Connectivity: Connection successful
✅ Authentication: Token valid
✅ Permissions: User access confirmed

🎉 Installation verification completed successfully!

SDK Version: 1.2.0
API Version: v1
User: [email protected]
Organization: your-organization

Manual Verification Steps

  1. Check SDK Import
    python
    
    import artos_sdk
    print(f"SDK Version: {artos_sdk.__version__}")
    
  2. Verify Configuration
    python
    
    from artos_sdk.config import get_config
    config = get_config()
    print(f"API URL: {config.api_url}")
    print(f"Configuration valid: {config.is_valid()}")
    
  3. Test Authentication
    python
    
    from artos_sdk import ArtosClient
    client = ArtosClient()
    user_info = client.auth.get_current_user()
    print(f"Authenticated as: {user_info['username']}")
    
  4. Test Basic Functionality
    python
    
    # Test document listing
    documents = client.documents.list(limit=5)
    print(f"Found {len(documents)} documents")
    
    # Test system health
    health = client.health.check()
    print(f"System status: {health['status']}")
    

Common Installation Issues

Issue 1: Private Repository Access Denied

Problem: pip install artos-sdk fails with authentication error Solution:
bash
# Verify credentials
pip config list

# Re-configure with correct credentials
pip config set global.extra-index-url https://correct-username:[email protected]/simple/

# Or use environment variable
export PIP_EXTRA_INDEX_URL=https://username:[email protected]/simple/

Issue 2: Python Version Incompatibility

Problem: SDK requires Python 3.10.10 or higher Solution:
bash
# Install Python 3.10+ using pyenv
curl https://pyenv.run | bash
pyenv install 3.10.10
pyenv global 3.10.10

# Or use conda
conda create -n artos python=3.10.10
conda activate artos

Issue 3: Dependency Conflicts

Problem: Conflicting versions of dependencies Solution:
bash
# Create fresh virtual environment
python -m venv fresh_env
source fresh_env/bin/activate  # Windows: fresh_env\Scripts\activate

# Install SDK in clean environment
pip install --upgrade pip
pip install artos-sdk

# Or use pip-tools for dependency resolution
pip install pip-tools
pip-compile requirements.in
pip-sync requirements.txt

Issue 4: Import Errors

Problem: ModuleNotFoundError: No module named 'artos_sdk' Solution:
bash
# Verify installation
pip list | grep artos-sdk

# Reinstall if missing
pip uninstall artos-sdk
pip install artos-sdk

# Check Python path
python -c "import sys; print(sys.path)"

Issue 5: Configuration Not Found

Problem: SDK can’t find configuration Solution:
python
# Check configuration loading
from artos_sdk.config import get_config, ConfigError

try:
    config = get_config()
    print("Configuration loaded successfully")
except ConfigError as e:
    print(f"Configuration error: {e}")
    print("Please check your .env file or environment variables")

Virtual Environment Setup

bash
# Create virtual environment
python -m venv artos_env

# Activate (Linux/macOS)
source artos_env/bin/activate

# Activate (Windows)
artos_env\Scripts\activate

# Install SDK
pip install artos-sdk

# Deactivate when done
deactivate

Using conda

bash
# Create conda environment
conda create -n artos python=3.10.10
conda activate artos

# Install SDK
pip install artos-sdk

# Deactivate
conda deactivate

Using pipenv

bash
# Create Pipfile
echo 'artos-sdk = "*"' > Pipfile

# Install with pipenv
pipenv install
pipenv shell

IDE Configuration

VS Code Setup

Create .vscode/settings.json:
json
{
    "python.defaultInterpreterPath": "./venv/bin/python",
    "python.linting.enabled": true,
    "python.linting.pylintEnabled": true,
    "python.formatting.provider": "black",
    "python.envFile": "${workspaceFolder}/.env"
}

PyCharm Setup

  1. Go to File > Settings > Project > Python Interpreter
  2. Add new interpreter pointing to your virtual environment
  3. Install the .env plugin for environment variable support
  4. Configure code style to use Black formatting

Docker Configuration

Custom Dockerfile

dockerfile
FROM python:3.10.10-slim

# Set working directory
WORKDIR /app

# Install system dependencies
RUN apt-get update && apt-get install -y \
    curl \
    git \
    && rm -rf /var/lib/apt/lists/*

# Copy requirements
COPY requirements.txt .

# Configure private repository access
ARG PIP_EXTRA_INDEX_URL
ENV PIP_EXTRA_INDEX_URL=$PIP_EXTRA_INDEX_URL

# Install Python dependencies
RUN pip install --no-cache-dir -r requirements.txt

# Copy application code
COPY . .

# Set environment variables
ENV PYTHONPATH=/app
ENV ARTOS_API_URL=https://api.artosai.com

# Health check
HEALTHCHECK --interval=30s --timeout=10s --start-period=5s --retries=3 \
  CMD python -c "from artos_sdk import ArtosClient; ArtosClient().health.check()" || exit 1

# Default command
CMD ["python", "-m", "artos_sdk.verify"]

Build and Run

bash
# Build image
docker build --build-arg PIP_EXTRA_INDEX_URL=https://user:[email protected]/simple/ -t my-artos-app .

# Run container
docker run -e ARTOS_API_KEY=your_key my-artos-app

Upgrade Instructions

Upgrading the SDK

bash
# Upgrade to latest version
pip install --upgrade artos-sdk

# Upgrade to specific version
pip install --upgrade artos-sdk==1.3.0

# Check current version
python -c "import artos_sdk; print(artos_sdk.__version__)"

Migration Notes

When upgrading between major versions, check the changelog for breaking changes:
python
# Check for deprecated features
import warnings
warnings.filterwarnings("default", category=DeprecationWarning)

from artos_sdk import ArtosClient
# Deprecated features will show warnings