GRVT Python SDK
Project description
GRVT Python SDK
Installation via pip
pip install grvt-pysdk
Usage
There are various ways to use the GRVT Python SDK
- GRVT CCXT - CCXT compatible client for GRVT (sync Rest API calls)
- GRVT CCXT Pro - CCXT Pro compatible client for GRVT (async Rest API calls)
- GRVT CCXT WS - CCXT Pro + Web Socket client, supports async Rest APIs + WS subscriptions + JSON RPC calls over Web Sockets.
- GRVT API Sync - Synchronous API client for GRVT
- GRVT API Async - Asynchronous API client for GRVT
Contributor's guide
Table of Contents
Prerequisites
- Python >=3.10.0 <3.13 (tested with 3.10.15)
- pre-commit
- uv >=0.3.3 (tested with 0.4.0)
- docker (optional)
Installation of code
-
Clone the git repository
git clone https://github.com/grvt-technologies/grvt-pysdk.git
-
Go into the project directory
cd grvt-pysdk/
-
Checkout working branch
git checkout <branch>
-
Install dependencies
make install -
Enable pre-commit hooks
pre-commit install
What's in the box ?
uv
uv is an extremely fast Python package and project manager, written in Rust.
pyproject.toml file (pyproject.toml): orchestrate your project and its dependencies
uv.lock file (uv.lock): ensure that the package versions are consistent for everyone
working on your project
For more configuration options and details, see the configuration docs.
pre-commit
pre-commit is a framework for managing and maintaining multi-language pre-commit hooks.
.pre-commit-config.yaml file (.pre-commit-config.yaml): describes what repositories and
hooks are installed
For more configuration options and details, see the configuration docs.
ruff
ruff is an extremely fast Python linter, written in Rust.
Rules are defined in the pyproject.toml.
For more configuration options and details, see the configuration docs.
mypy
mypy is an optional static type checker for Python that aims to combine the benefits of dynamic (or "duck") typing and static typing.
Rules are defined in the pyproject.toml.
For more configuration options and details, see the configuration docs.
bandit
bandit is a tool designed to find common security issues in Python code.
Rules are defined in the pyproject.toml.
For more configuration options and details, see the configuration docs.
docformatter
docformatter is a tool designed to format docstrings to follow PEP 257.
Options are defined in the .pre-commit-config.yaml.
Testing
We are using pytest & pytest-cov to write tests.
To run tests with coverage:
make test
Output
collected 4 items
tests/pysdk/test_grvt_api_async.py::test_get_all_instruments PASSED [ 25%]
tests/pysdk/test_grvt_api_async.py::test_open_orders PASSED [ 50%]
tests/pysdk/test_grvt_api_sync.py::test_get_all_instruments PASSED [ 75%]
tests/pysdk/test_grvt_api_sync.py::test_open_orders PASSED [100%]
---------- coverage: platform darwin, python 3.10.15-final-0 ----------
Name Stmts Miss Cover
-------------------------------------------------
src/pysdk/__init__.py 1 0 100%
src/pysdk/grvt_api_async.py 152 113 26%
src/pysdk/grvt_api_base.py 158 75 53%
src/pysdk/grvt_api_sync.py 152 113 26%
src/pysdk/grvt_env.py 27 4 85%
src/pysdk/types.py 909 0 100%
-------------------------------------------------
TOTAL 1399 305 78%
=================================================================================================== 4 passed in 1.20s ====================================================================================================
Makefile
We are using Makefile to manage the project.
To see the list of commands:
make
➜ grvt-pysdk git:(main) ✗ make
help Show this help
run Run the project
test Run the tests
precommit Run the pre-commit hooks
lint Run the linter
format Run the formatter
typecheck Run the type checker
security Run the security checker
clean Clean the project
install Install the project
build Build the project
publish Publish the project
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 grvt_pysdk-0.1.5.tar.gz.
File metadata
- Download URL: grvt_pysdk-0.1.5.tar.gz
- Upload date:
- Size: 196.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.10.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
00de215ea4d78305cdb66a4fa5180af3882d87ddd43d6b86c82057f81e83b936
|
|
| MD5 |
6d326bc3dd0aca598f5d35620f6d3e35
|
|
| BLAKE2b-256 |
dee3b99ed2cbc0771319ac53277298c879b745a76e486d4cc8ef34dc37f9e3cb
|
File details
Details for the file grvt_pysdk-0.1.5-py3-none-any.whl.
File metadata
- Download URL: grvt_pysdk-0.1.5-py3-none-any.whl
- Upload date:
- Size: 64.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.10.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9803eeb4b7dd1a148584266888ea7ea2f1412201fbe4bbaff5fb09526b4d6bba
|
|
| MD5 |
f2aa205b8ebdeadec27859edba703519
|
|
| BLAKE2b-256 |
3c3f3e071ee31d983057f144f860a9620e8c1e5e1c3176c15ba86ef95f590d2a
|