ef90d7f106
Command requests are sent out and responses are handled in a "message loop" where each command is associated with a "caller id" and multiple cmds and results are multiplexed on the came inter-actor channel. When a cmd result arrives it is pushed into a local queue and delivered to the appropriate calling actor's task. Errors from a remote actor are always shipped in an "error" packet back to their spawning-parent actor such that any error in a subactor is always raised directly in the parent. Based on the first response to a cmd (either a 'return' or 'yield' packet) the caller side portal will retrieve values by wrapping the local response queue in either of an async function or generator as appropriate. |
||
---|---|---|
piker | ||
tests | ||
.gitignore | ||
.travis.yml | ||
MANIFEST.in | ||
Pipfile | ||
Pipfile.lock | ||
README.rst | ||
setup.py |
README.rst
piker
Anti-fragile trading gear for hackers, scientists, stay-at-home quants and underpants warriors.
Install
piker
is currently under heavy alpha development and as such should be cloned from this repo and hacked on directly.
A couple bleeding edge components are being used atm pertaining to async ports of libraries for use with trio.
Before installing make sure you have pipenv. For a development install:
git clone git@github.com:pikers/piker.git
cd piker
pipenv install --dev -e .
pipenv shell
To start the real-time index ETF watchlist:
piker watch indexes -l info
If you want to see super granular price changes, increase the broker quote query rate
with -r
:
piker watch indexes -l info -r 10
It is also possible to run the broker-client micro service as a daemon:
pikerd -l info
Then start the client app as normal:
piker watch indexes -l info
Laggy distros
For those running pop-culture distros that don't yet ship python3.6
you'll need to install it as well as kivy source build dependencies since currently there's reliance on an async development branch.
Tech
piker
is an attempt at a pro-grade, next-gen open source toolset for trading and financial analysis. As such, it tries to use as much cutting edge tech as possible including Python 3.6+ and trio
.