Skip to content

Commit f090aaf

Browse files
authored
V1.0.1 (#32)
* update readme * refactoring
1 parent fa5166c commit f090aaf

File tree

9 files changed

+112
-112
lines changed

9 files changed

+112
-112
lines changed

README.md

Lines changed: 89 additions & 60 deletions
Large diffs are not rendered by default.

py_alpaca_api/src/account.py

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -48,8 +48,7 @@ def activity(self, activity_type: str, date: str = None, until_date: str = None)
4848
"until_date": until_date if until_date else None,
4949
}
5050

51-
request = Requests().get(url=url, headers=self.headers, params=params)
52-
response = json.loads(request.text)
51+
response = json.loads(Requests().get(url=url, headers=self.headers, params=params).text)
5352

5453
activity_df = pd.DataFrame()
5554
activity_df.assign(
@@ -117,12 +116,8 @@ def get(self) -> AccountClass:
117116
Example:
118117
>>> account = account.get()
119118
"""
120-
# Alpaca API URL for account information
121119
url = f"{self.trade_url}/account"
122-
# Get request to Alpaca API for account information
123-
request = Requests().get(url=url, headers=self.headers)
124-
response = json.loads(request.text)
125-
120+
response = json.loads(Requests().get(url=url, headers=self.headers).text)
126121
return account_class_from_dict(response)
127122

128123
########################################################
@@ -156,8 +151,7 @@ def portfolio_history(
156151
"intraday_reporting": intraday_reporting,
157152
}
158153

159-
request = Requests().get(url=url, headers=self.headers, params=params)
160-
response = json.loads(request.text)
154+
response = json.loads(Requests().get(url=url, headers=self.headers, params=params).text)
161155

162156
portfolio_df = pd.DataFrame(
163157
response,

py_alpaca_api/src/asset.py

Lines changed: 5 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -50,14 +50,11 @@ def get_all(
5050
"exchange": exchange,
5151
}
5252

53-
request = Requests().get(url, headers=self.headers, params=params)
53+
assets_df = pd.json_normalize(json.loads(Requests().get(url, headers=self.headers, params=params).text))
5454

55-
assets_df = pd.json_normalize(json.loads(request.text))
56-
57-
assets_df = assets_df[assets_df["status"] == "active"]
58-
assets_df = assets_df[assets_df["fractionable"]]
59-
assets_df = assets_df[assets_df["tradable"]]
60-
assets_df = assets_df[assets_df["exchange"] != "OTC"]
55+
assets_df = assets_df[
56+
(assets_df["status"] == "active") & (assets_df["fractionable"]) & (assets_df["tradable"]) & (assets_df["exchange"] != "OTC")
57+
]
6158
assets_df.reset_index(drop=True, inplace=True)
6259

6360
return assets_df
@@ -79,8 +76,5 @@ def get(self, symbol: str) -> AssetClass:
7976
ValueError: If the request to the Alpaca API fails.
8077
"""
8178
url = f"{self.trade_url}/assets/{symbol}"
82-
83-
request = Requests().get(url, headers=self.headers)
84-
85-
response = json.loads(request.text)
79+
response = json.loads(Requests().get(url, headers=self.headers).text)
8680
return asset_class_from_dict(response)

py_alpaca_api/src/history.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import json
12
from collections import defaultdict
23
from typing import Dict
34

@@ -188,9 +189,7 @@ def get_historical_data(self, symbol: str, url: str, params: dict) -> list[defau
188189
while True:
189190
params["page_token"] = page_token
190191

191-
request = Requests().get(url, headers=self.headers, params=params)
192-
193-
res_data = request.json()
192+
res_data = json.loads(Requests().get(url, headers=self.headers, params=params).text)
194193
symbols_data[symbol].extend(res_data.get("bars", []))
195194
page_token = res_data.get("next_page_token", "")
196195
if not page_token:

py_alpaca_api/src/market.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,7 @@ def __init__(self, trade_url: str, headers: Dict[str, str]) -> None:
2424
########################################################
2525
@staticmethod
2626
def get_api_response(url: str, headers: Dict[str, str], params: Dict[str, str] = None) -> Dict:
27-
# response = requests.get(url, headers=headers, params=params)
28-
request = Requests().get(url=url, headers=headers, params=params)
29-
data = json.loads(request.text)
27+
data = json.loads(Requests().get(url=url, headers=headers, params=params).text)
3028
return data
3129

3230
########################################################

py_alpaca_api/src/order.py

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -40,9 +40,7 @@ def get_by_id(self, order_id: str, nested: bool = False) -> OrderClass:
4040
params = {"nested": nested}
4141
url = f"{self.trade_url}/orders/{order_id}"
4242

43-
request = Requests().get(url=url, headers=self.headers, params=params)
44-
45-
response = json.loads(request.text)
43+
response = json.loads(Requests().get(url=url, headers=self.headers, params=params).text)
4644
return order_class_from_dict(response)
4745

4846
########################################################
@@ -81,9 +79,8 @@ def cancel_all(self) -> str:
8179
Exception: If the request to cancel orders is not successful, an exception is raised with the error message.
8280
"""
8381
url = f"{self.trade_url}/orders"
84-
request = Requests().delete(url=url, headers=self.headers)
8582

86-
response = json.loads(request.text)
83+
response = json.loads(Requests().delete(url=url, headers=self.headers).text)
8784
return f"{len(response)} orders have been cancelled"
8885

8986
@staticmethod
@@ -462,7 +459,5 @@ def _submit_order(
462459

463460
url = f"{self.trade_url}/orders"
464461

465-
request = Requests().post(url=url, headers=self.headers, payload=payload)
466-
467-
response = json.loads(request.text)
462+
response = json.loads(Requests().post(url=url, headers=self.headers, payload=payload).text)
468463
return order_class_from_dict(response)

py_alpaca_api/src/position.py

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -39,10 +39,8 @@ def get_all(self) -> pd.DataFrame:
3939
"""
4040

4141
url = f"{self.trade_url}/positions"
42-
request = Requests().get(url=url, headers=self.headers)
43-
# response = requests.get(url, headers=self.headers)
4442

45-
res_data_df = pd.json_normalize(json.loads(request.text))
43+
res_data_df = pd.json_normalize(json.loads(Requests().get(url=url, headers=self.headers).text))
4644

4745
pos_data_df = pd.DataFrame(
4846
{
@@ -146,9 +144,8 @@ def get(self, symbol: str = None, symbol_dict: dict = None) -> PositionClass:
146144
return position_class_from_dict(symbol_dict)
147145

148146
url = f"{self.trade_url}/positions/{symbol}"
149-
request = Requests().get(url=url, headers=self.headers)
150147

151-
res_dict = json.loads(request.text)
148+
res_dict = json.loads(Requests().get(url=url, headers=self.headers).text)
152149

153150
equity = self.account.get().equity
154151
res_dict["portfolio_pct"] = round(float(res_dict["market_value"]) / equity, 4)
@@ -189,9 +186,7 @@ def close_all(self, cancel_orders: bool = False) -> str:
189186
url = f"{self.trade_url}/positions"
190187
params = {"cancel_orders": cancel_orders}
191188

192-
request = Requests().delete(url=url, headers=self.headers, params=params)
193-
194-
response = json.loads(request.text)
189+
response = json.loads(Requests().delete(url=url, headers=self.headers, params=params).text)
195190
return f"{len(response)} positions have been closed"
196191

197192
########################################################

py_alpaca_api/src/screener.py

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -196,17 +196,14 @@ def _get_percentages(
196196
"sort": "asc",
197197
}
198198

199-
request = Requests().get(url=url, headers=self.headers, params=params)
200-
201-
res = json.loads(request.text)
199+
res = json.loads(Requests().get(url=url, headers=self.headers, params=params).text)
202200

203201
bars_df = pd.DataFrame.from_dict(res["bars"], orient="index")
204202
page_token = res["next_page_token"]
205203

206204
while page_token:
207205
params["page_token"] = page_token
208-
request = Requests().get(url=url, headers=self.headers, params=params)
209-
res = json.loads(request.text)
206+
res = json.loads(Requests().get(url=url, headers=self.headers, params=params).text)
210207
bars_df = pd.concat(
211208
[
212209
bars_df,

py_alpaca_api/src/watchlist.py

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -60,16 +60,16 @@ def _request(self, method: str, url: str, payload: dict = None, params: dict = N
6060
Raises:
6161
Exception: If the response status code is not 200 or 204.
6262
"""
63-
request = Requests().request(
63+
response = Requests().request(
6464
method=method,
6565
url=url,
6666
headers=self.headers,
6767
json=payload,
6868
params=params,
6969
)
7070

71-
if request.text:
72-
return json.loads(request.text)
71+
if response.text:
72+
return json.loads(response.text)
7373
return {}
7474

7575
########################################################
@@ -117,9 +117,8 @@ def get_all(self) -> list[WatchlistClass]:
117117
Exception: If the API request fails.
118118
"""
119119
url = f"{self.trade_url}/watchlists"
120-
request = Requests().get(url, headers=self.headers)
121120

122-
response = json.loads(request.text)
121+
response = json.loads(Requests().get(url, headers=self.headers).text)
123122

124123
watchlists = []
125124
if response:

0 commit comments

Comments
 (0)