Skip to content

Commit 7735132

Browse files
committed
MAINT: Deprecate access_key
Use a decorator to deprecate access_key closes #692
1 parent f924834 commit 7735132

File tree

4 files changed

+31
-28
lines changed

4 files changed

+31
-28
lines changed

Diff for: docs/source/remote_data.rst

+3-3
Original file line numberDiff line numberDiff line change
@@ -158,7 +158,7 @@ symbols. The following endpoints are available:
158158
159159
In [4]: f = web.DataReader("AAPL", "av-daily", start=datetime(2017, 2, 9),
160160
...: end=datetime(2017, 5, 24),
161-
...: access_key=os.getenv('ALPHAVANTAGE_API_KEY'))
161+
...: api_key=os.getenv('ALPHAVANTAGE_API_KEY'))
162162
163163
In [5]: f.loc["2017-02-09"]
164164
Out[5]:
@@ -218,7 +218,7 @@ as "FROM/TO" as in "USD/JPY".
218218
In [2]: import pandas_datareader.data as web
219219
220220
In [3]: f = web.DataReader("USD/JPY", "av-forex",
221-
...: access_key=os.getenv('ALPHAVANTAGE_API_KEY'))
221+
...: api_key=os.getenv('ALPHAVANTAGE_API_KEY'))
222222
223223
In [4]: f
224224
Out[4]:
@@ -243,7 +243,7 @@ Multiple pairs are are allowable:
243243
In [2]: import pandas_datareader.data as web
244244
245245
In [3]: f = web.DataReader(["USD/JPY", "BTC/CNY"], "av-forex",
246-
...: access_key=os.getenv('ALPHAVANTAGE_API_KEY'))
246+
...: api_key=os.getenv('ALPHAVANTAGE_API_KEY'))
247247
248248
249249
In [4]: f

Diff for: pandas_datareader/data.py

+17-14
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@
66

77
import warnings
88

9+
from pandas.util._decorators import deprecate_kwarg
10+
911
from pandas_datareader.av.forex import AVForexReader
1012
from pandas_datareader.av.quotes import AVQuotesReader
1113
from pandas_datareader.av.sector import AVSectorPerformanceReader
@@ -264,6 +266,7 @@ def get_iex_book(*args, **kwargs):
264266
return IEXDeep(*args, **kwargs).read()
265267

266268

