From 54482fa9bddc14932b0a43cebd7b3fe13750fc6e Mon Sep 17 00:00:00 2001 From: Ryan Nazareth Date: Sun, 7 Apr 2019 02:55:27 +0100 Subject: [PATCH 01/10] Add explicit imports for stata in top level pandas init --- pandas/__init__.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/pandas/__init__.py b/pandas/__init__.py index cdf7dafba0e75..50ed6815dd8f3 100644 --- a/pandas/__init__.py +++ b/pandas/__init__.py @@ -48,6 +48,12 @@ from pandas.core.computation.api import * from pandas.core.reshape.api import * + +from pandas.core.index import DatetimeIndex +from pandas.core.missing import isna +from pandas.core.reshape.concat import concat +from pandas.core.tools.datetimes import to_datetime +from pandas.core.tools.timedeltas import to_timedelta from pandas.util._print_versions import show_versions from pandas.io.api import * from pandas.util._tester import test From 47210512d9c674eba4098c46ebe74333b3ffe13d Mon Sep 17 00:00:00 2001 From: Ryan Nazareth Date: Sun, 7 Apr 2019 15:44:50 +0100 Subject: [PATCH 02/10] Replace wildcard imports with explicit objects --- pandas/__init__.py | 57 ++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 47 insertions(+), 10 deletions(-) diff --git a/pandas/__init__.py b/pandas/__init__.py index 50ed6815dd8f3..c6d916af2e53b 100644 --- a/pandas/__init__.py +++ b/pandas/__init__.py @@ -42,20 +42,57 @@ # let init-time option registration happen import pandas.core.config_init -from pandas.core.api import * -from pandas.core.sparse.api import * -from pandas.tseries.api import * -from pandas.core.computation.api import * -from pandas.core.reshape.api import * - - -from pandas.core.index import DatetimeIndex -from pandas.core.missing import isna +from pandas.core.panel import Panel +from pandas.core.arrays.sparse import SparseArray, SparseDtype +from pandas.core.sparse.frame import SparseDataFrame +from pandas.core.sparse.series import SparseSeries +from pandas.core.computation.eval import eval from pandas.core.reshape.concat import concat +from pandas.core.reshape.melt import lreshape, melt, wide_to_long +from pandas.core.reshape.merge import merge, merge_asof, merge_ordered +from pandas.core.reshape.pivot import crosstab, pivot, pivot_table +from pandas.core.reshape.reshape import get_dummies +from pandas.core.reshape.tile import cut, qcut +from pandas.core.internals import BlockManager, _safe_reshape, make_block + +from pandas.core.index import ( + Float64Index, Index, DatetimeIndex, Int64Index, MultiIndex, PeriodIndex, RangeIndex, + TimedeltaIndex, CategoricalIndex) +from pandas.core.arrays import DatetimeArray, IntervalArray, PeriodArray +from pandas.core.arrays.sparse import BlockIndex, IntIndex +from pandas.core.arrays.categorical import Categorical +from pandas.core.arrays.interval import Interval +from pandas.core.indexes.interval import IntervalIndex +from pandas.core.indexes.datetimes import DatetimeIndex +from pandas.core.missing import isna from pandas.core.tools.datetimes import to_datetime from pandas.core.tools.timedeltas import to_timedelta +from pandas._libs.tslibs.timedeltas import Timedelta +from pandas._libs.tslibs.timestamps import Timestamp +from pandas._libs import NaT, Period, join +from pandas.io.clipboards import read_clipboard +from pandas.io.excel import ExcelFile, ExcelWriter, read_excel +from pandas.io.feather_format import read_feather +from pandas.io.gbq import read_gbq +from pandas.io.html import read_html +from pandas.io.json import read_json +from pandas.io.packers import read_msgpack, to_msgpack +from pandas.io.parquet import read_parquet +from pandas.io.parsers import read_csv, read_fwf, read_table +from pandas.io.pickle import read_pickle, to_pickle +from pandas.io.pytables import HDFStore, read_hdf +from pandas.io.sas import read_sas +from pandas.io.sql import read_sql, read_sql_query, read_sql_table +from pandas.io.stata import read_stata +from pandas.io.msgpack import ExtType, Packer as _Packer, Unpacker as _Unpacker +from pandas.io.formats.printing import pprint_thing +from pandas.io.parsers import TextParser +from pandas.io.common import _stringify_path, get_filepath_or_buffer, is_s3_url + +from pandas.tseries.frequencies import infer_freq +from pandas.tseries import offsets + from pandas.util._print_versions import show_versions -from pandas.io.api import * from pandas.util._tester import test import pandas.testing import pandas.arrays From 70f37186ef256506c7a68ccaba55b1c077fde620 Mon Sep 17 00:00:00 2001 From: Ryan Nazareth Date: Sun, 7 Apr 2019 15:49:27 +0100 Subject: [PATCH 03/10] Fix pep8 issue --- pandas/__init__.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pandas/__init__.py b/pandas/__init__.py index c6d916af2e53b..94971ad1aa5f0 100644 --- a/pandas/__init__.py +++ b/pandas/__init__.py @@ -56,8 +56,8 @@ from pandas.core.internals import BlockManager, _safe_reshape, make_block from pandas.core.index import ( - Float64Index, Index, DatetimeIndex, Int64Index, MultiIndex, PeriodIndex, RangeIndex, - TimedeltaIndex, CategoricalIndex) + Float64Index, Index, DatetimeIndex, Int64Index, MultiIndex, + PeriodIndex, RangeIndex, TimedeltaIndex, CategoricalIndex) from pandas.core.arrays import DatetimeArray, IntervalArray, PeriodArray from pandas.core.arrays.sparse import BlockIndex, IntIndex from pandas.core.arrays.categorical import Categorical From ed50a1a5f196a803311ffea1476431bfad4ccd55 Mon Sep 17 00:00:00 2001 From: Ryan Nazareth Date: Sun, 7 Apr 2019 16:22:56 +0100 Subject: [PATCH 04/10] Add dataframe and series imports --- pandas/__init__.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pandas/__init__.py b/pandas/__init__.py index 94971ad1aa5f0..4cd0b0a8f8441 100644 --- a/pandas/__init__.py +++ b/pandas/__init__.py @@ -42,6 +42,8 @@ # let init-time option registration happen import pandas.core.config_init +from pandas.core.frame import DataFrame +from pandas.core.series import Series from pandas.core.panel import Panel from pandas.core.arrays.sparse import SparseArray, SparseDtype from pandas.core.sparse.frame import SparseDataFrame From 9c1ae3834409fdc5626c557e9129b815282886a7 Mon Sep 17 00:00:00 2001 From: Ryan Nazareth Date: Sun, 7 Apr 2019 17:07:00 +0100 Subject: [PATCH 05/10] Importing from api with objects listed --- pandas/__init__.py | 74 ++++++++++++++++------------------------------ 1 file changed, 26 insertions(+), 48 deletions(-) diff --git a/pandas/__init__.py b/pandas/__init__.py index 4cd0b0a8f8441..ad20da92abbe1 100644 --- a/pandas/__init__.py +++ b/pandas/__init__.py @@ -42,57 +42,35 @@ # let init-time option registration happen import pandas.core.config_init -from pandas.core.frame import DataFrame -from pandas.core.series import Series -from pandas.core.panel import Panel -from pandas.core.arrays.sparse import SparseArray, SparseDtype -from pandas.core.sparse.frame import SparseDataFrame -from pandas.core.sparse.series import SparseSeries -from pandas.core.computation.eval import eval -from pandas.core.reshape.concat import concat -from pandas.core.reshape.melt import lreshape, melt, wide_to_long -from pandas.core.reshape.merge import merge, merge_asof, merge_ordered -from pandas.core.reshape.pivot import crosstab, pivot, pivot_table -from pandas.core.reshape.reshape import get_dummies -from pandas.core.reshape.tile import cut, qcut -from pandas.core.internals import BlockManager, _safe_reshape, make_block -from pandas.core.index import ( - Float64Index, Index, DatetimeIndex, Int64Index, MultiIndex, - PeriodIndex, RangeIndex, TimedeltaIndex, CategoricalIndex) +from pandas.core.api import ( + DataFrame, Series, array, Panel, Int64Index, Interval, + IntervalIndex, Float64Index, Index, DatetimeIndex, Int64Index, + MultiIndex, PeriodIndex, RangeIndex, TimedeltaIndex, + CategoricalIndex, Categorical, to_datetime, to_timedelta, + to_numeric, Timedelta, Timestamp, NaT, Period, isna, + CategoricalDtype, PeriodDtype, DatetimeTZDtype, IntervalDtype, + DateOffset, factorize, unique, value_counts, interval_range, + Grouper) + +from pandas.tseries.api import infer_freq +from pandas.tseries import offsets + +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.core.computation.api import eval + +from pandas.core.sparse.api import ( + SparseArray, SparseDataFrame, SparseSeries, SparseDtype) + +from pandas.core.internals import BlockManager, _safe_reshape, make_block from pandas.core.arrays import DatetimeArray, IntervalArray, PeriodArray from pandas.core.arrays.sparse import BlockIndex, IntIndex -from pandas.core.arrays.categorical import Categorical -from pandas.core.arrays.interval import Interval -from pandas.core.indexes.interval import IntervalIndex -from pandas.core.indexes.datetimes import DatetimeIndex -from pandas.core.missing import isna -from pandas.core.tools.datetimes import to_datetime -from pandas.core.tools.timedeltas import to_timedelta -from pandas._libs.tslibs.timedeltas import Timedelta -from pandas._libs.tslibs.timestamps import Timestamp -from pandas._libs import NaT, Period, join -from pandas.io.clipboards import read_clipboard -from pandas.io.excel import ExcelFile, ExcelWriter, read_excel -from pandas.io.feather_format import read_feather -from pandas.io.gbq import read_gbq -from pandas.io.html import read_html -from pandas.io.json import read_json -from pandas.io.packers import read_msgpack, to_msgpack -from pandas.io.parquet import read_parquet -from pandas.io.parsers import read_csv, read_fwf, read_table -from pandas.io.pickle import read_pickle, to_pickle -from pandas.io.pytables import HDFStore, read_hdf -from pandas.io.sas import read_sas -from pandas.io.sql import read_sql, read_sql_query, read_sql_table -from pandas.io.stata import read_stata -from pandas.io.msgpack import ExtType, Packer as _Packer, Unpacker as _Unpacker -from pandas.io.formats.printing import pprint_thing -from pandas.io.parsers import TextParser -from pandas.io.common import _stringify_path, get_filepath_or_buffer, is_s3_url - -from pandas.tseries.frequencies import infer_freq -from pandas.tseries import offsets + +from pandas._libs import join from pandas.util._print_versions import show_versions from pandas.util._tester import test From 7aa943b41a8e036c5a10b2638481de6342fcce40 Mon Sep 17 00:00:00 2001 From: Ryan Nazareth Date: Sun, 7 Apr 2019 23:18:44 +0100 Subject: [PATCH 06/10] Adding pandas.io and adding missing pandas core imports --- pandas/__init__.py | 43 ++++++++++++++++++++++++------------------- 1 file changed, 24 insertions(+), 19 deletions(-) diff --git a/pandas/__init__.py b/pandas/__init__.py index ad20da92abbe1..63832b7e76e86 100644 --- a/pandas/__init__.py +++ b/pandas/__init__.py @@ -42,37 +42,42 @@ # let init-time option registration happen import pandas.core.config_init - from pandas.core.api import ( - DataFrame, Series, array, Panel, Int64Index, Interval, - IntervalIndex, Float64Index, Index, DatetimeIndex, Int64Index, - MultiIndex, PeriodIndex, RangeIndex, TimedeltaIndex, - CategoricalIndex, Categorical, to_datetime, to_timedelta, - to_numeric, Timedelta, Timestamp, NaT, Period, isna, - CategoricalDtype, PeriodDtype, DatetimeTZDtype, IntervalDtype, - DateOffset, factorize, unique, value_counts, interval_range, - Grouper) + Int8Dtype, Int16Dtype, Int32Dtype, Int64Dtype, UInt8Dtype, + UInt16Dtype, UInt32Dtype, UInt64Dtype, factorize, unique, + value_counts, isna, isnull, notna, notnull, CategoricalDtype, + PeriodDtype, IntervalDtype, DatetimeTZDtype, Categorical, + array, Grouper, set_eng_float_format, Index, CategoricalIndex, + Int64Index, UInt64Index, RangeIndex, Float64Index, MultiIndex, + IntervalIndex, TimedeltaIndex, DatetimeIndex, PeriodIndex, + NaT, Period, period_range, Timedelta, timedelta_range, + Timestamp, date_range, bdate_range, Interval, interval_range, + Series, DataFrame, Panel, IndexSlice, to_numeric, DateOffset, + to_datetime, to_timedelta, np, TimeGrouper) + +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.core.computation.api import eval - -from pandas.core.sparse.api import ( - SparseArray, SparseDataFrame, SparseSeries, SparseDtype) - -from pandas.core.internals import BlockManager, _safe_reshape, make_block -from pandas.core.arrays import DatetimeArray, IntervalArray, PeriodArray -from pandas.core.arrays.sparse import BlockIndex, IntIndex +from pandas.util._print_versions import show_versions -from pandas._libs import join +from pandas.io.api import ( + read_clipboard, ExcelFile, ExcelWriter, read_excel, + read_feather, read_gbq, read_html, read_json, + read_msgpack, to_msgpack, read_parquet, read_csv, + read_fwf, read_table, read_pickle, to_pickle, + HDFStore, read_hdf, read_sas, read_sql, read_sql_query, + read_sql_table, read_stata) -from pandas.util._print_versions import show_versions from pandas.util._tester import test import pandas.testing import pandas.arrays From 2b3afa5598decc3df72fa5ee0a2bd892c8fb35b5 Mon Sep 17 00:00:00 2001 From: Ryan Nazareth Date: Tue, 9 Apr 2019 23:47:19 +0100 Subject: [PATCH 07/10] Sorting imports into catgeories and importing pandas.compat.numpy objects --- pandas/__init__.py | 62 +++++++++++++++++++++++++++++++++++----------- 1 file changed, 47 insertions(+), 15 deletions(-) diff --git a/pandas/__init__.py b/pandas/__init__.py index 63832b7e76e86..b45a20aeeac9a 100644 --- a/pandas/__init__.py +++ b/pandas/__init__.py @@ -20,7 +20,9 @@ del hard_dependencies, dependency, missing_dependencies # numpy compat -from pandas.compat.numpy import * +from pandas.compat.numpy import ( + LooseVersion, tz_replacer, _tz_regex, np_datetime64_compat, + np_array_datetime64_compat, function) try: from pandas._libs import (hashtable as _hashtable, @@ -43,17 +45,31 @@ import pandas.core.config_init from pandas.core.api import ( + #dtype Int8Dtype, Int16Dtype, Int32Dtype, Int64Dtype, UInt8Dtype, - UInt16Dtype, UInt32Dtype, UInt64Dtype, factorize, unique, - value_counts, isna, isnull, notna, notnull, CategoricalDtype, - PeriodDtype, IntervalDtype, DatetimeTZDtype, Categorical, - array, Grouper, set_eng_float_format, Index, CategoricalIndex, - Int64Index, UInt64Index, RangeIndex, Float64Index, MultiIndex, - IntervalIndex, TimedeltaIndex, DatetimeIndex, PeriodIndex, + 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, - Series, DataFrame, Panel, IndexSlice, to_numeric, DateOffset, - to_datetime, to_timedelta, np, TimeGrouper) + DateOffset, + + #conversion + to_numeric, to_datetime, to_timedelta, + + #misc + np, TimeGrouper, Grouper, factorize, unique, value_counts, + array, Categorical, set_eng_float_format, Series, DataFrame, + Panel) from pandas.core.sparse.api import ( SparseArray, SparseDataFrame, SparseSeries, SparseDtype) @@ -71,12 +87,28 @@ from pandas.util._print_versions import show_versions from pandas.io.api import ( - read_clipboard, ExcelFile, ExcelWriter, read_excel, - read_feather, read_gbq, read_html, read_json, - read_msgpack, to_msgpack, read_parquet, read_csv, - read_fwf, read_table, read_pickle, to_pickle, - HDFStore, read_hdf, read_sas, read_sql, read_sql_query, - read_sql_table, read_stata) + #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 From b4052a28ee1984158743a2e4b37bfd0be1e54f3f Mon Sep 17 00:00:00 2001 From: Ryan Nazareth Date: Tue, 9 Apr 2019 23:52:46 +0100 Subject: [PATCH 08/10] Fix pep8 --- pandas/__init__.py | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/pandas/__init__.py b/pandas/__init__.py index b45a20aeeac9a..e38654e3dff2a 100644 --- a/pandas/__init__.py +++ b/pandas/__init__.py @@ -45,30 +45,30 @@ import pandas.core.config_init from pandas.core.api import ( - #dtype + # dtype Int8Dtype, Int16Dtype, Int32Dtype, Int64Dtype, UInt8Dtype, UInt16Dtype, UInt32Dtype, UInt64Dtype, CategoricalDtype, PeriodDtype, IntervalDtype, DatetimeTZDtype, - #missing + # missing isna, isnull, notna, notnull, - #indexes + # indexes Index, CategoricalIndex, Int64Index, UInt64Index, RangeIndex, Float64Index, MultiIndex, IntervalIndex, TimedeltaIndex, DatetimeIndex, PeriodIndex, IndexSlice, - #tseries + # tseries NaT, Period, period_range, Timedelta, timedelta_range, Timestamp, date_range, bdate_range, Interval, interval_range, DateOffset, - #conversion + # conversion to_numeric, to_datetime, to_timedelta, - #misc + # misc np, TimeGrouper, Grouper, factorize, unique, value_counts, - array, Categorical, set_eng_float_format, Series, DataFrame, + array, Categorical, set_eng_float_format, Series, DataFrame, Panel) from pandas.core.sparse.api import ( @@ -87,26 +87,26 @@ from pandas.util._print_versions import show_versions from pandas.io.api import ( - #excel + # excel ExcelFile, ExcelWriter, read_excel, - #packers + # packers read_msgpack, to_msgpack, - #parsers + # parsers read_csv, read_fwf, read_table, - #pickle + # pickle read_pickle, to_pickle, - #pytables + # pytables HDFStore, read_hdf, - #sql + # sql read_sql, read_sql_query, read_sql_table, - #misc + # misc read_clipboard, read_parquet, read_feather, read_gbq, read_html, read_json, read_stata, read_sas) From e21eb72703e2c2c69590c55bc4903375e0820198 Mon Sep 17 00:00:00 2001 From: Ryan Nazareth Date: Wed, 10 Apr 2019 00:33:04 +0100 Subject: [PATCH 09/10] importing additional objects pandas.compat.numpy --- pandas/__init__.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pandas/__init__.py b/pandas/__init__.py index e38654e3dff2a..ffa8721aba089 100644 --- a/pandas/__init__.py +++ b/pandas/__init__.py @@ -21,8 +21,9 @@ # numpy compat from pandas.compat.numpy import ( - LooseVersion, tz_replacer, _tz_regex, np_datetime64_compat, - np_array_datetime64_compat, function) + np_datetime64_compat, np_array_datetime64_compat, _nlv, _np_version, + _np_version_under1p14, _np_version_under1p15, _np_version_under1p16, + _np_version_under1p17, LooseVersion, tz_replacer, _tz_regex, function) try: from pandas._libs import (hashtable as _hashtable, From f519a03a30b93f9a4855d228e1a7b162c9eb000f Mon Sep 17 00:00:00 2001 From: Ryan Nazareth Date: Wed, 10 Apr 2019 01:38:01 +0100 Subject: [PATCH 10/10] Fix test failures --- pandas/__init__.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/pandas/__init__.py b/pandas/__init__.py index ffa8721aba089..d3e6d97960fb3 100644 --- a/pandas/__init__.py +++ b/pandas/__init__.py @@ -21,9 +21,8 @@ # numpy compat from pandas.compat.numpy import ( - np_datetime64_compat, np_array_datetime64_compat, _nlv, _np_version, _np_version_under1p14, _np_version_under1p15, _np_version_under1p16, - _np_version_under1p17, LooseVersion, tz_replacer, _tz_regex, function) + _np_version_under1p17) try: from pandas._libs import (hashtable as _hashtable,