Skip to main content

SDK for building trading bots on the0 platform

Project description

the0-sdk (Python)

SDK for building trading bots on the0 platform.

Installation

pip install the0-sdk

Or copy the the0/ directory to your project.

Quick Start

from the0 import parse, success, error, metric, log

# Parse bot configuration from environment
bot_id, config = parse()

log(f"Bot {bot_id} starting...")

# Access configuration
symbol = config.get("symbol", "BTC/USDT")
amount = config.get("amount", 100.0)

try:
    # Your trading logic here
    log(f"Trading {symbol} with amount {amount}")

    # Emit metrics for the dashboard
    metric("price", {
        "symbol": symbol,
        "value": 45000.50,
        "change_pct": 2.5
    })

    # Signal success
    success("Trade executed", {
        "symbol": symbol,
        "amount": amount
    })

except Exception as e:
    error(f"Trade failed: {e}")

API Reference

parse() -> Tuple[str, Dict]

Parse bot configuration from environment variables.

bot_id, config = parse()
# bot_id: Value of BOT_ID env var
# config: Parsed JSON from BOT_CONFIG env var

success(message: str, data: dict = None)

Output a success result.

success("Trade completed")
success("Trade completed", {"trade_id": "12345"})

error(message: str, data: dict = None)

Output an error result and exit with code 1.

if amount <= 0:
    error("Amount must be positive")
    # Program exits here

result(data: dict)

Output a custom JSON result.

result({
    "status": "success",
    "trade_id": "abc123",
    "filled_amount": 0.5,
    "average_price": 45123.50
})

metric(type: str, data: dict)

Emit a metric for the platform dashboard.

# Price metric
metric("price", {"symbol": "BTC/USD", "value": 45000})

# Trading signal
metric("signal", {"symbol": "ETH/USD", "direction": "long", "confidence": 0.85})

# Alert
metric("alert", {"type": "price_spike", "severity": "high"})

log(message: str, data: dict = None)

Log a message to the bot's logs.

log("Starting trade...")
log("Order placed", {"order_id": "12345"})

sleep(seconds: float)

Sleep utility.

sleep(5)  # Wait 5 seconds

Publishing (Maintainers)

This package is published to PyPI.

Prerequisites

  1. Install build tools:

    pip install build twine
    
  2. Create a PyPI API token at https://pypi.org/manage/account/token/

Publish

# Build the package
python -m build

# Upload to PyPI
twine upload dist/*

Version Bump

Update the version in pyproject.toml:

version = "0.2.0"

Then rebuild and publish.

License

Apache-2.0

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

the0_sdk-0.2.0.tar.gz (14.0 kB view details)

Uploaded Source

Built Distribution

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

the0_sdk-0.2.0-py3-none-any.whl (10.6 kB view details)

Uploaded Python 3

File details

Details for the file the0_sdk-0.2.0.tar.gz.

File metadata

  • Download URL: the0_sdk-0.2.0.tar.gz
  • Upload date:
  • Size: 14.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.9

File hashes

Hashes for the0_sdk-0.2.0.tar.gz
Algorithm Hash digest
SHA256 93a42378045507d564dc44293fff56e44ad8034015793ab1e816e38a99db0ed7
MD5 572a3cf68853e79396fa633e7186979a
BLAKE2b-256 09adb076fc85b3cdafe0c8df27ec3e1d3e3a39daac48dea497e9b72194c1c6bd

See more details on using hashes here.

File details

Details for the file the0_sdk-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: the0_sdk-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 10.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.9

File hashes

Hashes for the0_sdk-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 17bb130ae59c7b876025fbdbd04eec7aacd0d1d77ae15f77f1ab9383c7992c56
MD5 803864c3413fd3f68963c4bc25953f4b
BLAKE2b-256 92a0a57e593745ffde3e47140769578a29acadc4714ddc9fe375561c9320efd1

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