A Python SDK for interacting with Orion Finance smart contracts
Project description
About
A Python Software Development Kit (SDK) to facilitate interactions with the Orion Finance protocol. This repository provides tools and utilities for quants and developers to seamlessly integrate with Orion's on-chain portfolio management infrastructure.
For comprehensive documentation, including setup guides, API references, and developer resources, visit sdk.orionfinance.ai.
License
This software is distributed under the BSD-3-Clause license. See the LICENSE file for the full text.
Setup for Development
If you're working on the SDK itself:
# Clone the repository
git clone https://github.com/OrionFinanceAI/orion-finance-sdk-py.git
cd orion-finance-sdk-py
# Install dependencies
make uv-download
make venv
source .venv/bin/activate
make install
# Run tests (includes coverage)
make test
# Run code style checks
make codestyle
# Run docstring checks
make docs
Installation from PyPI
For end users, install the latest stable version from PyPI:
pip install orion-finance-sdk-py
Environment Variables Setup
The SDK uses RPC_URL from your .env if set; otherwise it uses a default public RPC. See SDK Installation for optional RPC setup.
Additional variables depend on what you do:
- Deploy a vault:
STRATEGIST_ADDRESS,MANAGER_PRIVATE_KEY - Submit orders:
ORION_VAULT_ADDRESS,STRATEGIST_PRIVATE_KEY - Update strategist / fee model / deposit access:
ORION_VAULT_ADDRESS,MANAGER_PRIVATE_KEY
Examples of Usage
The SDK supports transparent Orion vaults: deploy, read state, submit order intents, and manage fees/strategist via the CLI or Python API.
List available commands
orion --help
orion deploy-vault --help
orion submit-order --help
Deploy a new Orion vault
orion deploy-vault --strategist-address 0x... --name "Algorithmic Liquidity Provision & Hedging Agent" --symbol "ALPHA" --fee-type hard_hurdle --performance-fee 10 --management-fee 1
Submit an order intent to a vault
submit-order accepts --order-intent (alias --order-intent-path):
- File:
.json(object mapping addresses → weights that sum to 1),.csv/.parquet(tabular; see docs) - Inline: a JSON object or Python
dictliteral string (no file needed)
# From a JSON file
echo '{"0x...": 0.4, "0x...": 0.2, "0x...": 0.15, "0x...": 0.15, "0x...": 0.1}' > order_intent.json
orion submit-order --order-intent order_intent.json
# Inline
orion submit-order --order-intent '{"0x...": 0.4, "0x...": 0.6}'
Parquet support requires pyarrow (pip install 'orion-finance-sdk-py[parquet]' or it is included in the dev extra).
Update the strategist address for a vault
orion update-strategist --new-strategist-address 0x...
Update the fee model for a vault
orion update-fee-model --fee-type high_water_mark --performance-fee 5.5 --management-fee 0.1
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file orion_finance_sdk_py-1.3.0.tar.gz.
File metadata
- Download URL: orion_finance_sdk_py-1.3.0.tar.gz
- Upload date:
- Size: 2.0 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
38effbf5e2997f341513e2469886a332ad80f05f91a32c449398357774d7da03
|
|
| MD5 |
3e807af4d0ea4176f7b0568027c00a0b
|
|
| BLAKE2b-256 |
be6a8caa4a347476ce51a1c3e40d8a06b9f03314243784b619d83e7135a37a0f
|
File details
Details for the file orion_finance_sdk_py-1.3.0-py3-none-any.whl.
File metadata
- Download URL: orion_finance_sdk_py-1.3.0-py3-none-any.whl
- Upload date:
- Size: 2.0 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c0768b6879eea3391869c06f0ce0108bf0b1044aabc4b5b75c166593e88e27b6
|
|
| MD5 |
4627b30b14ec955b3e43e8d3f0071894
|
|
| BLAKE2b-256 |
286bdf7bc57082875874c7a74f10d314fb865050397cd32a5eca9a5c98579b9e
|