Skip to content

Commit 42ec6ff

Browse files
committed
Import dateutil and pytz without checks
1 parent cf3c10d commit 42ec6ff

22 files changed

+50
-148
lines changed

pandas/tests/groupby/test_timegrouper.py

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
""" test with the TimeGrouper / grouping with datetimes """
22

33
import pytest
4+
import pytz
45

56
from datetime import datetime
67
import numpy as np
@@ -569,9 +570,8 @@ def test_groupby_with_timezone_selection(self):
569570
tm.assert_series_equal(df1, df2)
570571

571572
def test_timezone_info(self):
572-
# GH 11682
573-
# Timezone info lost when broadcasting scalar datetime to DataFrame
574-
pytz = pytest.importorskip("pytz")
573+
# see gh-11682: Timezone info lost when broadcasting
574+
# scalar datetime to DataFrame
575575

576576
df = pd.DataFrame({'a': [1], 'b': [datetime.now(pytz.utc)]})
577577
assert df['b'][0].tzinfo == pytz.utc

pandas/tests/indexes/datetimes/test_astype.py

+4-14
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,12 @@
11
import pytest
22

3+
import pytz
4+
import dateutil
35
import numpy as np
46

57
from datetime import datetime
8+
from dateutil.tz import tzlocal
9+
610
import pandas as pd
711
import pandas.util.testing as tm
812
from pandas import (DatetimeIndex, date_range, Series, NaT, Index, Timestamp,
@@ -124,8 +128,6 @@ def test_astype_raises(self):
124128
pytest.raises(ValueError, idx.astype, 'datetime64[D]')
125129

126130
def test_index_convert_to_datetime_array(self):
127-
pytest.importorskip("pytz")
128-
129131
def _check_rng(rng):
130132
converted = rng.to_pydatetime()
131133
assert isinstance(converted, np.ndarray)
@@ -143,8 +145,6 @@ def _check_rng(rng):
143145
_check_rng(rng_utc)
144146

145147
def test_index_convert_to_datetime_array_explicit_pytz(self):
146-
pytz = pytest.importorskip("pytz")
147-
148148
def _check_rng(rng):
149149
converted = rng.to_pydatetime()
150150
assert isinstance(converted, np.ndarray)
@@ -163,8 +163,6 @@ def _check_rng(rng):
163163
_check_rng(rng_utc)
164164

165165
def test_index_convert_to_datetime_array_dateutil(self):
166-
dateutil = pytest.importorskip("dateutil")
167-
168166
def _check_rng(rng):
169167
converted = rng.to_pydatetime()
170168
assert isinstance(converted, np.ndarray)
@@ -207,8 +205,6 @@ def test_to_period_microsecond(self):
207205
assert period[1] == Period('2007-01-01 10:11:13.789123Z', 'U')
208206

209207
def test_to_period_tz_pytz(self):
210-
pytest.importorskip("pytz")
211-
from dateutil.tz import tzlocal
212208
from pytz import utc as UTC
213209

214210
xp = date_range('1/1/2000', '4/1/2000').to_period()
@@ -238,9 +234,6 @@ def test_to_period_tz_pytz(self):
238234
tm.assert_index_equal(ts.to_period(), xp)
239235

240236
def test_to_period_tz_explicit_pytz(self):
241-
pytz = pytest.importorskip("pytz")
242-
from dateutil.tz import tzlocal
243-
244237
xp = date_range('1/1/2000', '4/1/2000').to_period()
245238

246239
ts = date_range('1/1/2000', '4/1/2000', tz=pytz.timezone('US/Eastern'))
@@ -268,9 +261,6 @@ def test_to_period_tz_explicit_pytz(self):
268261
tm.assert_index_equal(ts.to_period(), xp)
269262

270263
def test_to_period_tz_dateutil(self):
271-
dateutil = pytest.importorskip("dateutil")
272-
from dateutil.tz import tzlocal
273-
274264
xp = date_range('1/1/2000', '4/1/2000').to_period()
275265

276266
ts = date_range('1/1/2000', '4/1/2000', tz='dateutil/US/Eastern')

pandas/tests/indexes/datetimes/test_construction.py

+2-6
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import pytest
22

3+
import pytz
34
import numpy as np
45
from datetime import timedelta
56

@@ -350,10 +351,7 @@ def test_constructor_coverage(self):
350351
pytest.raises(ValueError, DatetimeIndex, periods=10, freq='D')
351352

352353
def test_constructor_datetime64_tzformat(self):
353-
# see gh-6572
354-
pytz = pytest.importorskip("pytz")
355-
356-
# ISO 8601 format results in pytz.FixedOffset
354+
# see gh-6572: ISO 8601 format results in pytz.FixedOffset
357355
for freq in ['AS', 'W-SUN']:
358356
idx = date_range('2013-01-01T00:00:00-05:00',
359357
'2016-01-01T23:59:59-05:00', freq=freq)
@@ -376,8 +374,6 @@ def test_constructor_datetime64_tzformat(self):
376374
tz='Asia/Tokyo')
377375
tm.assert_numpy_array_equal(idx.asi8, expected_i8.asi8)
378376

