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.2.tar.gz (66.6 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.2-py3-none-any.whl (23.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: arkforge-0.0.2.tar.gz
  • Upload date:
  • Size: 66.6 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.2.tar.gz
Algorithm Hash digest
SHA256 c16f0b1aee4485c57a1b38498f62e48797e92863913e23224e65e6f35ad388f4
MD5 0197c6e30cc754812864bcac11a4f6b7
BLAKE2b-256 b4c50d4a7e3be7b46138ad29df8b1c923c3a958cc06f85d9fedc5fdbf2cd4447

See more details on using hashes here.

Provenance

The following attestation bundles were made for arkforge-0.0.2.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.2-py3-none-any.whl.

File metadata

  • Download URL: arkforge-0.0.2-py3-none-any.whl
  • Upload date:
  • Size: 23.5 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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 141a7fce1cc75664d5682c4b0e5de1767c278f71bc062561fb0e94a696d9cb15
MD5 e156da44356ff931f03882636270bda5
BLAKE2b-256 f2a20af8d9a9d78145b977d53c57ed693b3850ade9625f866b9990e4541b0eeb

See more details on using hashes here.

Provenance

The following attestation bundles were made for arkforge-0.0.2-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