5383dd6446
Every actor now registers (and unregisters) with the arbiter at startup/teardown. For now the registry is stored in a plain `dict` in the arbiter's memory. This makes it possible to easily coordinate actors started as plain Python processes or via `multiprocessing`. A whole smörgåsbord of changes was required to accomplish this: - factor handshake steps into a func - track *every* channel connected to an actor including multiples to the same remote peer (may want to optimize this later) - handle `trio.ClosedStreamError` gracefully in the message loop - add an `open_portal` asynccontextmanager which handles channel creation, handshaking, and spawning a bg task for msg processing - add a `start_actor()` for starting in-process actors directly - add working `get_arbiter()` and `find_actor()` public routines - `_main` now tries an anonymous channel connect to the stated arbiter sockaddr and uses that to determine whether to crown itself |
||
---|---|---|
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
.