Skip to main content

Official Python SDK for ArkForge DeFi portfolio management

Project description

ArkForge Python SDK

Python client for ArkForge DeFi portfolio management API.

PyPI version Python Version

Installation

pip install arkforge

Requirements

  • Python 3.8+
  • Valid ArkForge API key

Usage

from arkforge import ArkForgeClient
from arkforge.models import OptimizePortfolioRequest

client = ArkForgeClient(api_key="sk-arkforge-...")

result = client.optimize_portfolio(
    OptimizePortfolioRequest(
        assets=["BTC", "ETH", "SOL"],
        risk_profile="moderate"
    )
)

print(result.allocation)

Configuration

client = ArkForgeClient(
    api_key="sk-arkforge-...",
    base_url="https://api.arkforge.io",
    timeout=120,
    retry_attempts=5
)

Environment variables:

API Methods

ArkForgeClient:

  • optimize_portfolio(request) - Optimize portfolio allocation (live or backtest mode)
  • optimize_portfolio_async(request) - Async version
  • get_risk_profiles() - Get available risk profiles
  • health() - Check service health

KeyManagementClient:

  • create_key(request) - Create API key
  • list_keys() - List API keys
  • get_key_details(key_id) - Get key details
  • revoke_key(key_id, reason) - Revoke API key
  • rotate_key(key_id, name) - Rotate API key

Backtesting

The SDK supports backtesting by providing historical price data. The API automatically enters backtest mode when historical_data is provided.

from arkforge import ArkForgeClient, OptimizePortfolioRequest

client = ArkForgeClient(api_key="sk-arkforge-...")

# Prepare historical data (90+ days per asset)
historical_data = [
    {"symbol": "BTC", "timestamp": "2024-01-01T00:00:00Z", "price": 42350.50},
    {"symbol": "BTC", "timestamp": "2024-01-02T00:00:00Z", "price": 43120.75},
    # ... 90+ days of data per asset
]

# Optional: Historical sentiment data
historical_sentiment = [
    {
        "asset": "BTC",
        "timestamp": "2024-01-15T00:00:00Z",
        "score": 0.37,
        "category": "bullish",
        "confidence": 0.82
    }
]

# Same request interface, just add historical data
request = OptimizePortfolioRequest(
    assets=["BTC", "ETH", "SOL"],
    risk_profile="moderate",
    historical_data=historical_data,
    historical_sentiment=historical_sentiment  # Optional
)

result = client.optimize_portfolio(request)

See examples/backtesting_example.py for a complete example.

Development

# Install development dependencies
pip install -e ".[dev]"

# Run tests
pytest

# Type checking
mypy arkforge

# Linting
ruff check arkforge

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

arkforge-0.0.3.tar.gz (76.5 kB view details)

Uploaded Source

Built Distribution

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

arkforge-0.0.3-py3-none-any.whl (25.3 kB view details)

Uploaded Python 3

File details

Details for the file arkforge-0.0.3.tar.gz.

File metadata

  • Download URL: arkforge-0.0.3.tar.gz
  • Upload date:
  • Size: 76.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for arkforge-0.0.3.tar.gz
Algorithm Hash digest
SHA256 e9744454f956e36fd1f20ccfb6a56b87aa92377b92685f11838a9a4a225fddfd
MD5 31a4e5112161e3150cd1c125205d7eb8
BLAKE2b-256 a88a2efce7fe3dd3a74139263daad2c5a4d3f0be59c903966c66aaef01cc20b4

See more details on using hashes here.

Provenance

The following attestation bundles were made for arkforge-0.0.3.tar.gz:

Publisher: publish.yml on Arkonix-finance/ArkForge-SDK-PY

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file arkforge-0.0.3-py3-none-any.whl.

File metadata

  • Download URL: arkforge-0.0.3-py3-none-any.whl
  • Upload date:
  • Size: 25.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for arkforge-0.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 23ef77e8406bc5afd026caf5a41e5ea9a38bc01334350b3e0250e3f7d95b5c3e
MD5 fc7cc7506b0b4bc57297855ddd5160ae
BLAKE2b-256 e0b529abb35bb40a09fc23f315d7610c6e613b9f983d4194ac948935c41aa5ad

See more details on using hashes here.

Provenance

The following attestation bundles were made for arkforge-0.0.3-py3-none-any.whl:

Publisher: publish.yml on Arkonix-finance/ArkForge-SDK-PY

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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