Skip to content

Commit 9285820

Browse files
alimcmaster1jreback
authored andcommitted
Add isort config (pandas-dev#23096)
1 parent e8d29e7 commit 9285820

File tree

12 files changed

+659
-135
lines changed

12 files changed

+659
-135
lines changed

ci/code_checks.sh

+5
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,11 @@ if [[ -z "$CHECK" || "$CHECK" == "lint" ]]; then
5656
cpplint --quiet --extensions=c,h --headers=h --recursive --filter=-readability/casting,-runtime/int,-build/include_subdir pandas/_libs/src/*.h pandas/_libs/src/parser pandas/_libs/ujson pandas/_libs/tslibs/src/datetime
5757
RET=$(($RET + $?)) ; echo $MSG "DONE"
5858

59+
# Imports - Check formatting using isort see setup.cfg for settings
60+
MSG='Check import format using isort ' ; echo $MSG
61+
isort --recursive --check-only pandas
62+
RET=$(($RET + $?)) ; echo $MSG "DONE"
63+
5964
fi
6065

6166
### PATTERNS ###

ci/environment-dev.yaml

+1
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ dependencies:
88
- flake8
99
- flake8-comprehensions
1010
- hypothesis>=3.58.0
11+
- isort
1112
- moto
1213
- pytest>=3.6
1314
- python-dateutil>=2.5.0

ci/requirements_dev.txt

+1
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ NumPy
55
flake8
66
flake8-comprehensions
77
hypothesis>=3.58.0
8+
isort
89
moto
910
pytest>=3.6
1011
python-dateutil>=2.5.0

ci/travis-36.yaml

+1
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ dependencies:
1414
- geopandas
1515
- html5lib
1616
- ipython
17+
- isort
1718
- jinja2
1819
- lxml
1920
- matplotlib

pandas/core/indexes/range.py

+8-14
Original file line numberDiff line numberDiff line change
@@ -4,27 +4,21 @@
44

55
import numpy as np
66

7+
import pandas.core.common as com
8+
import pandas.core.indexes.base as ibase
79
from pandas import compat
8-
910
from pandas._libs import index as libindex
10-
from pandas.util._decorators import Appender, cache_readonly
11-
12-
from pandas.compat import lrange, range, get_range_parameters
11+
from pandas.compat import get_range_parameters, lrange, range
1312
from pandas.compat.numpy import function as nv
14-
13+
from pandas.core import ops
14+
from pandas.core.dtypes import concat as _concat
1515
from pandas.core.dtypes.common import (
16-
is_integer,
17-
is_scalar,
18-
is_timedelta64_dtype,
19-
is_int64_dtype)
16+
is_int64_dtype, is_integer, is_scalar, is_timedelta64_dtype
17+
)
2018
from pandas.core.dtypes.generic import ABCSeries, ABCTimedeltaIndex
21-
from pandas.core.dtypes import concat as _concat
22-
23-
import pandas.core.common as com
24-
import pandas.core.indexes.base as ibase
25-
from pandas.core import ops
2619
from pandas.core.indexes.base import Index, _index_shared_docs
2720
from pandas.core.indexes.numeric import Int64Index
21+
from pandas.util._decorators import Appender, cache_readonly
2822

2923

3024
class RangeIndex(Int64Index):

pandas/core/series.py

+43-63
Original file line numberDiff line numberDiff line change
@@ -3,87 +3,67 @@
33
"""
44
from __future__ import division
55

6-
# pylint: disable=E1101,E1103
7-
# pylint: disable=W0703,W0622,W0613,W0201
8-
96
import warnings
107
from textwrap import dedent
118

129
import numpy as np
1310
import numpy.ma as ma
1411

12+
import pandas.core.algorithms as algorithms
13+
import pandas.core.common as com
14+
import pandas.core.indexes.base as ibase
15+
import pandas.core.nanops as nanops
16+
import pandas.core.ops as ops
17+
import pandas.io.formats.format as fmt
18+
import pandas.plotting._core as gfx
19+
from pandas import compat
20+
from pandas._libs import iNaT, index as libindex, lib, tslibs
21+
from pandas.compat import (
22+
PY36, OrderedDict, StringIO, get_range_parameters, range, u, zip
23+
)
24+
from pandas.compat.numpy import function as nv
25+
from pandas.core import base, generic
1526
from pandas.core.accessor import CachedAccessor
1627
from pandas.core.arrays import ExtensionArray
28+
from pandas.core.arrays.categorical import Categorical, CategoricalAccessor
29+
from pandas.core.config import get_option
30+
from pandas.core.dtypes.cast import (
31+
construct_1d_arraylike_from_scalar, construct_1d_ndarray_preserving_na,
32+
construct_1d_object_array_from_listlike, infer_dtype_from_scalar,
33+
maybe_cast_to_datetime, maybe_cast_to_integer_array, maybe_castable,
34+
maybe_convert_platform, maybe_upcast
35+
)
1736
from pandas.core.dtypes.common import (
18-
is_categorical_dtype,
19-
is_string_like,
20-
is_bool,
21-
is_integer, is_integer_dtype,
22-
is_float_dtype,
23-
is_extension_type,
24-
is_extension_array_dtype,
25-
is_datetimelike,
26-
is_datetime64tz_dtype,
27-
is_timedelta64_dtype,
28-
is_object_dtype,
29-
is_list_like,
30-
is_hashable,
31-
is_iterator,
32-
is_dict_like,
33-
is_scalar,
34-
_is_unorderable_exception,
35-
ensure_platform_int,
36-
pandas_dtype)
37+
_is_unorderable_exception, ensure_platform_int, is_bool,
38+
is_categorical_dtype, is_datetime64tz_dtype, is_datetimelike, is_dict_like,
39+
is_extension_array_dtype, is_extension_type, is_float_dtype, is_hashable,
40+
is_integer, is_integer_dtype, is_iterator, is_list_like, is_object_dtype,
41+
is_scalar, is_string_like, is_timedelta64_dtype, pandas_dtype
42+
)
3743
from pandas.core.dtypes.generic import (
38-
ABCSparseArray, ABCDataFrame, ABCIndexClass,
39-
ABCSeries, ABCSparseSeries)
40-
from pandas.core.dtypes.cast import (
41-
maybe_upcast, infer_dtype_from_scalar,
42-
maybe_convert_platform,
43-
maybe_cast_to_datetime, maybe_castable,
44-
construct_1d_arraylike_from_scalar,
45-
construct_1d_ndarray_preserving_na,
46-
construct_1d_object_array_from_listlike,
47-
maybe_cast_to_integer_array)
44+
ABCDataFrame, ABCIndexClass, ABCSeries, ABCSparseArray, ABCSparseSeries
45+
)
4846
from pandas.core.dtypes.missing import (
49-
isna,
50-
notna,
51-
remove_na_arraylike,
52-
na_value_for_dtype)
53-
54-
from pandas.core.index import (Index, MultiIndex, InvalidIndexError,
55-
Float64Index, ensure_index)
56-
from pandas.core.indexing import check_bool_indexer, maybe_convert_indices
57-
from pandas.core import generic, base
58-
from pandas.core.internals import SingleBlockManager
59-
from pandas.core.arrays.categorical import Categorical, CategoricalAccessor
47+
isna, na_value_for_dtype, notna, remove_na_arraylike
48+
)
49+
from pandas.core.index import (
50+
Float64Index, Index, InvalidIndexError, MultiIndex, ensure_index
51+
)
6052
from pandas.core.indexes.accessors import CombinedDatetimelikeProperties
6153
from pandas.core.indexes.datetimes import DatetimeIndex
62-
from pandas.core.indexes.timedeltas import TimedeltaIndex
6354
from pandas.core.indexes.period import PeriodIndex
64-
from pandas import compat
55+
from pandas.core.indexes.timedeltas import TimedeltaIndex
56+
from pandas.core.indexing import check_bool_indexer, maybe_convert_indices
57+
from pandas.core.internals import SingleBlockManager
58+
from pandas.core.strings import StringMethods
59+
from pandas.core.tools.datetimes import to_datetime
6560
from pandas.io.formats.terminal import get_terminal_size
66-
from pandas.compat import (
67-
zip, u, OrderedDict, StringIO, range, get_range_parameters, PY36)
68-
from pandas.compat.numpy import function as nv
69-
70-
import pandas.core.ops as ops
71-
import pandas.core.algorithms as algorithms
72-
73-
import pandas.core.common as com
74-
import pandas.core.nanops as nanops
75-
import pandas.core.indexes.base as ibase
76-
77-
import pandas.io.formats.format as fmt
78-
from pandas.util._decorators import Appender, deprecate, Substitution
61+
from pandas.util._decorators import Appender, Substitution, deprecate
7962
from pandas.util._validators import validate_bool_kwarg
8063

81-
from pandas._libs import index as libindex, tslibs, lib, iNaT
82-
from pandas.core.config import get_option
83-
from pandas.core.strings import StringMethods
84-
from pandas.core.tools.datetimes import to_datetime
64+
# pylint: disable=E1101,E1103
65+
# pylint: disable=W0703,W0622,W0613,W0201
8566

86-
import pandas.plotting._core as gfx
8767

8868
__all__ = ['Series']
8969

pandas/io/packers.py

+17-23
Original file line numberDiff line numberDiff line change
@@ -40,39 +40,33 @@
4040

4141
import os
4242
import warnings
43-
from datetime import datetime, date, timedelta
43+
from datetime import date, datetime, timedelta
4444
from textwrap import dedent
4545

4646
import numpy as np
4747
from dateutil.parser import parse
4848

49-
from pandas import compat
50-
from pandas import (Timestamp, Period, Series, DataFrame, # noqa:F401
51-
Index, MultiIndex, Float64Index, Int64Index,
52-
Panel, RangeIndex, PeriodIndex, DatetimeIndex, NaT,
53-
Categorical, CategoricalIndex, IntervalIndex, Interval,
54-
TimedeltaIndex)
55-
56-
from pandas.util._move import (
57-
BadMove as _BadMove,
58-
move_into_mutable_buffer as _move_into_mutable_buffer,
49+
from pandas import ( # noqa:F401
50+
Categorical, CategoricalIndex, DataFrame, DatetimeIndex, Float64Index,
51+
Index, Int64Index, Interval, IntervalIndex, MultiIndex, NaT, Panel, Period,
52+
PeriodIndex, RangeIndex, Series, TimedeltaIndex, Timestamp, compat
5953
)
60-
from pandas.errors import PerformanceWarning
61-
6254
from pandas.compat import u, u_safe
63-
64-
from pandas.core.dtypes.common import (
65-
is_categorical_dtype, is_object_dtype,
66-
needs_i8_conversion, pandas_dtype)
67-
6855
from pandas.core import internals
6956
from pandas.core.arrays import IntervalArray
70-
from pandas.core.generic import NDFrame
71-
from pandas.core.internals import BlockManager, make_block, _safe_reshape
72-
from pandas.core.sparse.api import SparseSeries, SparseDataFrame
7357
from pandas.core.arrays.sparse import BlockIndex, IntIndex
74-
from pandas.io.common import get_filepath_or_buffer, _stringify_path
75-
from pandas.io.msgpack import Unpacker as _Unpacker, Packer as _Packer, ExtType
58+
from pandas.core.dtypes.common import (
59+
is_categorical_dtype, is_object_dtype, needs_i8_conversion, pandas_dtype
60+
)
61+
from pandas.core.generic import NDFrame
62+
from pandas.core.internals import BlockManager, _safe_reshape, make_block
63+
from pandas.core.sparse.api import SparseDataFrame, SparseSeries
64+
from pandas.errors import PerformanceWarning
65+
from pandas.io.common import _stringify_path, get_filepath_or_buffer
66+
from pandas.io.msgpack import ExtType, Packer as _Packer, Unpacker as _Unpacker
67+
from pandas.util._move import (
68+
BadMove as _BadMove, move_into_mutable_buffer as _move_into_mutable_buffer
69+
)
7670

7771
# check which compression libs we have installed
7872
try:

pandas/io/pytables.py

+23-30
Original file line numberDiff line numberDiff line change
@@ -10,48 +10,41 @@
1010
import re
1111
import time
1212
import warnings
13-
14-
from datetime import datetime, date
13+
from datetime import date, datetime
1514
from distutils.version import LooseVersion
1615

1716
import numpy as np
1817

19-
from pandas import (Series, DataFrame, Panel, Index,
20-
MultiIndex, Int64Index, isna, concat, to_datetime,
21-
SparseSeries, SparseDataFrame, PeriodIndex,
22-
DatetimeIndex, TimedeltaIndex)
23-
from pandas import compat
18+
import pandas.core.common as com
19+
from pandas import (
20+
DataFrame, DatetimeIndex, Index, Int64Index, MultiIndex, Panel,
21+
PeriodIndex, Series, SparseDataFrame, SparseSeries, TimedeltaIndex, compat,
22+
concat, isna, to_datetime
23+
)
2424
from pandas._libs import algos, lib, writers as libwriters
2525
from pandas._libs.tslibs import timezones
26-
27-
from pandas.errors import PerformanceWarning
28-
from pandas.compat import PY3, range, lrange, string_types, filter
29-
30-
from pandas.core.dtypes.common import (
31-
is_list_like,
32-
is_categorical_dtype,
33-
is_timedelta64_dtype,
34-
is_datetime64tz_dtype,
35-
is_datetime64_dtype,
36-
ensure_object,
37-
ensure_int64,
38-
ensure_platform_int)
39-
from pandas.core.dtypes.missing import array_equivalent
40-
26+
from pandas.compat import PY3, filter, lrange, range, string_types
4127
from pandas.core import config
42-
import pandas.core.common as com
4328
from pandas.core.algorithms import match, unique
44-
from pandas.core.arrays.categorical import (Categorical,
45-
_factorize_from_iterables)
29+
from pandas.core.arrays.categorical import (
30+
Categorical, _factorize_from_iterables
31+
)
32+
from pandas.core.arrays.sparse import BlockIndex, IntIndex
4633
from pandas.core.base import StringMixin
4734
from pandas.core.computation.pytables import Expr, maybe_expression
4835
from pandas.core.config import get_option
36+
from pandas.core.dtypes.common import (
37+
ensure_int64, ensure_object, ensure_platform_int, is_categorical_dtype,
38+
is_datetime64_dtype, is_datetime64tz_dtype, is_list_like,
39+
is_timedelta64_dtype
40+
)
41+
from pandas.core.dtypes.missing import array_equivalent
4942
from pandas.core.index import ensure_index
50-
from pandas.core.internals import (BlockManager, make_block,
51-
_block2d_to_blocknd,
52-
_factor_indexer, _block_shape)
53-
from pandas.core.arrays.sparse import BlockIndex, IntIndex
54-
43+
from pandas.core.internals import (
44+
BlockManager, _block2d_to_blocknd, _block_shape, _factor_indexer,
45+
make_block
46+
)
47+
from pandas.errors import PerformanceWarning
5548
from pandas.io.common import _stringify_path
5649
from pandas.io.formats.printing import adjoin, pprint_thing
5750

pandas/tests/arrays/categorical/test_subclass.py

+1-2
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
11
# -*- coding: utf-8 -*-
22

3-
from pandas import Categorical
4-
53
import pandas.util.testing as tm
4+
from pandas import Categorical
65

76

87
class TestCategoricalSubclassing(object):

pandas/tests/tslibs/test_liboffsets.py

+1-2
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,8 @@
66

77
import pytest
88

9-
from pandas import Timestamp
10-
119
import pandas._libs.tslibs.offsets as liboffsets
10+
from pandas import Timestamp
1211
from pandas._libs.tslibs.offsets import roll_qtrday
1312

1413

pandas/tseries/api.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,5 @@
44

55
# flake8: noqa
66

7-
from pandas.tseries.frequencies import infer_freq
87
import pandas.tseries.offsets as offsets
8+
from pandas.tseries.frequencies import infer_freq

0 commit comments

Comments
 (0)