Bump various `.brokers.core` doc string content/style
							parent
							
								
									ded2705397
								
							
						
					
					
						commit
						9ac1745271
					
				|  | @ -22,7 +22,9 @@ routines should be primitive data types where possible. | ||||||
| """ | """ | ||||||
| import inspect | import inspect | ||||||
| from types import ModuleType | from types import ModuleType | ||||||
| from typing import List, Dict, Any, Optional | from typing import ( | ||||||
|  |     Any, | ||||||
|  | ) | ||||||
| 
 | 
 | ||||||
| import trio | import trio | ||||||
| 
 | 
 | ||||||
|  | @ -34,8 +36,10 @@ from ..accounting import MktPair | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| async def api(brokername: str, methname: str, **kwargs) -> dict: | async def api(brokername: str, methname: str, **kwargs) -> dict: | ||||||
|     """Make (proxy through) a broker API call by name and return its result. |     ''' | ||||||
|     """ |     Make (proxy through) a broker API call by name and return its result. | ||||||
|  | 
 | ||||||
|  |     ''' | ||||||
|     brokermod = get_brokermod(brokername) |     brokermod = get_brokermod(brokername) | ||||||
|     async with brokermod.get_client() as client: |     async with brokermod.get_client() as client: | ||||||
|         meth = getattr(client, methname, None) |         meth = getattr(client, methname, None) | ||||||
|  | @ -62,10 +66,14 @@ async def api(brokername: str, methname: str, **kwargs) -> dict: | ||||||
| 
 | 
 | ||||||
| async def stocks_quote( | async def stocks_quote( | ||||||
|     brokermod: ModuleType, |     brokermod: ModuleType, | ||||||
|     tickers: List[str] |     tickers: list[str] | ||||||
| ) -> Dict[str, Dict[str, Any]]: | 
 | ||||||
|     """Return quotes dict for ``tickers``. | ) -> dict[str, dict[str, Any]]: | ||||||
|     """ |     ''' | ||||||
|  |     Return a `dict` of snapshot quotes for the provided input | ||||||
|  |     `tickers`: a `list` of fqmes. | ||||||
|  | 
 | ||||||
|  |     ''' | ||||||
|     async with brokermod.get_client() as client: |     async with brokermod.get_client() as client: | ||||||
|         return await client.quote(tickers) |         return await client.quote(tickers) | ||||||
| 
 | 
 | ||||||
|  | @ -74,13 +82,15 @@ async def stocks_quote( | ||||||
| async def option_chain( | async def option_chain( | ||||||
|     brokermod: ModuleType, |     brokermod: ModuleType, | ||||||
|     symbol: str, |     symbol: str, | ||||||
|     date: Optional[str] = None, |     date: str|None = None, | ||||||
| ) -> Dict[str, Dict[str, Dict[str, Any]]]: | ) -> dict[str, dict[str, dict[str, Any]]]: | ||||||
|     """Return option chain for ``symbol`` for ``date``. |     ''' | ||||||
|  |     Return option chain for ``symbol`` for ``date``. | ||||||
| 
 | 
 | ||||||
|     By default all expiries are returned. If ``date`` is provided |     By default all expiries are returned. If ``date`` is provided | ||||||
|     then contract quotes for that single expiry are returned. |     then contract quotes for that single expiry are returned. | ||||||
|     """ | 
 | ||||||
|  |     ''' | ||||||
|     async with brokermod.get_client() as client: |     async with brokermod.get_client() as client: | ||||||
|         if date: |         if date: | ||||||
|             id = int((await client.tickers2ids([symbol]))[symbol]) |             id = int((await client.tickers2ids([symbol]))[symbol]) | ||||||
|  | @ -98,7 +108,7 @@ async def option_chain( | ||||||
| # async def contracts( | # async def contracts( | ||||||
| #     brokermod: ModuleType, | #     brokermod: ModuleType, | ||||||
| #     symbol: str, | #     symbol: str, | ||||||
| # ) -> Dict[str, Dict[str, Dict[str, Any]]]: | # ) -> dict[str, dict[str, dict[str, Any]]]: | ||||||
| #     """Return option contracts (all expiries) for ``symbol``. | #     """Return option contracts (all expiries) for ``symbol``. | ||||||
| #     """ | #     """ | ||||||
| #     async with brokermod.get_client() as client: | #     async with brokermod.get_client() as client: | ||||||
|  | @ -110,15 +120,24 @@ async def bars( | ||||||
|     brokermod: ModuleType, |     brokermod: ModuleType, | ||||||
|     symbol: str, |     symbol: str, | ||||||
|     **kwargs, |     **kwargs, | ||||||
| ) -> Dict[str, Dict[str, Dict[str, Any]]]: | ) -> dict[str, dict[str, dict[str, Any]]]: | ||||||
|     """Return option contracts (all expiries) for ``symbol``. |     ''' | ||||||
|     """ |     Return option contracts (all expiries) for ``symbol``. | ||||||
|  | 
 | ||||||
