Nuant Quantitative System SDK
Project description
Getting Started
Nuant Quantitative System SDK is a purpose-built SDK for decentralized finance. It enables a unified lifecycle that supports research, protocol-level simulation, backtesting, optimization, and live monitoring. Designed to empower quants, researchers, and developers, NQS makes it easy to experiment, iterate, and bring DeFi protocols and strategies from concept to execution.
This repository is the public endpoint for the nqs-sdk package, available on PyPI, providing all the tools needed to build, test, and run strategies within a single, integrated environment.
Prerequisites
Before installing the NQS SDK, ensure you have:
- Python 3.12 (currently supported version; more versions coming soon)
- pip package manager
Installation
Install the NQS SDK using pip:
pip install nqs-sdk
Note: This installation will also include several other packages provided by Nuant.
Environment Configuration
Get your API key from
https://agents.nuant.ai/subscribe
This following command creates a nuant-quantlib.toml file with the required proxy configuration for accessing Nuant’s GraphQL API.
Make sure to replace YOUR_API_KEY.
(
echo "[proxy]"
echo 'url = "https://data.app.nuant.com/graphql"'
echo 'api-key = "YOUR_API_KEY" # <- the one, you got previously'
) > nuant-quantlib.toml
Then, export it as an environment variable:
export QUANTLIB_CONFIG=/path/to/nuant-quantlib.toml
Verify Installation
First, verify that the installation was successful:
import nqs_sdk
print(f"NQS SDK version: {nqs_sdk.__version__}")
Quick Start
Basic Use Case
Here’s a simple example to get you started with the NQS SDK:
import nqs_sdk.preload # noqa: F401 # should be always on top
from nqs_sdk import Simulation, ProtocolManager
import json
# Create protocol managers
uniswap = ProtocolManager("uniswap_v3_rust")
# Initialize simulation with protocols and configuration
# You can use the example config or create your own with create_config.py
sim = Simulation([uniswap], "./examples/configs/basic_config.yml")
# Run the simulation
all_observables_str = sim.run() # this intermediate step will be fixed soon
all_observables = json.loads(all_observables_str)
# Access results
print(f"Simulation completed with {len(all_observables)} observables")
Getting Involved
- Documentation: https://nuant.github.io/nqs-sdk/
- Explore Core Concepts - Learn about the fundamental architecture and components
- Study How to Build - Dive deeper into configuration and practical examples
- Check the API Reference - Detailed documentation of all classes and methods
- GitHub Issues: https://github.com/Nuant/nqs-sdk/issues
- Contact: Contact us to thelab@nuant.ai for joining us on private Telegram channel
- Examples: Explore practical implementations in the examples directory. JSON schemas are provided to ensure proper format and validation.
Now that you have the NQS SDK installed and understand the basics, you might want to:
Known issues and roadmap
Coming soon:
- Programmatic API to manage simulation and backtest directly in Python
- API stabilisation
And later:
- Compound V2 support, more protocols will follow
- EVM based any protocol executions
Known issues:
- Support of Python 3.13
- Improve protocol naming to reflect implementation variants (e.g. uniswap_v3_rust)
- Replace default String sim.run() output by a native Python dict
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 Distributions
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 nqs_sdk-0.3.3-py3-none-any.whl.
File metadata
- Download URL: nqs_sdk-0.3.3-py3-none-any.whl
- Upload date:
- Size: 220.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5f2c4ce798d528a5216ad4e8a69764860485c96d63a665599dcecb6593402110
|
|
| MD5 |
e7ed3a7227d650d8ecaa7b23f5e449aa
|
|
| BLAKE2b-256 |
99402042b03c544b3dda3b39c9cb7916887816341fe4549815c89f2fe4ba1d62
|