379-
pytest.importorskip("dateutil")
380-
381377
# Non ISO 8601 format results in dateutil.tz.tzoffset
382378
for freq in ['AS', 'W-SUN']:
383379
idx = date_range('2013/1/1 0:00:00-5:00', '2016/1/1 23:59:59-5:00',

pandas/tests/indexes/datetimes/test_date_range.py

+2-8
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
import pytest
77

88
import numpy as np
9+
from pytz import timezone
910
from datetime import datetime, timedelta, time
1011

1112
import pandas as pd
@@ -299,10 +300,7 @@ def test_range_bug(self):
299300
tm.assert_index_equal(result, DatetimeIndex(exp_values))
300301

301302
def test_range_tz_pytz(self):
302-
# GH 2906
303-
pytest.importorskip("pytz")
304-
from pytz import timezone
305-
303+
# see gh-2906
306304
tz = timezone('US/Eastern')
307305
start = tz.localize(datetime(2011, 1, 1))
308306
end = tz.localize(datetime(2011, 1, 3))
@@ -323,9 +321,6 @@ def test_range_tz_pytz(self):
323321
assert dr[2] == end
324322

325323
def test_range_tz_dst_straddle_pytz(self):
326-
327-
pytest.importorskip("pytz")
328-
from pytz import timezone
329324
tz = timezone('US/Eastern')
330325
dates = [(tz.localize(datetime(2014, 3, 6)),
331326
tz.localize(datetime(2014, 3, 12))),
@@ -350,7 +345,6 @@ def test_range_tz_dst_straddle_pytz(self):
350345

351346
def test_range_tz_dateutil(self):
352347
# see gh-2906
353-
pytest.importorskip("dateutil")
354348

355349
# Use maybe_get_tz to fix filename in tz under dateutil.
356350
from pandas._libs.tslib import maybe_get_tz

pandas/tests/indexes/datetimes/test_datetime.py

+1-2
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import numpy as np
44
from datetime import date, timedelta, time
55

6+
import dateutil
67
import pandas as pd
78
import pandas.util.testing as tm
89
from pandas.compat import lrange
@@ -363,9 +364,7 @@ def test_map(self):
363364
tm.assert_index_equal(result, exp)
364365

365366
def test_iteration_preserves_tz(self):
366-
367367
# see gh-8890
368-
dateutil = pytest.importorskip("dateutil")
369368
index = date_range("2012-01-01", periods=3, freq='H', tz='US/Eastern')
370369

371370
for i, ts in enumerate(index):

pandas/tests/indexes/datetimes/test_indexing.py

+1-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import pytest
22

3+
import pytz
34
import numpy as np
45
import pandas as pd
56
import pandas.util.testing as tm
@@ -98,8 +99,6 @@ def test_insert(self):
9899
assert result.freq is None
99100

100101
# see gh-7299
101-
pytz = pytest.importorskip("pytz")
102-
103102
idx = date_range('1/1/2000', periods=3, freq='D', tz='Asia/Tokyo',
104103
name='idx')
105104
with pytest.raises(ValueError):

pandas/tests/indexes/datetimes/test_ops.py

+2-4
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
1+
import pytz
12
import pytest
3+
import dateutil
24
import warnings
35
import numpy as np
46
from datetime import timedelta
@@ -1177,11 +1179,9 @@ def test_summary(self):
11771179
self.rng[2:2].summary()
11781180

11791181
def test_summary_pytz(self):
1180-
pytz = pytest.importorskip("pytz")
11811182
bdate_range('1/1/2005', '1/1/2009', tz=pytz.utc).summary()
11821183

11831184
def test_summary_dateutil(self):
1184-
dateutil = pytest.importorskip("dateutil")
11851185
bdate_range('1/1/2005', '1/1/2009', tz=dateutil.tz.tzutc()).summary()
11861186

11871187
def test_equals(self):
@@ -1277,11 +1277,9 @@ def test_summary(self):
12771277
self.rng[2:2].summary()
12781278

12791279
def test_summary_pytz(self):
1280-
pytz = pytest.importorskip("pytz")
12811280
cdate_range('1/1/2005', '1/1/2009', tz=pytz.utc).summary()
12821281

12831282
def test_summary_dateutil(self):
1284-
dateutil = pytest.importorskip("dateutil")
12851283
cdate_range('1/1/2005', '1/1/2009', tz=dateutil.tz.tzutc()).summary()
12861284

12871285
def test_equals(self):

pandas/tests/indexes/datetimes/test_setops.py

+1-2
Original file line numberDiff line numberDiff line change
@@ -307,7 +307,6 @@ def test_intersection_bug(self):
307307
tm.assert_index_equal(result, b)
308308

309309
def test_month_range_union_tz_pytz(self):
310-
pytest.importorskip("pytz")
311310
from pytz import timezone
312311
tz = timezone('US/Eastern')
313312

@@ -326,7 +325,7 @@ def test_month_range_union_tz_pytz(self):
326325

327326
def test_month_range_union_tz_dateutil(self):
328327
tm._skip_if_windows_python_3()
329-
pytest.importorskip("dateutil")
328+
330329
from pandas._libs.tslib import _dateutil_gettz as timezone
331330
tz = timezone('US/Eastern')
332331

pandas/tests/indexes/datetimes/test_tools.py

+3-9
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,13 @@
11
""" test to_datetime """
22

33
import sys
4+
import pytz
45
import pytest
56
import locale
67
import calendar
8+
import dateutil
79
import numpy as np
10+
from dateutil.parser import parse
811
from datetime import datetime, date, time
912
from distutils.version import LooseVersion
1013

@@ -244,10 +247,7 @@ def test_to_datetime_tz(self):
244247
pytest.raises(ValueError, lambda: pd.to_datetime(arr))
245248

246249
def test_to_datetime_tz_pytz(self):
247-
248250
# see gh-8260
249-
pytz = pytest.importorskip("pytz")
250-
251251
us_eastern = pytz.timezone('US/Eastern')
252252
arr = np.array([us_eastern.localize(datetime(year=2000, month=1, day=1,
253253
hour=3, minute=0)),
@@ -1163,7 +1163,6 @@ def test_parsers_dayfirst_yearfirst(self):
11631163
# 2.5.2 20/12/21 [dayfirst=1, yearfirst=0] -> 2021-12-20 00:00:00
11641164
# 2.5.3 20/12/21 [dayfirst=1, yearfirst=0] -> 2021-12-20 00:00:00
11651165

1166-
dateutil = pytest.importorskip("dateutil")
11671166
is_lt_253 = dateutil.__version__ < LooseVersion('2.5.3')
11681167

11691168
# str : dayfirst, yearfirst, expected
@@ -1184,7 +1183,6 @@ def test_parsers_dayfirst_yearfirst(self):
11841183
(True, True,
11851184
datetime(2020, 12, 21))]}
11861185

1187-
from dateutil.parser import parse
11881186
for date_str, values in compat.iteritems(cases):
11891187
for dayfirst, yearfirst, expected in values:
11901188

@@ -1218,9 +1216,6 @@ def test_parsers_dayfirst_yearfirst(self):
12181216
assert result4 == expected
12191217

12201218
def test_parsers_timestring(self):
1221-
pytest.importorskip("dateutil")
1222-
from dateutil.parser import parse
1223-
12241219
# must be the same as dateutil result
12251220
cases = {'10:15': (parse('10:15'), datetime(1, 1, 1, 10, 15)),
12261221
'9:05': (parse('9:05'), datetime(1, 1, 1, 9, 5))}
@@ -1362,7 +1357,6 @@ def test_parsers_iso8601(self):
13621357
class TestArrayToDatetime(object):
13631358

13641359
def test_try_parse_dates(self):
1365-
from dateutil.parser import parse
13661360
arr = np.array(['5/1/2000', '6/1/2000', '7/1/2000'], dtype=object)
13671361

13681362
result = lib.try_parse_dates(arr, dayfirst=True)

pandas/tests/io/formats/test_format.py

+2-5
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@
77
from __future__ import print_function
88
import re
99

10+
import pytz
11+
import dateutil
1012
import itertools
1113
from operator import methodcaller
1214
import os
@@ -2506,10 +2508,6 @@ def test_no_tz(self):
25062508
assert str(ts_nanos_micros) == "1970-01-01 00:00:00.000001200"
25072509

25082510
def test_tz_pytz(self):
2509-
pytest.importorskip("pytz")
2510-
2511-
import pytz
2512-
25132511
dt_date = datetime(2013, 1, 2, tzinfo=pytz.utc)
25142512
assert str(dt_date) == str(Timestamp(dt_date))
25152513

@@ -2520,7 +2518,6 @@ def test_tz_pytz(self):
25202518
assert str(dt_datetime_us) == str(Timestamp(dt_datetime_us))
25212519

25222520
def test_tz_dateutil(self):
2523-
dateutil = pytest.importorskip("dateutil")
25242521
utc = dateutil.tz.tzutc()
25252522

25262523
dt_date = datetime(2013, 1, 2, tzinfo=utc)

pandas/tests/io/json/test_ujson.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,14 @@
55
except ImportError:
66
import simplejson as json
77
import math
8+
import pytz
89
import pytest
910
import time
1011
import datetime
1112
import calendar
1213
import re
1314
import decimal
15+
import dateutil
1416
from functools import partial
1517
from pandas.compat import range, zip, StringIO, u
1618
import pandas._libs.json as ujson
@@ -397,15 +399,13 @@ def test_encodeTimeConversion(self):
397399

398400
def test_encodeTimeConversion_pytz(self):
399401
# see gh-11473: to_json segfaults with timezone-aware datetimes
400-
pytz = pytest.importorskip("pytz")
401402
test = datetime.time(10, 12, 15, 343243, pytz.utc)
402403
output = ujson.encode(test)
403404
expected = '"%s"' % test.isoformat()
404405
assert expected == output
405406

406407
def test_encodeTimeConversion_dateutil(self):
407408
# see gh-11473: to_json segfaults with timezone-aware datetimes
408-
dateutil = pytest.importorskip("dateutil")
409409
test = datetime.time(10, 12, 15, 343243, dateutil.tz.tzutc())
410410
output = ujson.encode(test)
411411
expected = '"%s"' % test.isoformat()

pandas/tests/io/test_pytables.py

-1
Original file line numberDiff line numberDiff line change
@@ -5243,7 +5243,6 @@ def _compare_with_tz(self, a, b):
52435243
def test_append_with_timezones_dateutil(self):
52445244

52455245
from datetime import timedelta
5246-
pytest.importorskip("dateutil")
52475246

52485247
# use maybe_get_tz instead of dateutil.tz.gettz to handle the windows
52495248
# filename issues.

pandas/tests/reshape/test_concat.py

+1-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
from warnings import catch_warnings
22

3+
import dateutil
34
import numpy as np
45
from numpy.random import randn
56

@@ -1780,8 +1781,6 @@ def test_concat_tz_series_with_datetimelike(self):
17801781

17811782
def test_concat_tz_series_tzlocal(self):
17821783
# see gh-13583
1783-
dateutil = pytest.importorskip("dateutil")
1784-
17851784
x = [pd.Timestamp('2011-01-01', tz=dateutil.tz.tzlocal()),
17861785
pd.Timestamp('2011-02-01', tz=dateutil.tz.tzlocal())]
17871786
y = [pd.Timestamp('2012-01-01', tz=dateutil.tz.tzlocal()),

pandas/tests/scalar/test_period.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import pytest
22

3+
import pytz
34
import numpy as np
45
from datetime import datetime, date, timedelta
56

@@ -210,7 +211,6 @@ def test_period_cons_combined(self):
210211
Period('2011-01', freq='1D1W')
211212

212213
def test_timestamp_tz_arg(self):
213-
pytz = pytest.importorskip("pytz")
214214
for case in ['Europe/Brussels', 'Asia/Tokyo', 'US/Pacific']:
215215
p = Period('1/1/2005', freq='M').to_timestamp(tz=case)
216216
exp = Timestamp('1/1/2005', tz='UTC').tz_convert(case)

0 commit comments

Comments
 (0)