PyExch v0.0.2
Pre-release
Pre-release
EARLY RELEASE of a rudimentary python CLI based rest client for Coinbase
usage: pyexch [-h] [--method <get,post,>] [--url https://...]
[--params params.json] [--call get_accounts]
[--keystore ks.json] [--auth exch.auth]
Python Exchange CLI (pyexch)
optional arguments:
-h, --help show this help message and exit
--method <get,post,> rest http method (get<default>,post,put,delete)
--url https://... rest http url to perform actions upon
--params params.json json(5) filename holding rest parameters / data
--call get_accounts call method in the default client
--keystore ks.json json(5) filename where secrets are stored (backup!)
--auth exch.auth the auth method to use from keystore.
NOTE: Must name either "--call" or "--url", but not both, and "keystore.json"
is assumed if "--keystore" is not named
Install with Debug support
If you want to debug one of the client calls or step into a requests call, you can install from GIT sources. Then you can add breakpoints in source using calls to breakpoint()
to get more detailed information.
- Get source:
git clone https://github.com/brianddk/pyexch.git
- Switch directories:
cd pyexch
- Install develop mode via pip:
pip install -e .
- Verify install (cli-mode):
pyexch --help
- Optionally add
breakpoint()
into one of the*.py
files - Optionally step through code in the python debugger (
pdb
)
Install without GIT
To install the most recent edition directly from GitHub tarball:
pip install https://github.com/brianddk/pyexch/archive/refs/heads/main.tar.gz
You won't get to documentation or templates, but all the code will land and function
Install last release from PIP
- Install:
pip install pyexch
- Verify install:
pyexch --help
Alternatively you can run it in module mode (python -m pyexch --help
) or run the script directly (python pyexch.py --help
).
Future Plans
- Use JSON5 for
load
andloads
operations - Add JSON templates
- Add Trezor templates
- Add annotated GnuPG / Trezor / JSON files as docs
- Add Keystore.sort() call to beutify JSON ordering
- Add PUT and DELETE methods for Coinbase (untested)
- Mask input on private data so it's is muted on screen
- Add AES encryption, or port samples to CryptoDomeX
- Add Kraken as a supported Exchange
- Add Binance as a supported Exchange (from USA ?!?)