Skip to content

Commit 51c45a1

Browse files
authored
support securities filters (#34)
* actualize annotations * support securities filters * actualize pydantic version * add ruff & fix annotation
1 parent d7ba111 commit 51c45a1

File tree

15 files changed

+177
-93
lines changed

15 files changed

+177
-93
lines changed

.github/workflows/tests.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ jobs:
1414
strategy:
1515
matrix:
1616
python-version: ['3.8']
17-
poetry-version: ['1.4.2']
17+
poetry-version: ['1.8.1']
1818
steps:
1919
- uses: actions/checkout@v2
2020
- name: Set up Python
@@ -29,7 +29,7 @@ jobs:
2929
poetry-version: ${{ matrix.poetry-version }}
3030
- name: Install dependencies
3131
run: poetry install
32-
- name: Run flake8
33-
run: poetry run flake8 .
32+
- name: Run ruff
33+
run: poetry run ruff check finam_trade_api
3434
- name: Run mypy
3535
run: poetry run mypy .

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -129,3 +129,4 @@ dmypy.json
129129
.pyre/
130130

131131
.idea/
132+
.ruff_cache/

.isort.cfg

Lines changed: 0 additions & 3 deletions
This file was deleted.

finam_trade_api/access/access_token.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ def __init__(self, token: str):
99
super().__init__(token)
1010
self._url = "/api/v1/access-tokens"
1111

12-
async def check_token(self):
12+
async def check_token(self) -> TokenResponseModel:
1313
response, ok = await self._exec_request(
1414
self.RequestMethod.GET,
1515
f"{self._url}/check",

finam_trade_api/candles/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,5 +6,5 @@
66
Decimal,
77
IntraDayCandle,
88
IntraDayCandlesRequestModel,
9-
IntraDayInterval
9+
IntraDayInterval,
1010
)

finam_trade_api/candles/candles.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
DayCandlesResponse,
88
IntraDayCandle,
99
IntraDayCandlesRequestModel,
10-
IntraDayCandlesResponse
10+
IntraDayCandlesResponse,
1111
)
1212
from finam_trade_api.exceptions import FinamTradeApiError
1313
from finam_trade_api.models import ErrorBodyModel

finam_trade_api/order/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,6 @@
3030
StopQuantityUnits,
3131
TakeProfitModel,
3232
ValidBefore,
33-
ValidBeforeType
33+
ValidBeforeType,
3434
)
3535
from finam_trade_api.order.order import OrderClient

finam_trade_api/order/order.py

Lines changed: 9 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
from typing import Union
2-
31
from finam_trade_api.base_client import BaseClient
42
from finam_trade_api.exceptions import FinamTradeApiError
53
from finam_trade_api.models import ErrorBodyModel
@@ -10,15 +8,12 @@
108
CreateStopOrderResponseModel,
119
DelOrderModel,
1210
DelOrderResponseModel,
13-
DelStopOrderRequestModel
14-
)
15-
from finam_trade_api.order.model import \
16-
DelStopOrderResponseModel as DelStopOrderResponse
17-
from finam_trade_api.order.model import (
11+
DelStopOrderRequestModel,
1812
OrdersRequestModel,
1913
OrdersResponseModel,
20-
StopOrdersResponseModel
14+
StopOrdersResponseModel,
2115
)
16+
from finam_trade_api.order.model import DelStopOrderResponseModel as DelStopOrderResponse
2217

2318

2419
class OrderClient(BaseClient):
@@ -27,7 +22,7 @@ def __init__(self, token: str):
2722
self._order_url = "/api/v1/orders"
2823
self._stop_order_url = "/api/v1/stops"
2924