|  |     ''' | ||||||
|     async with brokermod.get_client() as client: |     async with brokermod.get_client() as client: | ||||||
|         return await client.bars(symbol, **kwargs) |         return await client.bars(symbol, **kwargs) | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| async def search_w_brokerd(name: str, pattern: str) -> dict: | async def search_w_brokerd( | ||||||
|  |     name: str, | ||||||
|  |     pattern: str, | ||||||
|  | ) -> dict: | ||||||
| 
 | 
 | ||||||
|  |     # TODO: WHY NOT WORK!?! | ||||||
|  |     # when we `step` through the next block? | ||||||
|  |     # import tractor | ||||||
|  |     # await tractor.pause() | ||||||
|     async with open_cached_client(name) as client: |     async with open_cached_client(name) as client: | ||||||
| 
 | 
 | ||||||
|         # TODO: support multiple asset type concurrent searches. |         # TODO: support multiple asset type concurrent searches. | ||||||
|  | @ -130,12 +149,12 @@ async def symbol_search( | ||||||
|     pattern: str, |     pattern: str, | ||||||
|     **kwargs, |     **kwargs, | ||||||
| 
 | 
 | ||||||
| ) -> Dict[str, Dict[str, Dict[str, Any]]]: | ) -> dict[str, dict[str, dict[str, Any]]]: | ||||||
|     ''' |     ''' | ||||||
|     Return symbol info from broker. |     Return symbol info from broker. | ||||||
| 
 | 
 | ||||||
|     ''' |     ''' | ||||||
|     results = [] |     results: list[str] = [] | ||||||
| 
 | 
 | ||||||
|     async def search_backend( |     async def search_backend( | ||||||
|         brokermod: ModuleType |         brokermod: ModuleType | ||||||
|  | @ -143,6 +162,13 @@ async def symbol_search( | ||||||
| 
 | 
 | ||||||
|         brokername: str = mod.name |         brokername: str = mod.name | ||||||
| 
 | 
 | ||||||
|  |         # TODO: figure this the FUCK OUT | ||||||
|  |         # -> ok so obvi in the root actor any async task that's | ||||||
|  |         # spawned outside the main tractor-root-actor task needs to | ||||||
|  |         # call this.. | ||||||
|  |         # await tractor.devx._debug.maybe_init_greenback() | ||||||
|  |         # tractor.pause_from_sync() | ||||||
|  | 
 | ||||||
|         async with maybe_spawn_brokerd( |         async with maybe_spawn_brokerd( | ||||||
|             mod.name, |             mod.name, | ||||||
|             infect_asyncio=getattr( |             infect_asyncio=getattr( | ||||||
|  | @ -162,7 +188,6 @@ async def symbol_search( | ||||||
|             )) |             )) | ||||||
| 
 | 
 | ||||||
|     async with trio.open_nursery() as n: |     async with trio.open_nursery() as n: | ||||||
| 
 |  | ||||||
|         for mod in brokermods: |         for mod in brokermods: | ||||||
|             n.start_soon(search_backend, mod.name) |             n.start_soon(search_backend, mod.name) | ||||||
| 
 | 
 | ||||||
|  | @ -172,11 +197,13 @@ async def symbol_search( | ||||||
| async def mkt_info( | async def mkt_info( | ||||||
|     brokermod: ModuleType, |     brokermod: ModuleType, | ||||||
|     fqme: str, |     fqme: str, | ||||||
|  | 
 | ||||||
|     **kwargs, |     **kwargs, | ||||||
| 
 | 
 | ||||||
| ) -> MktPair: | ) -> MktPair: | ||||||
|     ''' |     ''' | ||||||
|     Return MktPair info from broker including src and dst assets. |     Return the `piker.accounting.MktPair` info struct from a given | ||||||
|  |     backend broker tradable src/dst asset pair. | ||||||
| 
 | 
 | ||||||
|     ''' |     ''' | ||||||
|     async with open_cached_client(brokermod.name) as client: |     async with open_cached_client(brokermod.name) as client: | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue