From 751bcc6c9c2f9f0a3d06b122b5328df3c35c1062 Mon Sep 17 00:00:00 2001 From: alimcmaster1 Date: Wed, 5 Jun 2019 19:42:24 +0100 Subject: [PATCH 01/13] isort init files --- pandas/__init__.py | 113 ++++++++------------- pandas/_libs/__init__.py | 2 +- pandas/_libs/tslibs/__init__.py | 6 +- pandas/api/__init__.py | 2 +- pandas/api/extensions/__init__.py | 16 +-- pandas/api/types/__init__.py | 10 +- pandas/arrays/__init__.py | 8 +- pandas/compat/numpy/__init__.py | 4 +- pandas/core/arrays/__init__.py | 12 +-- pandas/core/internals/__init__.py | 26 ++--- pandas/io/clipboard/__init__.py | 7 +- pandas/io/excel/__init__.py | 2 +- pandas/io/json/__init__.py | 2 +- pandas/io/msgpack/__init__.py | 8 +- pandas/plotting/__init__.py | 8 +- pandas/tests/extension/base/__init__.py | 10 +- pandas/tests/extension/decimal/__init__.py | 3 +- pandas/util/__init__.py | 6 +- setup.cfg | 22 +--- 19 files changed, 111 insertions(+), 156 deletions(-) diff --git a/pandas/__init__.py b/pandas/__init__.py index 4c494b4a62e39..524891be34e4e 100644 --- a/pandas/__init__.py +++ b/pandas/__init__.py @@ -17,10 +17,54 @@ "Missing required dependencies {0}".format(missing_dependencies)) del hard_dependencies, dependency, missing_dependencies +from datetime import datetime + +from pandas._config import ( + describe_option, get_option, option_context, options, reset_option, + set_option) + # numpy compat from pandas.compat.numpy import ( _np_version_under1p14, _np_version_under1p15, _np_version_under1p16, _np_version_under1p17) +from pandas.util._print_versions import show_versions +from pandas.util._tester import test + +# let init-time option registration happen +import pandas.arrays +from pandas.core.computation.api import eval +import pandas.core.config_init +from pandas.core.reshape.api import ( + concat, crosstab, cut, get_dummies, lreshape, melt, merge, merge_asof, + merge_ordered, pivot, pivot_table, qcut, wide_to_long) +from pandas.core.sparse.api import ( + SparseArray, SparseDataFrame, SparseDtype, SparseSeries) +import pandas.testing + +from pandas.tseries import offsets +from pandas.tseries.api import infer_freq + +# use the closest tagged version if possible +from ._version import get_versions + +from pandas.core.api import ( # dtype; missing; indexes; tseries; conversion; misc + Categorical, CategoricalDtype, CategoricalIndex, DataFrame, DateOffset, + DatetimeIndex, DatetimeTZDtype, Float64Index, Grouper, Index, IndexSlice, + Int8Dtype, Int16Dtype, Int32Dtype, Int64Dtype, Int64Index, Interval, + IntervalDtype, IntervalIndex, MultiIndex, NamedAgg, NaT, Panel, Period, + PeriodDtype, PeriodIndex, RangeIndex, Series, Timedelta, TimedeltaIndex, + Timestamp, UInt8Dtype, UInt16Dtype, UInt32Dtype, UInt64Dtype, UInt64Index, + array, bdate_range, date_range, factorize, interval_range, isna, isnull, + notna, notnull, np, period_range, set_eng_float_format, timedelta_range, + to_datetime, to_numeric, to_timedelta, unique, value_counts) + +from pandas.io.api import ( # excel; packers; parsers; pickle; pytables; sql; misc + ExcelFile, ExcelWriter, HDFStore, read_clipboard, read_csv, read_excel, + read_feather, read_fwf, read_gbq, read_hdf, read_html, read_json, + read_msgpack, read_parquet, read_pickle, read_sas, read_sql, + read_sql_query, read_sql_table, read_stata, read_table, to_msgpack, + to_pickle) + try: from pandas._libs import (hashtable as _hashtable, @@ -34,86 +78,17 @@ "'python setup.py build_ext --inplace --force' to build " "the C extensions first.".format(module)) -from datetime import datetime - -from pandas._config import (get_option, set_option, reset_option, - describe_option, option_context, options) -# let init-time option registration happen -import pandas.core.config_init - -from pandas.core.api import ( - # dtype - Int8Dtype, Int16Dtype, Int32Dtype, Int64Dtype, UInt8Dtype, - UInt16Dtype, UInt32Dtype, UInt64Dtype, CategoricalDtype, - PeriodDtype, IntervalDtype, DatetimeTZDtype, - - # missing - isna, isnull, notna, notnull, - - # indexes - Index, CategoricalIndex, Int64Index, UInt64Index, RangeIndex, - Float64Index, MultiIndex, IntervalIndex, TimedeltaIndex, - DatetimeIndex, PeriodIndex, IndexSlice, - - # tseries - NaT, Period, period_range, Timedelta, timedelta_range, - Timestamp, date_range, bdate_range, Interval, interval_range, - DateOffset, - # conversion - to_numeric, to_datetime, to_timedelta, - # misc - np, Grouper, factorize, unique, value_counts, NamedAgg, - array, Categorical, set_eng_float_format, Series, DataFrame, - Panel) -from pandas.core.sparse.api import ( - SparseArray, SparseDataFrame, SparseSeries, SparseDtype) -from pandas.tseries.api import infer_freq -from pandas.tseries import offsets -from pandas.core.computation.api import eval -from pandas.core.reshape.api import ( - concat, lreshape, melt, wide_to_long, merge, merge_asof, - merge_ordered, crosstab, pivot, pivot_table, get_dummies, - cut, qcut) -from pandas.util._print_versions import show_versions -from pandas.io.api import ( - # excel - ExcelFile, ExcelWriter, read_excel, - # packers - read_msgpack, to_msgpack, - # parsers - read_csv, read_fwf, read_table, - - # pickle - read_pickle, to_pickle, - - # pytables - HDFStore, read_hdf, - - # sql - read_sql, read_sql_query, - read_sql_table, - - # misc - read_clipboard, read_parquet, read_feather, read_gbq, - read_html, read_json, read_stata, read_sas) - -from pandas.util._tester import test -import pandas.testing -import pandas.arrays - -# use the closest tagged version if possible -from ._version import get_versions v = get_versions() __version__ = v.get('closest-tag', v['version']) __git_version__ = v.get('full-revisionid') diff --git a/pandas/_libs/__init__.py b/pandas/_libs/__init__.py index 1f6042389416e..fcf5ffbfcad92 100644 --- a/pandas/_libs/__init__.py +++ b/pandas/_libs/__init__.py @@ -1,4 +1,4 @@ # flake8: noqa from .tslibs import ( - iNaT, NaT, NaTType, Timestamp, Timedelta, OutOfBoundsDatetime, Period) + NaT, NaTType, OutOfBoundsDatetime, Period, Timedelta, Timestamp, iNaT) diff --git a/pandas/_libs/tslibs/__init__.py b/pandas/_libs/tslibs/__init__.py index 21ba0ae06a036..67a323782a836 100644 --- a/pandas/_libs/tslibs/__init__.py +++ b/pandas/_libs/tslibs/__init__.py @@ -1,9 +1,9 @@ # flake8: noqa -from .conversion import normalize_date, localize_pydatetime +from .conversion import localize_pydatetime, normalize_date from .nattype import NaT, NaTType, iNaT, is_null_datetimelike from .np_datetime import OutOfBoundsDatetime -from .period import Period, IncompatibleFrequency +from .period import IncompatibleFrequency, Period +from .timedeltas import Timedelta, delta_to_nanoseconds, ints_to_pytimedelta from .timestamps import Timestamp -from .timedeltas import delta_to_nanoseconds, ints_to_pytimedelta, Timedelta from .tzconversion import tz_convert_single diff --git a/pandas/api/__init__.py b/pandas/api/__init__.py index afff059e7b601..58422811990c4 100644 --- a/pandas/api/__init__.py +++ b/pandas/api/__init__.py @@ -1,2 +1,2 @@ """ public toolkit API """ -from . import types, extensions # noqa +from . import extensions, types # noqa diff --git a/pandas/api/extensions/__init__.py b/pandas/api/extensions/__init__.py index cb6241016d82f..36d875d2e7b84 100644 --- a/pandas/api/extensions/__init__.py +++ b/pandas/api/extensions/__init__.py @@ -1,10 +1,10 @@ """Public API for extending pandas objects.""" -from pandas.core.accessor import (register_dataframe_accessor, # noqa - register_index_accessor, - register_series_accessor) -from pandas.core.algorithms import take # noqa -from pandas.core.arrays import (ExtensionArray, # noqa - ExtensionScalarOpsMixin) from pandas.core.dtypes.dtypes import ( # noqa - ExtensionDtype, register_extension_dtype -) + ExtensionDtype, register_extension_dtype) + +from pandas.core.accessor import ( + register_index_accessor, register_series_accessor) +from pandas.core.accessor import register_dataframe_accessor # noqa +from pandas.core.algorithms import take # noqa +from pandas.core.arrays import ExtensionArray # noqa +from pandas.core.arrays import ExtensionScalarOpsMixin diff --git a/pandas/api/types/__init__.py b/pandas/api/types/__init__.py index 438e4afa3f580..e2144336a8c06 100644 --- a/pandas/api/types/__init__.py +++ b/pandas/api/types/__init__.py @@ -1,9 +1,9 @@ """ public toolkit API """ +from pandas._libs.lib import infer_dtype # noqa + from pandas.core.dtypes.api import * # noqa -from pandas.core.dtypes.dtypes import (CategoricalDtype, # noqa - DatetimeTZDtype, - PeriodDtype, - IntervalDtype) from pandas.core.dtypes.concat import union_categoricals # noqa -from pandas._libs.lib import infer_dtype # noqa +from pandas.core.dtypes.dtypes import ( + DatetimeTZDtype, IntervalDtype, PeriodDtype) +from pandas.core.dtypes.dtypes import CategoricalDtype # noqa diff --git a/pandas/arrays/__init__.py b/pandas/arrays/__init__.py index 7d9b1b7c7a659..ab014d49236b3 100644 --- a/pandas/arrays/__init__.py +++ b/pandas/arrays/__init__.py @@ -4,12 +4,8 @@ See :ref:`extending.extension-types` for more. """ from pandas.core.arrays import ( - IntervalArray, PeriodArray, Categorical, SparseArray, IntegerArray, - PandasArray, - DatetimeArray, - TimedeltaArray, -) - + Categorical, DatetimeArray, IntegerArray, IntervalArray, PandasArray, + PeriodArray, SparseArray, TimedeltaArray) __all__ = [ 'Categorical', diff --git a/pandas/compat/numpy/__init__.py b/pandas/compat/numpy/__init__.py index 3499d631376d8..0b259d3b2be76 100644 --- a/pandas/compat/numpy/__init__.py +++ b/pandas/compat/numpy/__init__.py @@ -1,9 +1,9 @@ """ support numpy compatiblitiy across versions """ -import re -import numpy as np from distutils.version import LooseVersion +import re +import numpy as np # numpy versioning _np_version = np.__version__ diff --git a/pandas/core/arrays/__init__.py b/pandas/core/arrays/__init__.py index 1033ce784046e..e21589e2a11ff 100644 --- a/pandas/core/arrays/__init__.py +++ b/pandas/core/arrays/__init__.py @@ -1,13 +1,11 @@ from .array_ import array # noqa -from .base import (ExtensionArray, # noqa - ExtensionOpsMixin, - ExtensionScalarOpsMixin) +from .base import ExtensionArray # noqa +from .base import ExtensionOpsMixin, ExtensionScalarOpsMixin from .categorical import Categorical # noqa from .datetimes import DatetimeArray # noqa +from .integer import IntegerArray, integer_array # noqa from .interval import IntervalArray # noqa +from .numpy_ import PandasArray, PandasDtype # noqa from .period import PeriodArray, period_array # noqa -from .timedeltas import TimedeltaArray # noqa -from .integer import ( # noqa - IntegerArray, integer_array) from .sparse import SparseArray # noqa -from .numpy_ import PandasArray, PandasDtype # noqa +from .timedeltas import TimedeltaArray # noqa diff --git a/pandas/core/internals/__init__.py b/pandas/core/internals/__init__.py index d24dd2edd4e1d..3e2d310458ab3 100644 --- a/pandas/core/internals/__init__.py +++ b/pandas/core/internals/__init__.py @@ -1,12 +1,14 @@ -from .blocks import ( # noqa:F401 - _block_shape, # io.pytables - _safe_reshape, # io.packers - make_block, # io.pytables, io.packers - FloatBlock, IntBlock, ComplexBlock, BoolBlock, ObjectBlock, - TimeDeltaBlock, DatetimeBlock, DatetimeTZBlock, - CategoricalBlock, ExtensionBlock, Block) -from .managers import ( # noqa:F401 - BlockManager, SingleBlockManager, - create_block_manager_from_arrays, create_block_manager_from_blocks, - items_overlap_with_suffix, # reshape.merge - concatenate_block_managers) # reshape.concat, reshape.merge +from .blocks import ( + Block, BoolBlock, CategoricalBlock, ComplexBlock, DatetimeBlock, + DatetimeTZBlock, ExtensionBlock, FloatBlock, IntBlock, ObjectBlock, + TimeDeltaBlock) +from .blocks import _safe_reshape # io.packers +from .blocks import make_block # io.pytables, io.packers +from .managers import ( + BlockManager, SingleBlockManager, create_block_manager_from_arrays, + create_block_manager_from_blocks) +from .managers import \ + concatenate_block_managers # noqa:F401; reshape.concat, reshape.merge +from .managers import items_overlap_with_suffix # reshape.merge + +from .blocks import _block_shape # noqa:F401; io.pytables diff --git a/pandas/io/clipboard/__init__.py b/pandas/io/clipboard/__init__.py index 2063978c76c5a..e033d882a73f7 100644 --- a/pandas/io/clipboard/__init__.py +++ b/pandas/io/clipboard/__init__.py @@ -25,12 +25,13 @@ """ __version__ = '1.5.27' -import platform import os +import platform import subprocess + from .clipboards import ( - init_osx_clipboard, init_qt_clipboard, init_xclip_clipboard, - init_xsel_clipboard, init_klipper_clipboard, init_no_clipboard) + init_klipper_clipboard, init_no_clipboard, init_osx_clipboard, + init_qt_clipboard, init_xclip_clipboard, init_xsel_clipboard) from .windows import init_windows_clipboard # `import qtpy` sys.exit()s if DISPLAY is not in the environment. diff --git a/pandas/io/excel/__init__.py b/pandas/io/excel/__init__.py index 704789cb6061e..455abaa7fb589 100644 --- a/pandas/io/excel/__init__.py +++ b/pandas/io/excel/__init__.py @@ -1,4 +1,4 @@ -from pandas.io.excel._base import read_excel, ExcelWriter, ExcelFile +from pandas.io.excel._base import ExcelFile, ExcelWriter, read_excel from pandas.io.excel._openpyxl import _OpenpyxlWriter from pandas.io.excel._util import register_writer from pandas.io.excel._xlsxwriter import _XlsxWriter diff --git a/pandas/io/json/__init__.py b/pandas/io/json/__init__.py index 32d110b3404a9..cbb4e37fae6a1 100644 --- a/pandas/io/json/__init__.py +++ b/pandas/io/json/__init__.py @@ -1,4 +1,4 @@ -from .json import to_json, read_json, loads, dumps # noqa +from .json import dumps, loads, read_json, to_json # noqa from .normalize import json_normalize # noqa from .table_schema import build_table_schema # noqa diff --git a/pandas/io/msgpack/__init__.py b/pandas/io/msgpack/__init__.py index f8feffcf49240..4231b12a6bbcf 100644 --- a/pandas/io/msgpack/__init__.py +++ b/pandas/io/msgpack/__init__.py @@ -1,9 +1,12 @@ # coding: utf-8 from collections import namedtuple +import os # noqa -from pandas.io.msgpack.exceptions import * # noqa +from pandas.io.msgpack._packer import Packer # noqa +from pandas.io.msgpack._unpacker import Unpacker, unpack, unpackb # noqa from pandas.io.msgpack._version import version # noqa +from pandas.io.msgpack.exceptions import * # noqa class ExtType(namedtuple('ExtType', 'code data')): @@ -17,10 +20,7 @@ def __new__(cls, code, data): raise ValueError("code must be 0~127") return super().__new__(cls, code, data) -import os # noqa -from pandas.io.msgpack._packer import Packer # noqa -from pandas.io.msgpack._unpacker import unpack, unpackb, Unpacker # noqa def pack(o, stream, **kwargs): diff --git a/pandas/plotting/__init__.py b/pandas/plotting/__init__.py index ff5351bb6c6ea..24b3f40d6e9f8 100644 --- a/pandas/plotting/__init__.py +++ b/pandas/plotting/__init__.py @@ -4,13 +4,13 @@ # flake8: noqa -from pandas.plotting._misc import (scatter_matrix, radviz, - andrews_curves, bootstrap_plot, - parallel_coordinates, lag_plot, - autocorrelation_plot) from pandas.plotting._core import boxplot +from pandas.plotting._misc import ( + andrews_curves, autocorrelation_plot, bootstrap_plot, lag_plot, + parallel_coordinates, radviz, scatter_matrix) from pandas.plotting._style import plot_params from pandas.plotting._tools import table + try: from pandas.plotting._converter import ( register as register_matplotlib_converters) diff --git a/pandas/tests/extension/base/__init__.py b/pandas/tests/extension/base/__init__.py index 1f7ee2ae17e4a..0b3f2b860c127 100644 --- a/pandas/tests/extension/base/__init__.py +++ b/pandas/tests/extension/base/__init__.py @@ -46,11 +46,13 @@ class TestMyDtype(BaseDtypeTests): from .getitem import BaseGetitemTests # noqa from .groupby import BaseGroupbyTests # noqa from .interface import BaseInterfaceTests # noqa +from .io import BaseParsingTests # noqa from .methods import BaseMethodsTests # noqa -from .ops import BaseArithmeticOpsTests, BaseComparisonOpsTests, BaseOpsUtil # noqa -from .printing import BasePrintingTests # noqa -from .reduce import BaseNoReduceTests, BaseNumericReduceTests, BaseBooleanReduceTests # noqa from .missing import BaseMissingTests # noqa +from .ops import ( # noqa + BaseArithmeticOpsTests, BaseComparisonOpsTests, BaseOpsUtil) +from .printing import BasePrintingTests # noqa +from .reduce import ( # noqa + BaseBooleanReduceTests, BaseNoReduceTests, BaseNumericReduceTests) from .reshaping import BaseReshapingTests # noqa from .setitem import BaseSetitemTests # noqa -from .io import BaseParsingTests # noqa diff --git a/pandas/tests/extension/decimal/__init__.py b/pandas/tests/extension/decimal/__init__.py index c37aad0af8407..7c48e7e71503e 100644 --- a/pandas/tests/extension/decimal/__init__.py +++ b/pandas/tests/extension/decimal/__init__.py @@ -1,4 +1,3 @@ -from .array import DecimalArray, DecimalDtype, to_decimal, make_data - +from .array import DecimalArray, DecimalDtype, make_data, to_decimal __all__ = ['DecimalArray', 'DecimalDtype', 'to_decimal', 'make_data'] diff --git a/pandas/util/__init__.py b/pandas/util/__init__.py index 202e58c916e47..9600109f01534 100644 --- a/pandas/util/__init__.py +++ b/pandas/util/__init__.py @@ -1,2 +1,4 @@ -from pandas.util._decorators import Appender, Substitution, cache_readonly # noqa -from pandas.core.util.hashing import hash_pandas_object, hash_array # noqa +from pandas.util._decorators import ( # noqa + Appender, Substitution, cache_readonly) + +from pandas.core.util.hashing import hash_array, hash_pandas_object # noqa diff --git a/setup.cfg b/setup.cfg index 68d042ecfc4b8..d6d024574216f 100644 --- a/setup.cfg +++ b/setup.cfg @@ -157,24 +157,4 @@ skip= asv_bench/benchmarks/offset.py asv_bench/benchmarks/dtypes.py asv_bench/benchmarks/strings.py - asv_bench/benchmarks/period.py - pandas/__init__.py - pandas/plotting/__init__.py - pandas/tests/extension/decimal/__init__.py - pandas/tests/extension/base/__init__.py - pandas/io/msgpack/__init__.py - pandas/io/json/__init__.py - pandas/io/clipboard/__init__.py - pandas/io/excel/__init__.py - pandas/compat/__init__.py - pandas/compat/numpy/__init__.py - pandas/core/arrays/__init__.py - pandas/core/groupby/__init__.py - pandas/core/internals/__init__.py - pandas/api/__init__.py - pandas/api/extensions/__init__.py - pandas/api/types/__init__.py - pandas/_libs/__init__.py - pandas/_libs/tslibs/__init__.py - pandas/util/__init__.py - pandas/arrays/__init__.py + asv_bench/benchmarks/period.py \ No newline at end of file From 9e8d463874ad70b42a0e2c85a20d5237cffc71ca Mon Sep 17 00:00:00 2001 From: alimcmaster1 Date: Wed, 5 Jun 2019 19:59:08 +0100 Subject: [PATCH 02/13] pep8 --- pandas/__init__.py | 17 ++++------------- 1 file changed, 4 insertions(+), 13 deletions(-) diff --git a/pandas/__init__.py b/pandas/__init__.py index 524891be34e4e..3bef422fdad6a 100644 --- a/pandas/__init__.py +++ b/pandas/__init__.py @@ -47,7 +47,8 @@ # use the closest tagged version if possible from ._version import get_versions -from pandas.core.api import ( # dtype; missing; indexes; tseries; conversion; misc +from pandas.core.api import ( + # dtype; missing; indexes; tseries; conversion; misc Categorical, CategoricalDtype, CategoricalIndex, DataFrame, DateOffset, DatetimeIndex, DatetimeTZDtype, Float64Index, Grouper, Index, IndexSlice, Int8Dtype, Int16Dtype, Int32Dtype, Int64Dtype, Int64Index, Interval, @@ -58,7 +59,8 @@ notna, notnull, np, period_range, set_eng_float_format, timedelta_range, to_datetime, to_numeric, to_timedelta, unique, value_counts) -from pandas.io.api import ( # excel; packers; parsers; pickle; pytables; sql; misc +from pandas.io.api import ( + # excel; packers; parsers; pickle; pytables; sql; misc ExcelFile, ExcelWriter, HDFStore, read_clipboard, read_csv, read_excel, read_feather, read_fwf, read_gbq, read_hdf, read_html, read_json, read_msgpack, read_parquet, read_pickle, read_sas, read_sql, @@ -78,17 +80,6 @@ "'python setup.py build_ext --inplace --force' to build " "the C extensions first.".format(module)) - - - - - - - - - - - v = get_versions() __version__ = v.get('closest-tag', v['version']) __git_version__ = v.get('full-revisionid') From c654d8353ef922ce081e1e59d60b69171dbba614 Mon Sep 17 00:00:00 2001 From: alimcmaster1 Date: Wed, 5 Jun 2019 20:03:20 +0100 Subject: [PATCH 03/13] remove isort from deps --- ci/deps/azure-35-compat.yaml | 1 - ci/deps/azure-36-locale.yaml | 1 - ci/deps/azure-36-locale_slow.yaml | 1 - ci/deps/azure-37-locale.yaml | 1 - ci/deps/azure-37-numpydev.yaml | 1 - ci/deps/azure-macos-35.yaml | 1 - ci/deps/azure-windows-36.yaml | 1 - ci/deps/azure-windows-37.yaml | 1 - 8 files changed, 8 deletions(-) diff --git a/ci/deps/azure-35-compat.yaml b/ci/deps/azure-35-compat.yaml index e55a4fbdf3fa9..6643f804eb6f7 100644 --- a/ci/deps/azure-35-compat.yaml +++ b/ci/deps/azure-35-compat.yaml @@ -22,7 +22,6 @@ dependencies: - hypothesis>=3.58.0 - pytest-xdist - pytest-mock - - isort - pip - pip: # for python 3.5, pytest>=4.0.2 is not available in conda diff --git a/ci/deps/azure-36-locale.yaml b/ci/deps/azure-36-locale.yaml index f43ed0249985e..320839756befb 100644 --- a/ci/deps/azure-36-locale.yaml +++ b/ci/deps/azure-36-locale.yaml @@ -24,7 +24,6 @@ dependencies: - pytest-xdist - pytest-mock - hypothesis>=3.58.0 - - isort - pip - pip: - html5lib==1.0b2 diff --git a/ci/deps/azure-36-locale_slow.yaml b/ci/deps/azure-36-locale_slow.yaml index 2a0404614dcfc..9ddc782da930e 100644 --- a/ci/deps/azure-36-locale_slow.yaml +++ b/ci/deps/azure-36-locale_slow.yaml @@ -30,7 +30,6 @@ dependencies: - pytest-xdist - pytest-mock - moto - - isort - pip - pip: - hypothesis>=3.58.0 diff --git a/ci/deps/azure-37-locale.yaml b/ci/deps/azure-37-locale.yaml index 649f5892f174d..2ebb7dda86e36 100644 --- a/ci/deps/azure-37-locale.yaml +++ b/ci/deps/azure-37-locale.yaml @@ -28,7 +28,6 @@ dependencies: - pytest>=4.0.2 - pytest-xdist - pytest-mock - - isort - pip - pip: - hypothesis>=3.58.0 diff --git a/ci/deps/azure-37-numpydev.yaml b/ci/deps/azure-37-numpydev.yaml index 6848b9990b46e..831f13fb421f0 100644 --- a/ci/deps/azure-37-numpydev.yaml +++ b/ci/deps/azure-37-numpydev.yaml @@ -10,7 +10,6 @@ dependencies: - pytest-xdist - pytest-mock - hypothesis>=3.58.0 - - isort - pip - pip: - "git+git://github.com/dateutil/dateutil.git" diff --git a/ci/deps/azure-macos-35.yaml b/ci/deps/azure-macos-35.yaml index 00c2051f29760..30290277fd644 100644 --- a/ci/deps/azure-macos-35.yaml +++ b/ci/deps/azure-macos-35.yaml @@ -21,7 +21,6 @@ dependencies: - xlrd - xlsxwriter - xlwt - - isort - pip: - python-dateutil==2.5.3 # universal diff --git a/ci/deps/azure-windows-36.yaml b/ci/deps/azure-windows-36.yaml index 7b3ae259fb8dd..b1795059091b9 100644 --- a/ci/deps/azure-windows-36.yaml +++ b/ci/deps/azure-windows-36.yaml @@ -27,4 +27,3 @@ dependencies: - pytest-xdist - pytest-mock - hypothesis>=3.58.0 - - isort diff --git a/ci/deps/azure-windows-37.yaml b/ci/deps/azure-windows-37.yaml index 5384e794d442a..04e4f74f85e4d 100644 --- a/ci/deps/azure-windows-37.yaml +++ b/ci/deps/azure-windows-37.yaml @@ -30,4 +30,3 @@ dependencies: - pytest-mock - moto - hypothesis>=3.58.0 - - isort From 0c634f00dc2be5b862386713a64a06dcf064743c Mon Sep 17 00:00:00 2001 From: alimcmaster1 Date: Wed, 5 Jun 2019 20:11:17 +0100 Subject: [PATCH 04/13] pep8 --- pandas/__init__.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pandas/__init__.py b/pandas/__init__.py index 3bef422fdad6a..d8dc4e4a55891 100644 --- a/pandas/__init__.py +++ b/pandas/__init__.py @@ -70,8 +70,8 @@ try: from pandas._libs import (hashtable as _hashtable, - lib as _lib, - tslib as _tslib) + lib as _lib, + tslib as _tslib) except ImportError as e: # pragma: no cover # hack but overkill to use re module = str(e).replace('cannot import name ', '') From 81c9c7e2fcee92bc1e63a0ba59fc9a3856d52507 Mon Sep 17 00:00:00 2001 From: alimcmaster1 Date: Wed, 5 Jun 2019 20:45:35 +0100 Subject: [PATCH 05/13] ignore two files --- pandas/__init__.py | 126 +++++++++++++++++++++------------- pandas/io/msgpack/__init__.py | 8 +-- setup.cfg | 4 +- 3 files changed, 87 insertions(+), 51 deletions(-) diff --git a/pandas/__init__.py b/pandas/__init__.py index d8dc4e4a55891..4c494b4a62e39 100644 --- a/pandas/__init__.py +++ b/pandas/__init__.py @@ -17,69 +17,103 @@ "Missing required dependencies {0}".format(missing_dependencies)) del hard_dependencies, dependency, missing_dependencies -from datetime import datetime - -from pandas._config import ( - describe_option, get_option, option_context, options, reset_option, - set_option) - # numpy compat from pandas.compat.numpy import ( _np_version_under1p14, _np_version_under1p15, _np_version_under1p16, _np_version_under1p17) -from pandas.util._print_versions import show_versions -from pandas.util._tester import test + +try: + from pandas._libs import (hashtable as _hashtable, + lib as _lib, + tslib as _tslib) +except ImportError as e: # pragma: no cover + # hack but overkill to use re + module = str(e).replace('cannot import name ', '') + raise ImportError("C extension: {0} not built. If you want to import " + "pandas from the source directory, you may need to run " + "'python setup.py build_ext --inplace --force' to build " + "the C extensions first.".format(module)) + +from datetime import datetime + +from pandas._config import (get_option, set_option, reset_option, + describe_option, option_context, options) # let init-time option registration happen -import pandas.arrays -from pandas.core.computation.api import eval import pandas.core.config_init -from pandas.core.reshape.api import ( - concat, crosstab, cut, get_dummies, lreshape, melt, merge, merge_asof, - merge_ordered, pivot, pivot_table, qcut, wide_to_long) + +from pandas.core.api import ( + # dtype + Int8Dtype, Int16Dtype, Int32Dtype, Int64Dtype, UInt8Dtype, + UInt16Dtype, UInt32Dtype, UInt64Dtype, CategoricalDtype, + PeriodDtype, IntervalDtype, DatetimeTZDtype, + + # missing + isna, isnull, notna, notnull, + + # indexes + Index, CategoricalIndex, Int64Index, UInt64Index, RangeIndex, + Float64Index, MultiIndex, IntervalIndex, TimedeltaIndex, + DatetimeIndex, PeriodIndex, IndexSlice, + + # tseries + NaT, Period, period_range, Timedelta, timedelta_range, + Timestamp, date_range, bdate_range, Interval, interval_range, + DateOffset, + + # conversion + to_numeric, to_datetime, to_timedelta, + + # misc + np, Grouper, factorize, unique, value_counts, NamedAgg, + array, Categorical, set_eng_float_format, Series, DataFrame, + Panel) + from pandas.core.sparse.api import ( - SparseArray, SparseDataFrame, SparseDtype, SparseSeries) -import pandas.testing + SparseArray, SparseDataFrame, SparseSeries, SparseDtype) -from pandas.tseries import offsets from pandas.tseries.api import infer_freq +from pandas.tseries import offsets -# use the closest tagged version if possible -from ._version import get_versions +from pandas.core.computation.api import eval -from pandas.core.api import ( - # dtype; missing; indexes; tseries; conversion; misc - Categorical, CategoricalDtype, CategoricalIndex, DataFrame, DateOffset, - DatetimeIndex, DatetimeTZDtype, Float64Index, Grouper, Index, IndexSlice, - Int8Dtype, Int16Dtype, Int32Dtype, Int64Dtype, Int64Index, Interval, - IntervalDtype, IntervalIndex, MultiIndex, NamedAgg, NaT, Panel, Period, - PeriodDtype, PeriodIndex, RangeIndex, Series, Timedelta, TimedeltaIndex, - Timestamp, UInt8Dtype, UInt16Dtype, UInt32Dtype, UInt64Dtype, UInt64Index, - array, bdate_range, date_range, factorize, interval_range, isna, isnull, - notna, notnull, np, period_range, set_eng_float_format, timedelta_range, - to_datetime, to_numeric, to_timedelta, unique, value_counts) +from pandas.core.reshape.api import ( + concat, lreshape, melt, wide_to_long, merge, merge_asof, + merge_ordered, crosstab, pivot, pivot_table, get_dummies, + cut, qcut) + +from pandas.util._print_versions import show_versions from pandas.io.api import ( - # excel; packers; parsers; pickle; pytables; sql; misc - ExcelFile, ExcelWriter, HDFStore, read_clipboard, read_csv, read_excel, - read_feather, read_fwf, read_gbq, read_hdf, read_html, read_json, - read_msgpack, read_parquet, read_pickle, read_sas, read_sql, - read_sql_query, read_sql_table, read_stata, read_table, to_msgpack, - to_pickle) + # excel + ExcelFile, ExcelWriter, read_excel, + # packers + read_msgpack, to_msgpack, -try: - from pandas._libs import (hashtable as _hashtable, - lib as _lib, - tslib as _tslib) -except ImportError as e: # pragma: no cover - # hack but overkill to use re - module = str(e).replace('cannot import name ', '') - raise ImportError("C extension: {0} not built. If you want to import " - "pandas from the source directory, you may need to run " - "'python setup.py build_ext --inplace --force' to build " - "the C extensions first.".format(module)) + # parsers + read_csv, read_fwf, read_table, + + # pickle + read_pickle, to_pickle, + + # pytables + HDFStore, read_hdf, + + # sql + read_sql, read_sql_query, + read_sql_table, + # misc + read_clipboard, read_parquet, read_feather, read_gbq, + read_html, read_json, read_stata, read_sas) + +from pandas.util._tester import test +import pandas.testing +import pandas.arrays + +# use the closest tagged version if possible +from ._version import get_versions v = get_versions() __version__ = v.get('closest-tag', v['version']) __git_version__ = v.get('full-revisionid') diff --git a/pandas/io/msgpack/__init__.py b/pandas/io/msgpack/__init__.py index 4231b12a6bbcf..f8feffcf49240 100644 --- a/pandas/io/msgpack/__init__.py +++ b/pandas/io/msgpack/__init__.py @@ -1,12 +1,9 @@ # coding: utf-8 from collections import namedtuple -import os # noqa -from pandas.io.msgpack._packer import Packer # noqa -from pandas.io.msgpack._unpacker import Unpacker, unpack, unpackb # noqa -from pandas.io.msgpack._version import version # noqa from pandas.io.msgpack.exceptions import * # noqa +from pandas.io.msgpack._version import version # noqa class ExtType(namedtuple('ExtType', 'code data')): @@ -20,7 +17,10 @@ def __new__(cls, code, data): raise ValueError("code must be 0~127") return super().__new__(cls, code, data) +import os # noqa +from pandas.io.msgpack._packer import Packer # noqa +from pandas.io.msgpack._unpacker import unpack, unpackb, Unpacker # noqa def pack(o, stream, **kwargs): diff --git a/setup.cfg b/setup.cfg index d6d024574216f..ef1cec44bdecd 100644 --- a/setup.cfg +++ b/setup.cfg @@ -157,4 +157,6 @@ skip= asv_bench/benchmarks/offset.py asv_bench/benchmarks/dtypes.py asv_bench/benchmarks/strings.py - asv_bench/benchmarks/period.py \ No newline at end of file + asv_bench/benchmarks/period.py + pandas/__init__.py + pandas/io/msgpack/__init__.py \ No newline at end of file From 89afa0b18ffb66891f30ec52318b33f9fb7c4cb9 Mon Sep 17 00:00:00 2001 From: alimcmaster1 Date: Sat, 8 Jun 2019 15:48:09 +0100 Subject: [PATCH 06/13] Remove isort from deps --- ci/deps/travis-36-cov.yaml | 1 - ci/deps/travis-36-doc.yaml | 1 - ci/deps/travis-36-locale.yaml | 1 - ci/deps/travis-36-slow.yaml | 1 - ci/deps/travis-37.yaml | 1 - 5 files changed, 5 deletions(-) diff --git a/ci/deps/travis-36-cov.yaml b/ci/deps/travis-36-cov.yaml index afd9877afdf84..c497495553e8b 100644 --- a/ci/deps/travis-36-cov.yaml +++ b/ci/deps/travis-36-cov.yaml @@ -42,7 +42,6 @@ dependencies: - pytest-cov - pytest-mock - hypothesis>=3.58.0 - - isort - pip - pip: - brotlipy diff --git a/ci/deps/travis-36-doc.yaml b/ci/deps/travis-36-doc.yaml index 8f7556e6b47ad..a3c9f27f72d7e 100644 --- a/ci/deps/travis-36-doc.yaml +++ b/ci/deps/travis-36-doc.yaml @@ -44,4 +44,3 @@ dependencies: # universal - pytest>=4.0.2 - pytest-xdist - - isort diff --git a/ci/deps/travis-36-locale.yaml b/ci/deps/travis-36-locale.yaml index 1d219bbcb671c..badf4e6932da8 100644 --- a/ci/deps/travis-36-locale.yaml +++ b/ci/deps/travis-36-locale.yaml @@ -39,7 +39,6 @@ dependencies: - pytest-xdist - pytest-mock - moto - - isort - pip - pip: - hypothesis>=3.58.0 diff --git a/ci/deps/travis-36-slow.yaml b/ci/deps/travis-36-slow.yaml index 365c78c02f4d4..87021d5dae04e 100644 --- a/ci/deps/travis-36-slow.yaml +++ b/ci/deps/travis-36-slow.yaml @@ -30,4 +30,3 @@ dependencies: - pytest-mock - moto - hypothesis>=3.58.0 - - isort diff --git a/ci/deps/travis-37.yaml b/ci/deps/travis-37.yaml index 4bf7d516711f7..722a35111ab01 100644 --- a/ci/deps/travis-37.yaml +++ b/ci/deps/travis-37.yaml @@ -18,7 +18,6 @@ dependencies: - pytest-mock - hypothesis>=3.58.0 - s3fs - - isort - pip - pip: - moto From 6b797a266ae3b46515f6a58c864e6b7bb1067148 Mon Sep 17 00:00:00 2001 From: alimcmaster1 Date: Mon, 10 Jun 2019 21:14:40 +0100 Subject: [PATCH 07/13] isort files --- pandas/core/internals/__init__.py | 26 ++++++++++++-------------- setup.cfg | 1 + 2 files changed, 13 insertions(+), 14 deletions(-) diff --git a/pandas/core/internals/__init__.py b/pandas/core/internals/__init__.py index 3e2d310458ab3..d24dd2edd4e1d 100644 --- a/pandas/core/internals/__init__.py +++ b/pandas/core/internals/__init__.py @@ -1,14 +1,12 @@ -from .blocks import ( - Block, BoolBlock, CategoricalBlock, ComplexBlock, DatetimeBlock, - DatetimeTZBlock, ExtensionBlock, FloatBlock, IntBlock, ObjectBlock, - TimeDeltaBlock) -from .blocks import _safe_reshape # io.packers -from .blocks import make_block # io.pytables, io.packers -from .managers import ( - BlockManager, SingleBlockManager, create_block_manager_from_arrays, - create_block_manager_from_blocks) -from .managers import \ - concatenate_block_managers # noqa:F401; reshape.concat, reshape.merge -from .managers import items_overlap_with_suffix # reshape.merge - -from .blocks import _block_shape # noqa:F401; io.pytables +from .blocks import ( # noqa:F401 + _block_shape, # io.pytables + _safe_reshape, # io.packers + make_block, # io.pytables, io.packers + FloatBlock, IntBlock, ComplexBlock, BoolBlock, ObjectBlock, + TimeDeltaBlock, DatetimeBlock, DatetimeTZBlock, + CategoricalBlock, ExtensionBlock, Block) +from .managers import ( # noqa:F401 + BlockManager, SingleBlockManager, + create_block_manager_from_arrays, create_block_manager_from_blocks, + items_overlap_with_suffix, # reshape.merge + concatenate_block_managers) # reshape.concat, reshape.merge diff --git a/setup.cfg b/setup.cfg index ef1cec44bdecd..7ecc495968d32 100644 --- a/setup.cfg +++ b/setup.cfg @@ -159,4 +159,5 @@ skip= asv_bench/benchmarks/strings.py asv_bench/benchmarks/period.py pandas/__init__.py + pandas/core/internals/__init__.py pandas/io/msgpack/__init__.py \ No newline at end of file From e50c3fd0ee746832f85e48c225052d0a6a181bcf Mon Sep 17 00:00:00 2001 From: Joris Van den Bossche Date: Thu, 27 Jun 2019 17:18:39 -0500 Subject: [PATCH 08/13] line at end of file --- setup.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.cfg b/setup.cfg index 55b51a84702c4..3a3f20fab9ca7 100644 --- a/setup.cfg +++ b/setup.cfg @@ -161,4 +161,4 @@ skip= asv_bench/benchmarks/period.py pandas/__init__.py pandas/core/internals/__init__.py - pandas/io/msgpack/__init__.py \ No newline at end of file + pandas/io/msgpack/__init__.py From d844d202e54ae633a3db3ae53cd760b34874c6bf Mon Sep 17 00:00:00 2001 From: Jeff Reback Date: Thu, 27 Jun 2019 17:21:20 -0500 Subject: [PATCH 09/13] remove leftovers --- setup.cfg | 3 --- 1 file changed, 3 deletions(-) diff --git a/setup.cfg b/setup.cfg index 3a3f20fab9ca7..cae3d8cfa1e92 100644 --- a/setup.cfg +++ b/setup.cfg @@ -159,6 +159,3 @@ skip= asv_bench/benchmarks/dtypes.py asv_bench/benchmarks/strings.py asv_bench/benchmarks/period.py - pandas/__init__.py - pandas/core/internals/__init__.py - pandas/io/msgpack/__init__.py From 4bb3a03f2a078d30d111dc8bf1e35e819a08072d Mon Sep 17 00:00:00 2001 From: Jeff Reback Date: Thu, 27 Jun 2019 18:27:25 -0500 Subject: [PATCH 10/13] flake8 --- pandas/api/extensions/__init__.py | 12 ++++++------ pandas/api/types/__init__.py | 10 +++++----- pandas/core/arrays/__init__.py | 22 +++++++++++----------- 3 files changed, 22 insertions(+), 22 deletions(-) diff --git a/pandas/api/extensions/__init__.py b/pandas/api/extensions/__init__.py index 36d875d2e7b84..c9b3eb9c738d8 100644 --- a/pandas/api/extensions/__init__.py +++ b/pandas/api/extensions/__init__.py @@ -1,10 +1,10 @@ """Public API for extending pandas objects.""" -from pandas.core.dtypes.dtypes import ( # noqa +from pandas.core.dtypes.dtypes import ( # noqa: F401 ExtensionDtype, register_extension_dtype) -from pandas.core.accessor import ( +from pandas.core.accessor import ( # noqa: F401 register_index_accessor, register_series_accessor) -from pandas.core.accessor import register_dataframe_accessor # noqa -from pandas.core.algorithms import take # noqa -from pandas.core.arrays import ExtensionArray # noqa -from pandas.core.arrays import ExtensionScalarOpsMixin +from pandas.core.accessor import register_dataframe_accessor # noqa: F401 +from pandas.core.algorithms import take # noqa: F401 +from pandas.core.arrays import ( # noqa: F401 + ExtensionArray, ExtensionScalarOpsMixin) diff --git a/pandas/api/types/__init__.py b/pandas/api/types/__init__.py index e2144336a8c06..7e51f7fefab3a 100644 --- a/pandas/api/types/__init__.py +++ b/pandas/api/types/__init__.py @@ -1,9 +1,9 @@ """ public toolkit API """ -from pandas._libs.lib import infer_dtype # noqa +from pandas._libs.lib import infer_dtype # noqa: F401 -from pandas.core.dtypes.api import * # noqa -from pandas.core.dtypes.concat import union_categoricals # noqa -from pandas.core.dtypes.dtypes import ( +from pandas.core.dtypes.api import * # noqa: F403, F401 +from pandas.core.dtypes.concat import union_categoricals # noqa: F401 +from pandas.core.dtypes.dtypes import ( # noqa: F401 DatetimeTZDtype, IntervalDtype, PeriodDtype) -from pandas.core.dtypes.dtypes import CategoricalDtype # noqa +from pandas.core.dtypes.dtypes import CategoricalDtype # noqa: F401 diff --git a/pandas/core/arrays/__init__.py b/pandas/core/arrays/__init__.py index e21589e2a11ff..470e86ccc5bda 100644 --- a/pandas/core/arrays/__init__.py +++ b/pandas/core/arrays/__init__.py @@ -1,11 +1,11 @@ -from .array_ import array # noqa -from .base import ExtensionArray # noqa -from .base import ExtensionOpsMixin, ExtensionScalarOpsMixin -from .categorical import Categorical # noqa -from .datetimes import DatetimeArray # noqa -from .integer import IntegerArray, integer_array # noqa -from .interval import IntervalArray # noqa -from .numpy_ import PandasArray, PandasDtype # noqa -from .period import PeriodArray, period_array # noqa -from .sparse import SparseArray # noqa -from .timedeltas import TimedeltaArray # noqa +from .array_ import array # noqa: F401 +from .base import ExtensionArray # noqa: F401 +from .base import ExtensionOpsMixin, ExtensionScalarOpsMixin # noqa: F401 +from .categorical import Categorical # noqa: F401 +from .datetimes import DatetimeArray # noqa: F401 +from .integer import IntegerArray, integer_array # noqa: F401 +from .interval import IntervalArray # noqa: F401 +from .numpy_ import PandasArray, PandasDtype # noqa: F401 +from .period import PeriodArray, period_array # noqa: F401 +from .sparse import SparseArray # noqa: F401 +from .timedeltas import TimedeltaArray # noqa: F401 From 3491280d275dbfde6fc4e8171fc6e4bbc348c1b1 Mon Sep 17 00:00:00 2001 From: Jeff Reback Date: Fri, 28 Jun 2019 07:26:57 -0500 Subject: [PATCH 11/13] actually fix the __init__ --- pandas/__init__.py | 113 ++++++++++++------------------ pandas/api/extensions/__init__.py | 4 +- pandas/api/types/__init__.py | 3 +- pandas/core/api.py | 55 ++++++--------- pandas/core/arrays/__init__.py | 3 +- pandas/core/frame.py | 88 ++++++++--------------- pandas/core/internals/__init__.py | 27 +++---- pandas/io/msgpack/__init__.py | 10 ++- setup.cfg | 2 - 9 files changed, 118 insertions(+), 187 deletions(-) diff --git a/pandas/__init__.py b/pandas/__init__.py index b95c312f12eed..b7faac337cb66 100644 --- a/pandas/__init__.py +++ b/pandas/__init__.py @@ -16,10 +16,54 @@ raise ImportError("Unable to import required dependencies:\n" + "\n".join(missing_dependencies)) del hard_dependencies, dependency, missing_dependencies +from datetime import datetime + +from pandas._config import ( + describe_option, get_option, option_context, options, reset_option, + set_option) + # numpy compat from pandas.compat.numpy import ( _np_version_under1p14, _np_version_under1p15, _np_version_under1p16, _np_version_under1p17) +from pandas.util._print_versions import show_versions +from pandas.util._tester import test + +# let init-time option registration happen +import pandas.arrays +from pandas.core.computation.api import eval +import pandas.core.config_init +from pandas.core.reshape.api import ( + concat, crosstab, cut, get_dummies, lreshape, melt, merge, merge_asof, + merge_ordered, pivot, pivot_table, qcut, wide_to_long) +from pandas.core.sparse.api import ( + SparseArray, SparseDataFrame, SparseDtype, SparseSeries) +import pandas.testing + +from pandas.tseries import offsets +from pandas.tseries.api import infer_freq + +# use the closest tagged version if possible +from ._version import get_versions + +from pandas.core.api import ( # dtype; missing; indexes; tseries; conversion; misc + Categorical, CategoricalDtype, CategoricalIndex, DataFrame, DateOffset, + DatetimeIndex, DatetimeTZDtype, Float64Index, Grouper, Index, IndexSlice, + Int8Dtype, Int16Dtype, Int32Dtype, Int64Dtype, Int64Index, Interval, + IntervalDtype, IntervalIndex, MultiIndex, NamedAgg, NaT, Panel, Period, + PeriodDtype, PeriodIndex, RangeIndex, Series, Timedelta, TimedeltaIndex, + Timestamp, UInt8Dtype, UInt16Dtype, UInt32Dtype, UInt64Dtype, UInt64Index, + array, bdate_range, date_range, factorize, interval_range, isna, isnull, + notna, notnull, np, period_range, set_eng_float_format, timedelta_range, + to_datetime, to_numeric, to_timedelta, unique, value_counts) + +from pandas.io.api import ( # excel; packers; parsers; pickle; pytables; sql; misc + ExcelFile, ExcelWriter, HDFStore, read_clipboard, read_csv, read_excel, + read_feather, read_fwf, read_gbq, read_hdf, read_html, read_json, + read_msgpack, read_parquet, read_pickle, read_sas, read_spss, read_sql, + read_sql_query, read_sql_table, read_stata, read_table, to_msgpack, + to_pickle) + try: from pandas._libs import (hashtable as _hashtable, @@ -33,86 +77,17 @@ "'python setup.py build_ext --inplace --force' to build " "the C extensions first.".format(module)) -from datetime import datetime - -from pandas._config import (get_option, set_option, reset_option, - describe_option, option_context, options) -# let init-time option registration happen -import pandas.core.config_init - -from pandas.core.api import ( - # dtype - Int8Dtype, Int16Dtype, Int32Dtype, Int64Dtype, UInt8Dtype, - UInt16Dtype, UInt32Dtype, UInt64Dtype, CategoricalDtype, - PeriodDtype, IntervalDtype, DatetimeTZDtype, - - # missing - isna, isnull, notna, notnull, - - # indexes - Index, CategoricalIndex, Int64Index, UInt64Index, RangeIndex, - Float64Index, MultiIndex, IntervalIndex, TimedeltaIndex, - DatetimeIndex, PeriodIndex, IndexSlice, - - # tseries - NaT, Period, period_range, Timedelta, timedelta_range, - Timestamp, date_range, bdate_range, Interval, interval_range, - DateOffset, - # conversion - to_numeric, to_datetime, to_timedelta, - # misc - np, Grouper, factorize, unique, value_counts, NamedAgg, - array, Categorical, set_eng_float_format, Series, DataFrame, - Panel) -from pandas.core.sparse.api import ( - SparseArray, SparseDataFrame, SparseSeries, SparseDtype) -from pandas.tseries.api import infer_freq -from pandas.tseries import offsets -from pandas.core.computation.api import eval -from pandas.core.reshape.api import ( - concat, lreshape, melt, wide_to_long, merge, merge_asof, - merge_ordered, crosstab, pivot, pivot_table, get_dummies, - cut, qcut) -from pandas.util._print_versions import show_versions -from pandas.io.api import ( - # excel - ExcelFile, ExcelWriter, read_excel, - # packers - read_msgpack, to_msgpack, - # parsers - read_csv, read_fwf, read_table, - - # pickle - read_pickle, to_pickle, - - # pytables - HDFStore, read_hdf, - - # sql - read_sql, read_sql_query, - read_sql_table, - - # misc - read_clipboard, read_parquet, read_feather, read_gbq, - read_html, read_json, read_stata, read_sas, read_spss) - -from pandas.util._tester import test -import pandas.testing -import pandas.arrays - -# use the closest tagged version if possible -from ._version import get_versions v = get_versions() __version__ = v.get('closest-tag', v['version']) __git_version__ = v.get('full-revisionid') diff --git a/pandas/api/extensions/__init__.py b/pandas/api/extensions/__init__.py index c9b3eb9c738d8..0bd2733cb494c 100644 --- a/pandas/api/extensions/__init__.py +++ b/pandas/api/extensions/__init__.py @@ -4,7 +4,9 @@ from pandas.core.accessor import ( # noqa: F401 register_index_accessor, register_series_accessor) -from pandas.core.accessor import register_dataframe_accessor # noqa: F401 from pandas.core.algorithms import take # noqa: F401 from pandas.core.arrays import ( # noqa: F401 ExtensionArray, ExtensionScalarOpsMixin) + +from pandas.core.accessor import ( # noqa: F401; noqa: F401 + register_dataframe_accessor) diff --git a/pandas/api/types/__init__.py b/pandas/api/types/__init__.py index 7e51f7fefab3a..668f79921d8e6 100644 --- a/pandas/api/types/__init__.py +++ b/pandas/api/types/__init__.py @@ -5,5 +5,4 @@ from pandas.core.dtypes.api import * # noqa: F403, F401 from pandas.core.dtypes.concat import union_categoricals # noqa: F401 from pandas.core.dtypes.dtypes import ( # noqa: F401 - DatetimeTZDtype, IntervalDtype, PeriodDtype) -from pandas.core.dtypes.dtypes import CategoricalDtype # noqa: F401 + CategoricalDtype, DatetimeTZDtype, IntervalDtype, PeriodDtype) diff --git a/pandas/core/api.py b/pandas/core/api.py index 0106feabcce74..0c9c95799f4c9 100644 --- a/pandas/core/api.py +++ b/pandas/core/api.py @@ -2,46 +2,33 @@ import numpy as np -from pandas.core.arrays.integer import ( - Int8Dtype, - Int16Dtype, - Int32Dtype, - Int64Dtype, - UInt8Dtype, - UInt16Dtype, - UInt32Dtype, - UInt64Dtype, -) -from pandas.core.algorithms import factorize, unique, value_counts -from pandas.core.dtypes.missing import isna, isnull, notna, notnull from pandas.core.dtypes.dtypes import ( - CategoricalDtype, - PeriodDtype, - IntervalDtype, - DatetimeTZDtype, -) + CategoricalDtype, DatetimeTZDtype, IntervalDtype, PeriodDtype) +from pandas.core.dtypes.missing import isna, isnull, notna, notnull + +# TODO: Remove import when statsmodels updates #18264 +from pandas.core.algorithms import factorize, unique, value_counts from pandas.core.arrays import Categorical, array +from pandas.core.arrays.integer import ( + Int8Dtype, Int16Dtype, Int32Dtype, Int64Dtype, UInt8Dtype, UInt16Dtype, + UInt32Dtype, UInt64Dtype) +from pandas.core.frame import DataFrame from pandas.core.groupby import Grouper, NamedAgg -from pandas.io.formats.format import set_eng_float_format -from pandas.core.index import (Index, CategoricalIndex, Int64Index, - UInt64Index, RangeIndex, Float64Index, - MultiIndex, IntervalIndex, - TimedeltaIndex, DatetimeIndex, - PeriodIndex, NaT) +from pandas.core.index import ( + CategoricalIndex, DatetimeIndex, Float64Index, Index, Int64Index, + IntervalIndex, MultiIndex, NaT, PeriodIndex, RangeIndex, TimedeltaIndex, + UInt64Index) +from pandas.core.indexes.datetimes import Timestamp, bdate_range, date_range +from pandas.core.indexes.interval import Interval, interval_range from pandas.core.indexes.period import Period, period_range from pandas.core.indexes.timedeltas import Timedelta, timedelta_range -from pandas.core.indexes.datetimes import Timestamp, date_range, bdate_range -from pandas.core.indexes.interval import Interval, interval_range - -from pandas.core.series import Series -from pandas.core.frame import DataFrame +from pandas.core.indexing import IndexSlice from pandas.core.panel import Panel - -# TODO: Remove import when statsmodels updates #18264 from pandas.core.reshape.reshape import get_dummies - -from pandas.core.indexing import IndexSlice -from pandas.core.tools.numeric import to_numeric -from pandas.tseries.offsets import DateOffset +from pandas.core.series import Series from pandas.core.tools.datetimes import to_datetime +from pandas.core.tools.numeric import to_numeric from pandas.core.tools.timedeltas import to_timedelta + +from pandas.io.formats.format import set_eng_float_format +from pandas.tseries.offsets import DateOffset diff --git a/pandas/core/arrays/__init__.py b/pandas/core/arrays/__init__.py index 470e86ccc5bda..9915a4693fa3d 100644 --- a/pandas/core/arrays/__init__.py +++ b/pandas/core/arrays/__init__.py @@ -1,5 +1,4 @@ from .array_ import array # noqa: F401 -from .base import ExtensionArray # noqa: F401 from .base import ExtensionOpsMixin, ExtensionScalarOpsMixin # noqa: F401 from .categorical import Categorical # noqa: F401 from .datetimes import DatetimeArray # noqa: F401 @@ -9,3 +8,5 @@ from .period import PeriodArray, period_array # noqa: F401 from .sparse import SparseArray # noqa: F401 from .timedeltas import TimedeltaArray # noqa: F401 + +from .base import ExtensionArray # noqa: F401; noqa: F401 diff --git a/pandas/core/frame.py b/pandas/core/frame.py index fd2e1e3e41ced..df7003ecf000e 100644 --- a/pandas/core/frame.py +++ b/pandas/core/frame.py @@ -14,93 +14,61 @@ from io import StringIO import itertools import sys -import warnings from textwrap import dedent from typing import FrozenSet, List, Optional, Set, Type, Union +import warnings import numpy as np import numpy.ma as ma from pandas._config import get_option -from pandas._libs import lib, algos as libalgos - -from pandas.util._decorators import (Appender, Substitution, - rewrite_axis_style_signature, - deprecate_kwarg) -from pandas.util._validators import (validate_bool_kwarg, - validate_axis_style_args) - +from pandas._libs import algos as libalgos, lib from pandas.compat import PY36, raise_with_traceback from pandas.compat.numpy import function as nv -from pandas.core.arrays.sparse import SparseFrameAccessor +from pandas.util._decorators import ( + Appender, Substitution, deprecate_kwarg, rewrite_axis_style_signature) +from pandas.util._validators import ( + validate_axis_style_args, validate_bool_kwarg) + from pandas.core.dtypes.cast import ( - maybe_upcast, - cast_scalar_to_array, - infer_dtype_from_scalar, - maybe_cast_to_datetime, - maybe_infer_to_datetimelike, - maybe_convert_platform, - maybe_downcast_to_dtype, - invalidate_string_dtypes, - coerce_to_dtypes, - maybe_upcast_putmask, - find_common_type) + cast_scalar_to_array, coerce_to_dtypes, find_common_type, + infer_dtype_from_scalar, invalidate_string_dtypes, maybe_cast_to_datetime, + maybe_convert_platform, maybe_downcast_to_dtype, + maybe_infer_to_datetimelike, maybe_upcast, maybe_upcast_putmask) from pandas.core.dtypes.common import ( - is_dict_like, - is_datetime64tz_dtype, - is_object_dtype, - is_extension_type, - is_extension_array_dtype, - is_datetime64_any_dtype, - is_bool_dtype, - is_integer_dtype, - is_float_dtype, - is_integer, - is_scalar, - is_dtype_equal, - needs_i8_conversion, - infer_dtype_from_object, - ensure_float64, - ensure_int64, - ensure_platform_int, - is_list_like, - is_nested_list_like, - is_iterator, - is_sequence, - is_named_tuple) + ensure_float64, ensure_int64, ensure_platform_int, infer_dtype_from_object, + is_bool_dtype, is_datetime64_any_dtype, is_datetime64tz_dtype, + is_dict_like, is_dtype_equal, is_extension_array_dtype, is_extension_type, + is_float_dtype, is_integer, is_integer_dtype, is_iterator, is_list_like, + is_named_tuple, is_nested_list_like, is_object_dtype, is_scalar, + is_sequence, needs_i8_conversion) from pandas.core.dtypes.generic import ( - ABCSeries, ABCDataFrame, ABCIndexClass, ABCMultiIndex) + ABCDataFrame, ABCIndexClass, ABCMultiIndex, ABCSeries) from pandas.core.dtypes.missing import isna, notna -from pandas.core import algorithms -from pandas.core import common as com -from pandas.core import nanops -from pandas.core import ops +from pandas.core import algorithms, common as com, nanops, ops from pandas.core.accessor import CachedAccessor from pandas.core.arrays import Categorical, ExtensionArray from pandas.core.arrays.datetimelike import ( - DatetimeLikeArrayMixin as DatetimeLikeArray -) + DatetimeLikeArrayMixin as DatetimeLikeArray) +from pandas.core.arrays.sparse import SparseFrameAccessor from pandas.core.generic import NDFrame, _shared_docs -from pandas.core.index import (Index, MultiIndex, ensure_index, - ensure_index_from_sequences) +from pandas.core.index import ( + Index, MultiIndex, ensure_index, ensure_index_from_sequences) from pandas.core.indexes import base as ibase from pandas.core.indexes.datetimes import DatetimeIndex from pandas.core.indexes.period import PeriodIndex -from pandas.core.indexing import (maybe_droplevels, convert_to_index_sliceable, - check_bool_indexer) +from pandas.core.indexing import ( + check_bool_indexer, convert_to_index_sliceable, maybe_droplevels) from pandas.core.internals import BlockManager from pandas.core.internals.construction import ( - masked_rec_array_to_mgr, get_names_from_index, to_arrays, - reorder_arrays, init_ndarray, init_dict, - arrays_to_mgr, sanitize_index) + arrays_to_mgr, get_names_from_index, init_dict, init_ndarray, + masked_rec_array_to_mgr, reorder_arrays, sanitize_index, to_arrays) from pandas.core.series import Series -from pandas.io.formats import console -from pandas.io.formats import format as fmt +from pandas.io.formats import console, format as fmt from pandas.io.formats.printing import pprint_thing - import pandas.plotting # --------------------------------------------------------------------- diff --git a/pandas/core/internals/__init__.py b/pandas/core/internals/__init__.py index d24dd2edd4e1d..b9530e15f71e2 100644 --- a/pandas/core/internals/__init__.py +++ b/pandas/core/internals/__init__.py @@ -1,12 +1,15 @@ -from .blocks import ( # noqa:F401 - _block_shape, # io.pytables - _safe_reshape, # io.packers - make_block, # io.pytables, io.packers - FloatBlock, IntBlock, ComplexBlock, BoolBlock, ObjectBlock, - TimeDeltaBlock, DatetimeBlock, DatetimeTZBlock, - CategoricalBlock, ExtensionBlock, Block) -from .managers import ( # noqa:F401 - BlockManager, SingleBlockManager, - create_block_manager_from_arrays, create_block_manager_from_blocks, - items_overlap_with_suffix, # reshape.merge - concatenate_block_managers) # reshape.concat, reshape.merge +from .blocks import ( # noqa: F401 + Block, BoolBlock, CategoricalBlock, ComplexBlock, DatetimeBlock, + DatetimeTZBlock, ExtensionBlock, FloatBlock, IntBlock, ObjectBlock, + TimeDeltaBlock) +from .managers import ( # noqa: F401 + BlockManager, SingleBlockManager, create_block_manager_from_arrays, + create_block_manager_from_blocks) + +from .blocks import _safe_reshape # noqa: F401; io.packers +from .blocks import make_block # noqa: F401; io.pytables, io.packers +from .managers import ( # noqa: F401; reshape.concat, reshape.merge + concatenate_block_managers) +from .managers import items_overlap_with_suffix # noqa: F401; reshape.merge + +from .blocks import _block_shape # noqa:F401; io.pytables diff --git a/pandas/io/msgpack/__init__.py b/pandas/io/msgpack/__init__.py index f8feffcf49240..216d1ec0a8ea7 100644 --- a/pandas/io/msgpack/__init__.py +++ b/pandas/io/msgpack/__init__.py @@ -1,9 +1,12 @@ # coding: utf-8 from collections import namedtuple +import os # noqa -from pandas.io.msgpack.exceptions import * # noqa +from pandas.io.msgpack._packer import Packer # noqa +from pandas.io.msgpack._unpacker import Unpacker, unpack, unpackb # noqa from pandas.io.msgpack._version import version # noqa +from pandas.io.msgpack.exceptions import * # noqa class ExtType(namedtuple('ExtType', 'code data')): @@ -17,11 +20,6 @@ def __new__(cls, code, data): raise ValueError("code must be 0~127") return super().__new__(cls, code, data) -import os # noqa - -from pandas.io.msgpack._packer import Packer # noqa -from pandas.io.msgpack._unpacker import unpack, unpackb, Unpacker # noqa - def pack(o, stream, **kwargs): """ diff --git a/setup.cfg b/setup.cfg index cae3d8cfa1e92..aae6723289101 100644 --- a/setup.cfg +++ b/setup.cfg @@ -119,8 +119,6 @@ combine_as_imports=True force_sort_within_sections=True skip_glob=env, skip= - pandas/core/api.py, - pandas/core/frame.py, asv_bench/benchmarks/attrs_caching.py, asv_bench/benchmarks/binary_ops.py, asv_bench/benchmarks/categoricals.py, From 3bf08f8ec2703bb5e50395b4f009b24123df7311 Mon Sep 17 00:00:00 2001 From: Jeff Reback Date: Fri, 28 Jun 2019 07:31:01 -0500 Subject: [PATCH 12/13] flake8 --- pandas/__init__.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pandas/__init__.py b/pandas/__init__.py index b7faac337cb66..14809946ab636 100644 --- a/pandas/__init__.py +++ b/pandas/__init__.py @@ -46,7 +46,7 @@ # use the closest tagged version if possible from ._version import get_versions -from pandas.core.api import ( # dtype; missing; indexes; tseries; conversion; misc +from pandas.core.api import ( # dtype; missing; indexes; tseries; conversion Categorical, CategoricalDtype, CategoricalIndex, DataFrame, DateOffset, DatetimeIndex, DatetimeTZDtype, Float64Index, Grouper, Index, IndexSlice, Int8Dtype, Int16Dtype, Int32Dtype, Int64Dtype, Int64Index, Interval, @@ -57,7 +57,7 @@ notna, notnull, np, period_range, set_eng_float_format, timedelta_range, to_datetime, to_numeric, to_timedelta, unique, value_counts) -from pandas.io.api import ( # excel; packers; parsers; pickle; pytables; sql; misc +from pandas.io.api import ( # excel; packers; parsers; pickle; pytables; sql ExcelFile, ExcelWriter, HDFStore, read_clipboard, read_csv, read_excel, read_feather, read_fwf, read_gbq, read_hdf, read_html, read_json, read_msgpack, read_parquet, read_pickle, read_sas, read_spss, read_sql, From 0cdb2f0dfc73b82dab63223c71611a34a45b50a8 Mon Sep 17 00:00:00 2001 From: Jeff Reback Date: Fri, 28 Jun 2019 09:31:59 -0500 Subject: [PATCH 13/13] revert some __init__ --- pandas/__init__.py | 113 ++++++++++++++++++++------------- pandas/core/api.py | 55 ++++++++++------ pandas/core/arrays/__init__.py | 5 +- pandas/io/msgpack/__init__.py | 10 +-- setup.cfg | 3 + 5 files changed, 114 insertions(+), 72 deletions(-) diff --git a/pandas/__init__.py b/pandas/__init__.py index 14809946ab636..b95c312f12eed 100644 --- a/pandas/__init__.py +++ b/pandas/__init__.py @@ -16,54 +16,10 @@ raise ImportError("Unable to import required dependencies:\n" + "\n".join(missing_dependencies)) del hard_dependencies, dependency, missing_dependencies -from datetime import datetime - -from pandas._config import ( - describe_option, get_option, option_context, options, reset_option, - set_option) - # numpy compat from pandas.compat.numpy import ( _np_version_under1p14, _np_version_under1p15, _np_version_under1p16, _np_version_under1p17) -from pandas.util._print_versions import show_versions -from pandas.util._tester import test - -# let init-time option registration happen -import pandas.arrays -from pandas.core.computation.api import eval -import pandas.core.config_init -from pandas.core.reshape.api import ( - concat, crosstab, cut, get_dummies, lreshape, melt, merge, merge_asof, - merge_ordered, pivot, pivot_table, qcut, wide_to_long) -from pandas.core.sparse.api import ( - SparseArray, SparseDataFrame, SparseDtype, SparseSeries) -import pandas.testing - -from pandas.tseries import offsets -from pandas.tseries.api import infer_freq - -# use the closest tagged version if possible -from ._version import get_versions - -from pandas.core.api import ( # dtype; missing; indexes; tseries; conversion - Categorical, CategoricalDtype, CategoricalIndex, DataFrame, DateOffset, - DatetimeIndex, DatetimeTZDtype, Float64Index, Grouper, Index, IndexSlice, - Int8Dtype, Int16Dtype, Int32Dtype, Int64Dtype, Int64Index, Interval, - IntervalDtype, IntervalIndex, MultiIndex, NamedAgg, NaT, Panel, Period, - PeriodDtype, PeriodIndex, RangeIndex, Series, Timedelta, TimedeltaIndex, - Timestamp, UInt8Dtype, UInt16Dtype, UInt32Dtype, UInt64Dtype, UInt64Index, - array, bdate_range, date_range, factorize, interval_range, isna, isnull, - notna, notnull, np, period_range, set_eng_float_format, timedelta_range, - to_datetime, to_numeric, to_timedelta, unique, value_counts) - -from pandas.io.api import ( # excel; packers; parsers; pickle; pytables; sql - ExcelFile, ExcelWriter, HDFStore, read_clipboard, read_csv, read_excel, - read_feather, read_fwf, read_gbq, read_hdf, read_html, read_json, - read_msgpack, read_parquet, read_pickle, read_sas, read_spss, read_sql, - read_sql_query, read_sql_table, read_stata, read_table, to_msgpack, - to_pickle) - try: from pandas._libs import (hashtable as _hashtable, @@ -77,17 +33,86 @@ "'python setup.py build_ext --inplace --force' to build " "the C extensions first.".format(module)) +from datetime import datetime + +from pandas._config import (get_option, set_option, reset_option, + describe_option, option_context, options) +# let init-time option registration happen +import pandas.core.config_init + +from pandas.core.api import ( + # dtype + Int8Dtype, Int16Dtype, Int32Dtype, Int64Dtype, UInt8Dtype, + UInt16Dtype, UInt32Dtype, UInt64Dtype, CategoricalDtype, + PeriodDtype, IntervalDtype, DatetimeTZDtype, + + # missing + isna, isnull, notna, notnull, + + # indexes + Index, CategoricalIndex, Int64Index, UInt64Index, RangeIndex, + Float64Index, MultiIndex, IntervalIndex, TimedeltaIndex, + DatetimeIndex, PeriodIndex, IndexSlice, + + # tseries + NaT, Period, period_range, Timedelta, timedelta_range, + Timestamp, date_range, bdate_range, Interval, interval_range, + DateOffset, + # conversion + to_numeric, to_datetime, to_timedelta, + # misc + np, Grouper, factorize, unique, value_counts, NamedAgg, + array, Categorical, set_eng_float_format, Series, DataFrame, + Panel) +from pandas.core.sparse.api import ( + SparseArray, SparseDataFrame, SparseSeries, SparseDtype) +from pandas.tseries.api import infer_freq +from pandas.tseries import offsets +from pandas.core.computation.api import eval +from pandas.core.reshape.api import ( + concat, lreshape, melt, wide_to_long, merge, merge_asof, + merge_ordered, crosstab, pivot, pivot_table, get_dummies, + cut, qcut) +from pandas.util._print_versions import show_versions +from pandas.io.api import ( + # excel + ExcelFile, ExcelWriter, read_excel, + # packers + read_msgpack, to_msgpack, + # parsers + read_csv, read_fwf, read_table, + + # pickle + read_pickle, to_pickle, + + # pytables + HDFStore, read_hdf, + + # sql + read_sql, read_sql_query, + read_sql_table, + + # misc + read_clipboard, read_parquet, read_feather, read_gbq, + read_html, read_json, read_stata, read_sas, read_spss) + +from pandas.util._tester import test +import pandas.testing +import pandas.arrays + +# use the closest tagged version if possible +from ._version import get_versions v = get_versions() __version__ = v.get('closest-tag', v['version']) __git_version__ = v.get('full-revisionid') diff --git a/pandas/core/api.py b/pandas/core/api.py index 0c9c95799f4c9..0106feabcce74 100644 --- a/pandas/core/api.py +++ b/pandas/core/api.py @@ -2,33 +2,46 @@ import numpy as np -from pandas.core.dtypes.dtypes import ( - CategoricalDtype, DatetimeTZDtype, IntervalDtype, PeriodDtype) -from pandas.core.dtypes.missing import isna, isnull, notna, notnull - -# TODO: Remove import when statsmodels updates #18264 +from pandas.core.arrays.integer import ( + Int8Dtype, + Int16Dtype, + Int32Dtype, + Int64Dtype, + UInt8Dtype, + UInt16Dtype, + UInt32Dtype, + UInt64Dtype, +) from pandas.core.algorithms import factorize, unique, value_counts +from pandas.core.dtypes.missing import isna, isnull, notna, notnull +from pandas.core.dtypes.dtypes import ( + CategoricalDtype, + PeriodDtype, + IntervalDtype, + DatetimeTZDtype, +) from pandas.core.arrays import Categorical, array -from pandas.core.arrays.integer import ( - Int8Dtype, Int16Dtype, Int32Dtype, Int64Dtype, UInt8Dtype, UInt16Dtype, - UInt32Dtype, UInt64Dtype) -from pandas.core.frame import DataFrame from pandas.core.groupby import Grouper, NamedAgg -from pandas.core.index import ( - CategoricalIndex, DatetimeIndex, Float64Index, Index, Int64Index, - IntervalIndex, MultiIndex, NaT, PeriodIndex, RangeIndex, TimedeltaIndex, - UInt64Index) -from pandas.core.indexes.datetimes import Timestamp, bdate_range, date_range -from pandas.core.indexes.interval import Interval, interval_range +from pandas.io.formats.format import set_eng_float_format +from pandas.core.index import (Index, CategoricalIndex, Int64Index, + UInt64Index, RangeIndex, Float64Index, + MultiIndex, IntervalIndex, + TimedeltaIndex, DatetimeIndex, + PeriodIndex, NaT) from pandas.core.indexes.period import Period, period_range from pandas.core.indexes.timedeltas import Timedelta, timedelta_range -from pandas.core.indexing import IndexSlice +from pandas.core.indexes.datetimes import Timestamp, date_range, bdate_range +from pandas.core.indexes.interval import Interval, interval_range + +from pandas.core.series import Series +from pandas.core.frame import DataFrame from pandas.core.panel import Panel + +# TODO: Remove import when statsmodels updates #18264 from pandas.core.reshape.reshape import get_dummies -from pandas.core.series import Series -from pandas.core.tools.datetimes import to_datetime -from pandas.core.tools.numeric import to_numeric -from pandas.core.tools.timedeltas import to_timedelta -from pandas.io.formats.format import set_eng_float_format +from pandas.core.indexing import IndexSlice +from pandas.core.tools.numeric import to_numeric from pandas.tseries.offsets import DateOffset +from pandas.core.tools.datetimes import to_datetime +from pandas.core.tools.timedeltas import to_timedelta diff --git a/pandas/core/arrays/__init__.py b/pandas/core/arrays/__init__.py index 9915a4693fa3d..2d09a9eac6eab 100644 --- a/pandas/core/arrays/__init__.py +++ b/pandas/core/arrays/__init__.py @@ -1,5 +1,6 @@ from .array_ import array # noqa: F401 -from .base import ExtensionOpsMixin, ExtensionScalarOpsMixin # noqa: F401 +from .base import ( # noqa: F401 + ExtensionArray, ExtensionOpsMixin, ExtensionScalarOpsMixin) from .categorical import Categorical # noqa: F401 from .datetimes import DatetimeArray # noqa: F401 from .integer import IntegerArray, integer_array # noqa: F401 @@ -8,5 +9,3 @@ from .period import PeriodArray, period_array # noqa: F401 from .sparse import SparseArray # noqa: F401 from .timedeltas import TimedeltaArray # noqa: F401 - -from .base import ExtensionArray # noqa: F401; noqa: F401 diff --git a/pandas/io/msgpack/__init__.py b/pandas/io/msgpack/__init__.py index 216d1ec0a8ea7..f8feffcf49240 100644 --- a/pandas/io/msgpack/__init__.py +++ b/pandas/io/msgpack/__init__.py @@ -1,12 +1,9 @@ # coding: utf-8 from collections import namedtuple -import os # noqa -from pandas.io.msgpack._packer import Packer # noqa -from pandas.io.msgpack._unpacker import Unpacker, unpack, unpackb # noqa -from pandas.io.msgpack._version import version # noqa from pandas.io.msgpack.exceptions import * # noqa +from pandas.io.msgpack._version import version # noqa class ExtType(namedtuple('ExtType', 'code data')): @@ -20,6 +17,11 @@ def __new__(cls, code, data): raise ValueError("code must be 0~127") return super().__new__(cls, code, data) +import os # noqa + +from pandas.io.msgpack._packer import Packer # noqa +from pandas.io.msgpack._unpacker import unpack, unpackb, Unpacker # noqa + def pack(o, stream, **kwargs): """ diff --git a/setup.cfg b/setup.cfg index aae6723289101..77dc043042f79 100644 --- a/setup.cfg +++ b/setup.cfg @@ -119,6 +119,9 @@ combine_as_imports=True force_sort_within_sections=True skip_glob=env, skip= + pandas/__init__.py + pandas/core/api.py, + pandas/io/msgpack/__init__.py asv_bench/benchmarks/attrs_caching.py, asv_bench/benchmarks/binary_ops.py, asv_bench/benchmarks/categoricals.py,