269+
@deprecate_kwarg("access_key", "api_key")
267270
def DataReader(
268271
name,
269272
data_source=None,
@@ -272,7 +275,7 @@ def DataReader(
272275
retry_count=3,
273276
pause=0.1,
274277
session=None,
275-
access_key=None,
278+
api_key=None,
276279
):
277280
"""
278281
Imports data from a number of online sources.
@@ -298,7 +301,7 @@ def DataReader(
298301
single value given for symbol, represents the pause between retries.
299302
session : Session, default None
300303
requests.sessions.Session instance to be used
301-
access_key : (str, None)
304+
api_key : (str, None)
302305
Optional parameter to specify an API key for certain data sources.
303306
304307
Examples
@@ -376,7 +379,7 @@ def DataReader(
376379
start=start,
377380
end=end,
378381
chunksize=25,
379-
api_key=access_key,
382+
api_key=api_key,
380383
retry_count=retry_count,
381384
pause=pause,
382385
session=session,
@@ -432,7 +435,7 @@ def DataReader(
432435
).read()
433436

434437
elif data_source == "enigma":
435-
return EnigmaReader(dataset_id=name, api_key=access_key).read()
438+
return EnigmaReader(dataset_id=name, api_key=api_key).read()
436439

437440
elif data_source == "fred":
438441
return FredReader(
@@ -487,7 +490,7 @@ def DataReader(
487490
retry_count=retry_count,
488491
pause=pause,
489492
session=session,
490-
api_key=access_key,
493+
api_key=api_key,
491494
).read()
492495
elif data_source == "moex":
493496
return MoexReader(
@@ -515,7 +518,7 @@ def DataReader(
515518
retry_count=retry_count,
516519
pause=pause,
517520
session=session,
518-
api_key=access_key,
521+
api_key=api_key,
519522
).read()
520523

521524
elif data_source == "yahoo-actions":
@@ -547,7 +550,7 @@ def DataReader(
547550
retry_count=retry_count,
548551
pause=pause,
549552
session=session,
550-
api_key=access_key,
553+
api_key=api_key,
551554
).read()
552555

553556
elif data_source == "av-daily":
@@ -559,7 +562,7 @@ def DataReader(
559562
retry_count=retry_count,
560563
pause=pause,
561564
session=session,
562-
api_key=access_key,
565+
api_key=api_key,
563566
).read()
564567

565568
elif data_source == "av-daily-adjusted":
@@ -571,7 +574,7 @@ def DataReader(
571574
retry_count=retry_count,
572575
pause=pause,
573576
session=session,
574-
api_key=access_key,
577+
api_key=api_key,
575578
).read()
576579

577580
elif data_source == "av-weekly":
@@ -583,7 +586,7 @@ def DataReader(
583586
retry_count=retry_count,
584587
pause=pause,
585588
session=session,
586-
api_key=access_key,
589+
api_key=api_key,
587590
).read()
588591

589592
elif data_source == "av-weekly-adjusted":
@@ -595,7 +598,7 @@ def DataReader(
595598
retry_count=retry_count,
596599
pause=pause,
597600
session=session,
598-
api_key=access_key,
601+
api_key=api_key,
599602
).read()
600603

601604
elif data_source == "av-monthly":
@@ -607,7 +610,7 @@ def DataReader(
607610
retry_count=retry_count,
608611
pause=pause,
609612
session=session,
610-
api_key=access_key,
613+
api_key=api_key,
611614
).read()
612615

613616
elif data_source == "av-monthly-adjusted":
@@ -619,7 +622,7 @@ def DataReader(
619622
retry_count=retry_count,
620623
pause=pause,
621624
session=session,
622-
api_key=access_key,
625+
api_key=api_key,
623626
).read()
624627

625628
elif data_source == "av-intraday":
@@ -631,7 +634,7 @@ def DataReader(
631634
retry_count=retry_count,
632635
pause=pause,
633636
session=session,
634-
api_key=access_key,
637+
api_key=api_key,
635638
).read()
636639

637640
elif data_source == "econdb":

Diff for: pandas_datareader/tests/test_enigma.py

+3-3
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ def setup_class(cls):
2828

2929
def test_enigma_datareader(self):
3030
try:
31-
df = web.DataReader(self.dataset_id, "enigma", access_key=TEST_API_KEY)
31+
df = web.DataReader(self.dataset_id, "enigma", api_key=TEST_API_KEY)
3232
assert "case_number" in df.columns
3333
except HTTPError as e:
3434
pytest.skip(e)
@@ -42,10 +42,10 @@ def test_enigma_get_data_enigma(self):
4242

4343
def test_bad_key(self):
4444
with pytest.raises(HTTPError):
45-
web.DataReader(self.dataset_id, "enigma", access_key=TEST_API_KEY + "xxx")
45+
web.DataReader(self.dataset_id, "enigma", api_key=TEST_API_KEY + "xxx")
4646

4747
def test_bad_dataset_id(self):
4848
with pytest.raises(HTTPError):
4949
web.DataReader(
50-
"zzzzzzzz-zzzz-zzzz-zzzz-zzzzzzzzzzz", "enigma", access_key=TEST_API_KEY
50+
"zzzzzzzz-zzzz-zzzz-zzzz-zzzzzzzzzzz", "enigma", api_key=TEST_API_KEY
5151
)

Diff for: pandas_datareader/tests/test_quandl.py

+8-8
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ def check_headers(self, df, expected_cols):
3232

3333
def test_db_wiki_us(self):
3434
df = web.DataReader(
35-
"F", "quandl", self.start10, self.end10, access_key=TEST_API_KEY
35+
"F", "quandl", self.start10, self.end10, api_key=TEST_API_KEY
3636
)
3737
self.check_headers(
3838
df,
@@ -56,7 +56,7 @@ def test_db_wiki_us(self):
5656
def test_db_fse_frankfurt(self):
5757
# ALV_X: Allianz SE
5858
df = web.DataReader(
59-
"FSE/ALV_X", "quandl", self.start10, self.end10, access_key=TEST_API_KEY
59+
"FSE/ALV_X", "quandl", self.start10, self.end10, api_key=TEST_API_KEY
6060
)
6161
self.check_headers(
6262
df,
@@ -78,7 +78,7 @@ def test_db_fse_frankfurt(self):
7878
def test_fse_eon(self):
7979
# EON_X: E.on Se
8080
df = web.DataReader(
81-
"FSE/EON_X", "quandl", self.start2, self.end2, access_key=TEST_API_KEY
81+
"FSE/EON_X", "quandl", self.start2, self.end2, api_key=TEST_API_KEY
8282
)
8383
self.check_headers(
8484
df,
@@ -102,7 +102,7 @@ def test_db_euronext_be_fr_nl_pt(self):
102102
# as of 2017-06-11, some datasets end a few months after their start,
103103
# e.g. ALVD, BASD
104104
df = web.DataReader(
105-
"EURONEXT/FP", "quandl", self.start2, self.end2, access_key=TEST_API_KEY
105+
"EURONEXT/FP", "quandl", self.start2, self.end2, api_key=TEST_API_KEY
106106
)
107107
self.check_headers(df, ["Open", "High", "Low", "Last", "Turnover", "Volume"])
108108
assert df.Last.at[self.day2] == 42.525
@@ -112,7 +112,7 @@ def test_db_euronext_be_fr_nl_pt(self):
112112
def test_hk_hsbc_uk(self):
113113
# 00005: HSBC
114114
df = web.DataReader(
115-
"HKEX/00005", "quandl", self.start2, self.end2, access_key=TEST_API_KEY
115+
"HKEX/00005", "quandl", self.start2, self.end2, api_key=TEST_API_KEY
116116
)
117117
self.check_headers(
118118
df,
@@ -137,7 +137,7 @@ def test_hk_hsbc_uk(self):
137137
def test_db_nse_in(self):
138138
# TCS: Tata Consutancy Services
139139
df = web.DataReader(
140-
"NSE/TCS", "quandl", self.start10, self.end10, access_key=TEST_API_KEY
140+
"NSE/TCS", "quandl", self.start10, self.end10, api_key=TEST_API_KEY
141141
)
142142
self.check_headers(
143143
df,
@@ -156,7 +156,7 @@ def test_db_nse_in(self):
156156
def test_db_tse_jp(self):
157157
# TSE/6758: Sony Corp.
158158
df = web.DataReader(
159-
"TSE/6758", "quandl", self.start10, self.end10, access_key=TEST_API_KEY
159+
"TSE/6758", "quandl", self.start10, self.end10, api_key=TEST_API_KEY
160160
)
161161
self.check_headers(df, ["Open", "High", "Low", "Close", "Volume"])
162162
assert df.Close.at[self.day10] == 5190.0
@@ -169,7 +169,7 @@ def test_db_tse_jp(self):
169169
def test_db_hkex_cn(self):
170170
# HKEX/00941: China Mobile
171171
df = web.DataReader(
172-
"HKEX/00941", "quandl", self.start2, self.end2, access_key=TEST_API_KEY
172+
"HKEX/00941", "quandl", self.start2, self.end2, api_key=TEST_API_KEY
173173
)
174174
self.check_headers(
175175
df,

0 commit comments

Comments
 (0)