Skip to content

Commit 9403aad

Browse files
graingertjreback
authored andcommitted
avoid monkey patching requests.Session Fixes #301 (#302)
1 parent d69b544 commit 9403aad

File tree

4 files changed

+11
-9
lines changed

4 files changed

+11
-9
lines changed

docs/source/whatsnew/v0.5.0.txt

+1
Original file line numberDiff line numberDiff line change
@@ -22,3 +22,4 @@ Bug Fixes
2222
- Handle commas in large price quotes (:issue:`345`)
2323
- Test suite fixes for test_get_options_data (:issue:`352`)
2424
- Test suite fixes for test_wdi_download (:issue:`350`)
25+
- avoid monkey patching requests.Session (:issue:`301`)

pandas_datareader/_utils.py

+5-6
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,10 @@
11
import datetime as dt
2-
from pandas import to_datetime
3-
from requests_file import FileAdapter
4-
from pandas_datareader.compat import is_number
52

63
import requests
7-
import requests_ftp
8-
9-
requests_ftp.monkeypatch_session()
4+
from pandas import to_datetime
5+
from pandas_datareader.compat import is_number
6+
from requests_file import FileAdapter
7+
from requests_ftp import FTPAdapter
108

119

1210
class SymbolWarning(UserWarning):
@@ -43,5 +41,6 @@ def _init_session(session, retry_count=3):
4341
if session is None:
4442
session = requests.Session()
4543
session.mount('file://', FileAdapter())
44+
session.mount('ftp://', FTPAdapter())
4645
# do not set requests max_retries here to support arbitrary pause
4746
return session

pandas_datareader/base.py

-3
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,6 @@
1313
from pandas_datareader._utils import (RemoteDataError, SymbolWarning,
1414
_sanitize_dates, _init_session)
1515

16-
import requests_ftp
17-
requests_ftp.monkeypatch_session()
18-
1916

2017
class _BaseReader(object):
2118

pandas_datareader/tests/test_base.py

+5
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,13 @@
11
import pytest
2+
import requests
3+
24
import pandas_datareader.base as base
35

46

57
class TestBaseReader(object):
8+
def test_requests_not_monkey_patched(self):
9+
assert not hasattr(requests.Session(), 'stor')
10+
611
def test_valid_retry_count(self):
712
with pytest.raises(ValueError):
813
base._BaseReader([], retry_count='stuff')

0 commit comments

Comments
 (0)