Skip to content

EvoSpikeNet SDK Installation Guide

Author: Masahiro Aoki

Last updated: January 15, 2026

overview

This guide explains how to install and set up the EvoSpikeNet Python SDK. The SDK is provided as a Python package and can be easily installed using pip.

Prerequisites

System requirements

  • Python: 3.8 or higher
  • OS: Linux, macOS, Windows
  • Memory: Minimum 4GB RAM (8GB or more recommended)
  • Storage: Minimum 2GB free space

Dependencies

The SDK has the following major dependencies:

  • requests>=2.25.0: HTTP client
  • typing-extensions>=4.0.0: Type hint extension
  • dataclasses>=0.6: Data classes (for Python 3.6 and below)
  • websockets>=10.0: WebSocket communication (optional)
  • aiohttp>=3.8.0: Asynchronous HTTP (optional)

Installation method

Run the following command in your project's root directory:

# Install in development mode (recommended)
pip install -e .

# Or install from PyPI (if available)
pip install evospikenet-sdk

Method 2: Manual installation

If you want to install dependencies manually:

# Required dependencies
pip install requests typing-extensions

# Optional dependencies (for Jupyter integration)
pip install ipython jupyter

# Optional dependencies (for WebSocket)
pip install websockets

# Optional dependencies (for asynchronous processing)
pip install aiohttp

Method 3: Installation using Docker

When using Docker environment:

# Building a Docker image
docker build -t evospikenet-sdk .

# Container execution
docker run -it evospikenet-sdk

Preferences

# When using venv
python -m venv evospikenet_env
source evospikenet_env/bin/activate  # Linux/macOS
# evospikenet_env\Scripts\activate     # Windows

# install
pip install -e .

# When using conda
conda create -n evospikenet python=3.9
conda activate evospikenet
pip install -e .

Starting the API server

Before using the SDK, the EvoSpikeNet API server must be started:

# When using Docker Compose (recommended)
sudo ./scripts/run_api_server.sh

# Or start all services
sudo ./scripts/run_frontend_cpu.sh

# Start only specific components
docker-compose -f docker-compose.yml up api

Setting environment variables

When setting up API authentication:

# Linux/macOS
export EVOSPIKENET_API_KEY=your_api_key_here
export EVOSPIKENET_API_URL=http://localhost:8000

# Windows
set EVOSPIKENET_API_KEY=your_api_key_here
set EVOSPIKENET_API_URL=http://localhost:8000

Verify installation

Basic operation check

# Check with Python interpreter
python -c "

<!-- from evospikenet.sdk import EvoSpikeNetAPIClient -->
print('SDK imported successfully')

client = EvoSpikeNetAPIClient()
print('Client initialized successfully')

# health check
try:
    health = client.health_check()
    print(f'Health check: {health}')
except Exception as e:
    print(f'Health check failed: {e}')
"

Check with Jupyter Notebook

# Check with Jupyter Notebook
<!-- TODO: update or remove - import fail<!-- Remember: Automatic conversion not possible  please fix manually --> JupyterAPIClient -->
print("Jupyter integration available")

client = JupyterAPIClient()
client.show_server_info()

Advanced settings

Proxy settings

When using in a proxy environment:

import os
<!-- Module 'evospikenet' not found. Check moves/renames within the package -->
<!-<!-- Remember: Cannot convert automatically  please fix manually -->on['HTTP_PROXY'] = 'http://proxy.example.com:8080'
os.environ['HTTPS_PROXY'] = 'http://proxy.example.com:8080'

# Or set directly in session
import requests
session = requests.Session()
session.proxies = {
    'http': 'http://proxy.example.com:8080',
    'https': 'http://proxy.example.com:8080',
}

client = EvoSpikeNetAPIClient(session=session)

SSL certificate settings

If using a custom SSL certificate:

<!-- TODO: update<!-- Module 'evospikenet' not found. Please check moves/renames in the package -->kenet.sdk import EvoSpikeNet<!-- Remember: Cannot convert automatically  please fix manually -->ent.session.verify = '/path/to/ca-cert.pem'

# Disable SSL verification (development environment only)
# Caution: Do not use in production environments
client.session.verify = False

Configuring timeouts and retries

Settings according to network conditions:

<!-- TODO: update or remove - impo<!-- Module 'evospikenet' not found. Please check the move/rename in the package -->EvoSpikeNetAPIClient -->

# Settings for slow networks
client = E<!-- Remember: Cannot convert automatically  please fix manually --> Retry up to 5 times
)

Installation by platform

Linux

# Ubuntu/Debian
sudo apt-get update
sudo apt-get install python3 python3-pip python3-venv

# CentOS/RHEL
sudo yum install python3 python3-pip
# or
sudo dnf install python3 python3-pip

# SDK installation
pip3 install -e .

macOS

# When using Homebrew
brew install python3

# SDK installation
pip3 install -e .

# Or use system Python
pip install -e .

Windows

# After installing Python
python -m pip install --upgrade pip
pip install -e .

# For PowerShell
python -m venv evospikenet_env
.\evospikenet_env\Scripts\Activate.ps1
pip install -e .

Google Colab

# Installation in Colab environment
!git clone https://github.com/your-repo/EvoSpikeNet.git
%cd EvoSpikeNet
!pip install -e .