30-
async def get_orders(self, params: OrdersRequestModel) -> Union[OrdersResponseModel, ErrorBodyModel]:
25+
async def get_orders(self, params: OrdersRequestModel) -> OrdersResponseModel:
3126
response, ok = await self._exec_request(
3227
self.RequestMethod.GET,
3328
self._order_url,
@@ -38,7 +33,7 @@ async def get_orders(self, params: OrdersRequestModel) -> Union[OrdersResponseMo
3833
raise FinamTradeApiError(f"{err.error.code} | {err.error.data} | {err.error.message}")
3934
return OrdersResponseModel(**response)
4035

41-
async def create_order(self, payload: CreateOrderRequestModel) -> Union[CreateOrderResponseModel, ErrorBodyModel]:
36+
async def create_order(self, payload: CreateOrderRequestModel) -> CreateOrderResponseModel:
4237
response, ok = await self._exec_request(
4338
self.RequestMethod.POST,
4439
self._order_url,
@@ -49,7 +44,7 @@ async def create_order(self, payload: CreateOrderRequestModel) -> Union[CreateOr
4944
raise FinamTradeApiError(f"{err.error.code} | {err.error.data} | {err.error.message}")
5045
return CreateOrderResponseModel(**response)
5146

52-
async def del_order(self, params: DelOrderModel) -> Union[DelOrderResponseModel, ErrorBodyModel]:
47+
async def del_order(self, params: DelOrderModel) -> DelOrderResponseModel:
5348
response, ok = await self._exec_request(
5449
self.RequestMethod.DELETE,
5550
self._order_url,
@@ -60,7 +55,7 @@ async def del_order(self, params: DelOrderModel) -> Union[DelOrderResponseModel,
6055
raise FinamTradeApiError(f"{err.error.code} | {err.error.data} | {err.error.message}")
6156
return DelOrderResponseModel(**response)
6257

63-
async def get_stop_orders(self, params: OrdersRequestModel) -> Union[StopOrdersResponseModel, ErrorBodyModel]:
58+
async def get_stop_orders(self, params: OrdersRequestModel) -> StopOrdersResponseModel:
6459
response, ok = await self._exec_request(
6560
self.RequestMethod.GET,
6661
self._stop_order_url,
@@ -71,10 +66,7 @@ async def get_stop_orders(self, params: OrdersRequestModel) -> Union[StopOrdersR
7166
raise FinamTradeApiError(f"{err.error.code} | {err.error.data} | {err.error.message}")
7267
return StopOrdersResponseModel(**response)
7368

74-
async def create_stop_order(
75-
self,
76-
payload: CreateStopOrderRequestModel
77-
) -> Union[CreateStopOrderResponseModel, ErrorBodyModel]:
69+
async def create_stop_order(self, payload: CreateStopOrderRequestModel) -> CreateStopOrderResponseModel:
7870
response, ok = await self._exec_request(
7971
self.RequestMethod.POST,
8072
self._stop_order_url,
@@ -85,7 +77,7 @@ async def create_stop_order(
8577
raise FinamTradeApiError(f"{err.error.code} | {err.error.data} | {err.error.message}")
8678
return CreateStopOrderResponseModel(**response)
8779

88-
async def del_stop_order(self, params: DelStopOrderRequestModel) -> Union[DelStopOrderResponse, ErrorBodyModel]:
80+
async def del_stop_order(self, params: DelStopOrderRequestModel) -> DelStopOrderResponse:
8981
response, ok = await self._exec_request(
9082
self.RequestMethod.DELETE,
9183
self._stop_order_url,

finam_trade_api/portfolio/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,6 @@
66
PortfolioRequestOptionalModel,
77
PortfolioResponseData,
88
PortfolioResponseModel,
9-
Position
9+
Position,
1010
)
1111
from finam_trade_api.portfolio.portfolio import PortfolioClient

finam_trade_api/portfolio/portfolio.py

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,15 @@
1-
from typing import Union
2-
31
from finam_trade_api.base_client import BaseClient
42
from finam_trade_api.exceptions import FinamTradeApiError
53
from finam_trade_api.models import ErrorBodyModel
6-
from finam_trade_api.portfolio.model import (
7-
PortfolioRequestModel,
8-
PortfolioResponseModel
9-
)
4+
from finam_trade_api.portfolio.model import PortfolioRequestModel, PortfolioResponseModel
105

116

127
class PortfolioClient(BaseClient):
138
def __init__(self, token: str):
149
super().__init__(token)
1510
self._url = "/api/v1/portfolio"
1611

17-
async def get_portfolio(self, params: PortfolioRequestModel) -> Union[PortfolioResponseModel, ErrorBodyModel]:
12+
async def get_portfolio(self, params: PortfolioRequestModel) -> PortfolioResponseModel:
1813
response, ok = await self._exec_request(
1914
self.RequestMethod.GET,
2015
self._url,

0 commit comments

Comments
 (0)