Skip to main content

Paradex Python SDK

Release Build status codecov Commit activity License

Paradex Python SDK provides a simple interface to interact with the Paradex REST and WS API.

Examples

L1 + L2 Authentication (Traditional)

from paradex_py import Paradex
from paradex_py.environment import Environment

paradex = Paradex(env=Environment.TESTNET, l1_address="0x...", l1_private_key="0x...")
print(hex(paradex.account.l2_address)) # 0x...
print(hex(paradex.account.l2_public_key)) # 0x...
print(hex(paradex.account.l2_private_key)) # 0x...

L2-Only Authentication (Subkey)

from paradex_py import ParadexSubkey
from paradex_py.environment import Environment

# Use ParadexSubkey for L2-only authentication
paradex = ParadexSubkey(
    env=Environment.TESTNET,
    l2_private_key="0x...",
    l2_address="0x..."
)
print(hex(paradex.account.l2_address)) # 0x...
print(hex(paradex.account.l2_public_key)) # 0x...
print(hex(paradex.account.l2_private_key)) # 0x...

WebSocket Usage

The SDK provides two WebSocket client options:

Option 1: Async Client (Default)

Use the async client when you're comfortable with asyncio and need maximum performance:

async def on_message(ws_channel, message):
    print(ws_channel, message)

await paradex.ws_client.connect()
await paradex.ws_client.subscribe(ParadexWebsocketChannel.MARKETS_SUMMARY, callback=on_message)

Option 2: Threaded Client (Synchronous)

Use the threaded client for simpler integration without asyncio knowledge:

from paradex_py.api.ws_client_threaded import ThreadedParadexWebsocketClient
from paradex_py.api.ws_client import ParadexWebsocketChannel
from paradex_py.environment import TESTNET

# Simple synchronous usage - no asyncio required
ws_client = ThreadedParadexWebsocketClient(env=TESTNET)

with ws_client:
    ws_client.subscribe(ParadexWebsocketChannel.MARKETS_SUMMARY)

    # Blocking call - waits for messages
    msg = ws_client.get_updates(timeout=5.0)
    if msg:
        print(f"Channel: {msg.channel}, Data: {msg.data}")

When to use which:

Feature Async Client Threaded Client
Asyncio knowledge Required Not required
Integration Async codebases Synchronous codebases
Performance Optimal Good
Complexity Higher Lower
Runtime subscription Via callbacks Via subscribe() anytime

📖 For complete documentation refer to tradeparadex.github.io/paradex-py

💻 For comprehensive examples refer to following files:

Development

make install
make check
make test
make build
make clean-build
make publish
make build-and-publish
make docs-test
make docs
make help

Using uv

This project uses uv for managing dependencies and building. Below are instructions for installing uv and the basic workflow for development outside of using make commands.

Installing uv

uv is a fast and modern Python package manager. You can install it using the standalone installer for macOS and Linux:

curl -LsSf https://astral.sh/uv/install.sh | sh

For other installation methods, refer to the uv installation documentation.

Basic Workflow with uv

If you prefer not to use make commands, you can directly use uv for development tasks:

  • Install dependencies: Sync your environment with the project's dependencies.
    uv sync
    
  • Run tests: Execute the test suite using pytest within the uv environment.
    uv run pytest
    
  • Build the project: Create a distribution package for the SDK.
    uv build
    

For more detailed information on using uv, refer to the uv documentation.

The CI/CD pipeline will be triggered when a new pull request is opened, code is merged to main, or when new release is created.

Notes

Release files for paradex_py 0.7.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for paradex_py 0.7.1
File Size Uploaded
paradex_py-0.7.1.tar.gz 447.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for paradex_py 0.7.1
File Interpreter ABI Platform
paradex_py-0.7.1-py3-none-any.whl Python 3 none any Details

Total release size: 605.1 kB

Release files / paradex_py-0.7.1.tar.gz

Download URL paradex_py-0.7.1.tar.gz
Size 447.6 kB
Tags Source
SHA-256 checksum
How to use checksums
8f684a85bcff256527fe7c1440ef76560ba99d669f1ce93087ba47af6676e0ec
BLAKE2b-256 checksum
How to use checksums
86e5b83bdf0a8584ea4a261c43c645503b5a729efb65a09202383df10d1d52fc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.19 {"installer":{"name":"uv","version":"0.12.19","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / paradex_py-0.7.1-py3-none-any.whl

Download URL paradex_py-0.7.1-py3-none-any.whl
Size 157.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
8693ad46ea70b4842213901e99e63e2402d66b2af97499aaa7bc8c0fb0d41642
BLAKE2b-256 checksum
How to use checksums
70c911b248f3b9d1b1cdd731a33da6ff8ab4ad246f55b01e468907a3285ffdbc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.19 {"installer":{"name":"uv","version":"0.12.19","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release history Release notifications | RSS feed

This release

0.7.1 This release

2 release files

0.7.0

2 release files

0.6.4

2 release files

0.6.3

2 release files

0.6.2

2 release files

0.6.1

2 release files

0.6.0

2 release files

0.5.6

2 release files

0.5.5

2 release files

0.5.4

2 release files

0.5.2

2 release files

0.5.1

2 release files

0.5.0

2 release files

0.4.9

2 release files

0.4.7

2 release files

0.4.6

2 release files

0.4.5

2 release files

0.4.4

2 release files

0.4.3

2 release files

0.4.2

2 release files

0.4.1

2 release files

0.4.0

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page