# Usage example
```python
from evospikenet.sdk import EvoSpikeNetAPIClient

# Simple guarded initialization example for Colab / notebook
try:
    client = EvoSpikeNetAPIClient(base_url="https://your-api-server.com")
    print("EvoSpikeNet API client initialized")
except Exception:
    print("EvoSpikeNet API client unavailable in this environment; ensure package is installed and PYTHONPATH is set.")
  1. ImportError: No module named 'typing_extensions'

    pip install typing-extensions
    

  2. Jupyter Notebookでのエラー bash pip install ipython jupyter # or conda install ipython jupyter

  3. WebSocket機能が利用できない

    pip install websockets
    

  4. 非同期機能が利用できない

    pip install aiohttp
    

Resolving version conflicts

requirements.txtでバージョン固定する場合:

pip install -r requirements.txt

requirements.txtの内容例:

requests>=2.25.0,<3.0.0
typing-extensions>=4.0.0,<5.0.0
websockets>=10.0,<11.0.0
aiohttp>=3.8.0,<4.0.0

Check API server connection

Basic connection test

from evospikenet.sdk import EvoSpikeNetAPIClient

def test_connection():
    try:
        client = EvoSpikeNetAPIClient()
    except Exception as e:
        print(f"✗ Client initialization failed: {e}")
        return False

    # Health check (guarded)
    if hasattr(client, "health_check"):
        try:
            health = client.health_check()
            print(f"✓ Health: {health}")
        except Exception as e:
            print(f"✗ Health check failed: {e}")
            return False
    else:
        print("Health check API not available; skipping.")

    return True

def test_basic_functionality():
    try:
        client = EvoSpikeNetAPIClient()
    except Exception as e:
        print(f"✗ Client init failed: {e}")
        return False

    if hasattr(client, "get_server_info"):
        try:
            info = client.get_server_info()
            print(f"✓ Server info: {info}")
            return True
        except Exception as e:
            print(f"✗ Server info failed: {e}")
            return False
    else:
        print("get_server_info API not available; skipping.")
        return False

if __name__ == "__main__":
    print("Testing EvoSpikeNet SDK connection...")
    if test_connection():
        test_basic_functionality()

Detailed diagnosis

from evospikenet.sdk import EvoSpikeNetAPIClient
import socket

def diagnose_connection():
    try:
        client = EvoSpikeNetAPIClient(timeout=10)
    except Exception as e:
        print(f"✗ Client init failed: {e}")
        return

    print("=== Connection Diagnostics ===")

    # 1. DNS resolution (simple check)
    try:
        ip = socket.gethostbyname('localhost')
        print(f"✓ DNS resolution: localhost -> {ip}")
    except Exception as e:
        print(f"✗ DNS resolution failed: {e}")
        return

    # 2. Port connectivity
    try:
        sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        sock.settimeout(5)
        result = sock.connect_ex(("localhost", 8000))
        sock.close()
        if result == 0:
            print("✓ Port 8000 accessible")
        else:
            print("✗ Port 8000 not accessible")
            return
    except Exception as e:
        print(f"✗ Port test failed: {e}")
        return

    # 3. HTTP health check (guarded)
    if hasattr(client, "health_check"):
        try:
            health = client.health_check()
            print(f"✓ HTTP connection: {health}")
        except Exception as e:
            print(f"✗ HTTP connection failed: {e}")
    else:
        print("Health check API not available; skip HTTP test.")

    # 4. Stats (guarded)
    if hasattr(client, "get_stats"):
        try:
            stats = client.get_stats()
            print(f"✓ Client stats: {stats}")
        except Exception as e:
            print(f"✗ Stats retrieval failed: {e}")
    else:
        print("Stats API not available; skipping.")

if __name__ == "__main__":
    diagnose_connection()

upgrade

Upgrade SDK

# upgrade to latest version
git pull origin main
pip install -e . --upgrade

# or a specific version
git checkout v1.2.3
pip install -e .```

### Update dependencies

```bash
# update all dependencies
pip install -e . --upgrade

# Update only specific dependencies
pip install --upgrade requests
pip install --upgrade typing-extensions```

## uninstall

SDKをアンインストールする場合:

```bash
# For development mode installation
pip uninstall evospikenet

# When deleting the virtual environment
rm -rf evospikenet_env # Linux/macOS
# rmdir /s evospikenet_env # Windows```

## support

### Get help

- **ドキュメント**: [SDK API Reference](SDK_API_REFERENCE.md)
- **サンプルコード**: `docs/sdk/` ディレクトリ
- **クイックスタート**: [SDK Quickstart](SDK_QUICKSTART.md)

### Common issues

1. **"ModuleNotFoundError"**: Pythonパスが正しく設定されているか確認してください。
2. **"Connection refused"**: APIサーバーが起動しているか確認してください。
3. **"SSL errors"**: SSL証明書の設定を確認してください。
4. **"Timeout errors"**: ネットワーク接続とタイムアウト設定を確認してください。

### Check the log

詳細なデバッグ情報が必要な場合:

```python
import logging

# enable debug log
logging.basicConfig(level=logging.DEBUG)

```python
import logging
from evospikenet.sdk import EvoSpikeNetAPIClient

# Enable debug logging
logging.basicConfig(level=logging.DEBUG)

try:
    client = EvoSpikeNetAPIClient()
    if hasattr(client, "generate"):
        result = client.generate("Test prompt")
        print("Generate result:", result)
    else:
        print("Generate API not available on this client implementation.")
except Exception as e:
    print("EvoSpikeNet SDK client not available or generate() failed:", e)
```

Next steps

Once the installation is complete, please refer to the following documentation:

  1. SDK Quick Start: Basic usage
  2. **[SD
  3. SDK Configuration: Advanced configuration options

You're ready to start using the SDK! /Users/maoki/Documents/GitHub/EvoSpikeNet/docs/SDK_INSTALLATION_GUIDE.md