Tinkoff Invest
Project description
T-Invest
pip install tinvest
import asyncio
import tinvest
TOKEN = "<TOKEN>"
events = tinvest.StreamingEvents()
@events.candle()
async def handle_candle(
api: tinvest.StreamingApi, payload: tinvest.CandleStreamingSchema
):
print(payload)
@events.orderbook()
async def handle_orderbook(
api: tinvest.StreamingApi, payload: tinvest.OrderbookStreamingSchema
):
print(payload)
@events.instrument_info()
async def handle_instrument_info(
api: tinvest.StreamingApi, payload: tinvest.InstrumentInfoStreamingSchema
):
print(payload)
@events.error()
async def handle_error(
api: tinvest.StreamingApi, payload: tinvest.ErrorStreamingSchema
):
print(payload)
@events.startup()
async def startup(api: tinvest.StreamingApi):
await api.candle.subscribe("BBG0013HGFT4", "1min")
await api.orderbook.subscribe("BBG0013HGFT4", 5, "123ASD1123")
await api.instrument_info.subscribe("BBG0013HGFT4")
@events.cleanup()
async def cleanup(api: tinvest.StreamingApi):
await api.candle.unsubscribe("BBG0013HGFT4", "1min")
await api.orderbook.unsubscribe("BBG0013HGFT4", 5)
await api.instrument_info.unsubscribe("BBG0013HGFT4")
async def main():
await tinvest.Streaming(TOKEN, state={"postgres": ...}).add_handlers(events).run()
if __name__ == "__main__":
try:
asyncio.run(main())
except KeyboardInterrupt:
pass
import tinvest
TOKEN = "<TOKEN>"
client = tinvest.SyncClient(TOKEN)
api = tinvest.PortfolioApi(client)
response = api.portfolio_get() # requests.Response
if response.status_code == 200:
print(response.parse_json()) # tinvest.PortfolioResponse
# Handle error
...
api = tinvest.OperationsApi(client)
response = api.operations_get("", "")
if response.status_code != 200:
print(response.parse_error()) # tinvest.Error
import asyncio
import tinvest
TOKEN = "<TOKEN>"
client = tinvest.AsyncClient(TOKEN)
api = tinvest.PortfolioApi(client)
async def request():
async with api.portfolio_get() as response: # aiohttp.ClientResponse
if response.status == 200:
print(await response.parse_json()) # tinvest.PortfolioResponse
loop = asyncio.get_event_loop()
loop.run_until_complete(request())
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
tinvest-1.0.17.tar.gz
(11.3 kB
view details)
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
tinvest-1.0.17-py3-none-any.whl
(12.5 kB
view details)
File details
Details for the file tinvest-1.0.17.tar.gz.
File metadata
- Download URL: tinvest-1.0.17.tar.gz
- Upload date:
- Size: 11.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.0.5 CPython/3.7.1 Linux/4.15.0-1028-gcp
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8c4c9fb60e3ff09ed1c2e76b874d982c4d9eb28e39154a1df7f324708bd038b6
|
|
| MD5 |
6ec248628fb57235b2c84bde54ad1f46
|
|
| BLAKE2b-256 |
c14cfb648b5fd87e1360875c553cac47c4e77e6fb225bee01aea9fca383ac3ce
|
File details
Details for the file tinvest-1.0.17-py3-none-any.whl.
File metadata
- Download URL: tinvest-1.0.17-py3-none-any.whl
- Upload date:
- Size: 12.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.0.5 CPython/3.7.1 Linux/4.15.0-1028-gcp
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d1d4b3ff989800d7ad7859fcd826b8b9521f0518a233ce8a96f8dc6a4346595e
|
|
| MD5 |
a2a93c18fcf3536bb3a5a26512c32aa9
|
|
| BLAKE2b-256 |
7290a370fe3622bf37b4f61fc4c8af80e451182f01fc8aa494c74cd515b01f81
|