Skip to content

Move core.config to _config.config #25793

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 18 commits into from
Mar 24, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
18 commits
Select commit Hold shift + click to select a range
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions pandas/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,9 @@

from datetime import datetime

from pandas._config import (get_option, set_option, reset_option,
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

how did these get in here now? (Ithink it is explicit and ok), but just wondering

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These used to be a "*" import, now made explicit.

describe_option, option_context, options)

# let init-time option registration happen
import pandas.core.config_init

Expand Down
6 changes: 6 additions & 0 deletions pandas/_config/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,3 +2,9 @@
pandas._config is considered explicitly upstream of everything else in pandas,
should have no intra-pandas dependencies.
"""
__all__ = ["config", "get_option", "set_option", "reset_option",
"describe_option", "option_context", "options"]
from pandas._config import config
from pandas._config.config import (
describe_option, get_option, option_context, options, reset_option,
set_option)
2 changes: 1 addition & 1 deletion pandas/core/config.py → pandas/_config/config.py
Original file line number Diff line number Diff line change
Expand Up @@ -695,7 +695,7 @@ def config_prefix(prefix):

Example:

import pandas.core.config as cf
import pandas._config.config as cf
with cf.config_prefix("display.font"):
cf.register_option("color", "red")
cf.register_option("size", " 5 pt")
Expand Down
16 changes: 2 additions & 14 deletions pandas/_libs/tslibs/parsing.pyx
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,8 @@ from dateutil.relativedelta import relativedelta
from dateutil.parser import DEFAULTPARSER
from dateutil.parser import parse as du_parse

from pandas._config import get_option

from pandas._libs.tslibs.ccalendar import MONTH_NUMBERS
from pandas._libs.tslibs.nattype import nat_strings, NaT

Expand All @@ -51,20 +53,6 @@ cdef:

# ----------------------------------------------------------------------

_get_option = None


def get_option(param):
""" Defer import of get_option to break an import cycle that caused
significant performance degradation in Period construction. See
GH#24118 for details
"""
global _get_option
if _get_option is None:
from pandas.core.config import get_option
_get_option = get_option
return _get_option(param)


def parse_datetime_string(date_string, freq=None, dayfirst=False,
yearfirst=False, **kwargs):
Expand Down
3 changes: 0 additions & 3 deletions pandas/core/api.py
Original file line number Diff line number Diff line change
Expand Up @@ -48,9 +48,6 @@
from pandas.core.tools.datetimes import to_datetime
from pandas.core.tools.timedeltas import to_timedelta

from pandas.core.config import (get_option, set_option, reset_option,
describe_option, option_context, options)


# Deprecation: xref gh-16747
class TimeGrouper(object):
Expand Down
3 changes: 2 additions & 1 deletion pandas/core/arrays/categorical.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@

import numpy as np

from pandas._config import get_option

from pandas._libs import algos as libalgos, lib
import pandas.compat as compat
from pandas.compat import lzip
Expand Down Expand Up @@ -32,7 +34,6 @@
from pandas.core.algorithms import factorize, take, take_1d, unique1d
from pandas.core.base import NoNewAttributesMixin, PandasObject, _shared_docs
import pandas.core.common as com
from pandas.core.config import get_option
from pandas.core.missing import interpolate_2d
from pandas.core.sorting import nargsort

Expand Down
3 changes: 2 additions & 1 deletion pandas/core/arrays/interval.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@

import numpy as np

from pandas._config import get_option

from pandas._libs.interval import (
Interval, IntervalMixin, intervals_to_interval_bounds)
from pandas.compat import add_metaclass
Expand All @@ -24,7 +26,6 @@
ExtensionArray, _extension_array_shared_docs)
from pandas.core.arrays.categorical import Categorical
import pandas.core.common as com
from pandas.core.config import get_option
from pandas.core.indexes.base import Index, ensure_index

_VALID_CLOSED = {'left', 'right', 'both', 'neither'}
Expand Down
2 changes: 1 addition & 1 deletion pandas/core/base.py
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ def __bytes__(self):
Invoked by bytes(obj) in py3 only.
Yields a bytestring in both py2/py3.
"""
from pandas.core.config import get_option
from pandas._config import get_option

encoding = get_option("display.encoding")
return self.__unicode__().encode(encoding, 'replace')
Expand Down
3 changes: 2 additions & 1 deletion pandas/core/computation/expressions.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,11 +10,12 @@

import numpy as np

from pandas._config import get_option

from pandas.core.dtypes.generic import ABCDataFrame

import pandas.core.common as com
from pandas.core.computation.check import _NUMEXPR_INSTALLED
from pandas.core.config import get_option

if _NUMEXPR_INSTALLED:
import numexpr as ne
Expand Down
4 changes: 2 additions & 2 deletions pandas/core/config_init.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@
module is imported, register them here rather then in the module.

"""
import pandas.core.config as cf
from pandas.core.config import (
import pandas._config.config as cf
from pandas._config.config import (
is_bool, is_callable, is_instance_factory, is_int, is_one_of_factory,
is_text)

Expand Down
2 changes: 1 addition & 1 deletion pandas/core/dtypes/dtypes.py
Original file line number Diff line number Diff line change
Expand Up @@ -138,7 +138,7 @@ def __bytes__(self):
Invoked by bytes(obj) in py3 only.
Yields a bytestring in both py2/py3.
"""
from pandas.core.config import get_option
from pandas._config import get_option

encoding = get_option("display.encoding")
return self.__unicode__().encode(encoding, 'replace')
Expand Down
2 changes: 1 addition & 1 deletion pandas/core/dtypes/missing.py
Original file line number Diff line number Diff line change
Expand Up @@ -172,7 +172,7 @@ def _use_inf_as_na(key):
* http://stackoverflow.com/questions/4859217/
programmatically-creating-variables-in-python/4859312#4859312
"""
from pandas.core.config import get_option
from pandas._config import get_option
flag = get_option(key)
if flag:
globals()['_isna'] = _isna_old
Expand Down
3 changes: 2 additions & 1 deletion pandas/core/frame.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,8 @@
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,
Expand Down Expand Up @@ -84,7 +86,6 @@
from pandas.core.arrays.datetimelike import (
DatetimeLikeArrayMixin as DatetimeLikeArray
)
from pandas.core.config import get_option
from pandas.core.generic import NDFrame, _shared_docs
from pandas.core.index import (Index, MultiIndex, ensure_index,
ensure_index_from_sequences)
Expand Down
4 changes: 3 additions & 1 deletion pandas/core/generic.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,8 @@

import numpy as np

from pandas._config import config

from pandas._libs import Timestamp, iNaT, properties
import pandas.compat as compat
from pandas.compat import (
Expand All @@ -34,7 +36,7 @@
from pandas.core.dtypes.missing import isna, notna

import pandas as pd
from pandas.core import config, missing, nanops
from pandas.core import missing, nanops
import pandas.core.algorithms as algos
from pandas.core.base import PandasObject, SelectionMixin
import pandas.core.common as com
Expand Down
3 changes: 2 additions & 1 deletion pandas/core/groupby/groupby.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,8 @@ class providing the base-class of operations.

import numpy as np

from pandas._config.config import option_context

from pandas._libs import Timestamp, groupby as libgroupby
import pandas.compat as compat
from pandas.compat import set_function_name
Expand All @@ -37,7 +39,6 @@ class providing the base-class of operations.
from pandas.core.base import (
DataError, GroupByError, PandasObject, SelectionMixin, SpecificationError)
import pandas.core.common as com
from pandas.core.config import option_context
from pandas.core.frame import DataFrame
from pandas.core.generic import NDFrame
from pandas.core.groupby import base
Expand Down
3 changes: 2 additions & 1 deletion pandas/core/indexes/category.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@

import numpy as np

from pandas._config import get_option

from pandas._libs import index as libindex
import pandas.compat as compat
from pandas.compat.numpy import function as nv
Expand All @@ -19,7 +21,6 @@
from pandas.core.algorithms import take_1d
from pandas.core.arrays.categorical import Categorical, contains
import pandas.core.common as com
from pandas.core.config import get_option
import pandas.core.indexes.base as ibase
from pandas.core.indexes.base import Index, _index_shared_docs
import pandas.core.missing as missing
Expand Down
3 changes: 2 additions & 1 deletion pandas/core/indexes/interval.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@

import numpy as np

from pandas._config import get_option

from pandas._libs import Timedelta, Timestamp
from pandas._libs.interval import Interval, IntervalMixin, IntervalTree
from pandas.compat import add_metaclass
Expand All @@ -21,7 +23,6 @@

from pandas.core.arrays.interval import IntervalArray, _interval_shared_docs
import pandas.core.common as com
from pandas.core.config import get_option
import pandas.core.indexes.base as ibase
from pandas.core.indexes.base import (
Index, _index_shared_docs, default_pprint, ensure_index)
Expand Down
3 changes: 2 additions & 1 deletion pandas/core/indexes/multi.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@

import numpy as np

from pandas._config import get_option

from pandas._libs import (
Timestamp, algos as libalgos, index as libindex, lib, tslibs)
import pandas.compat as compat
Expand All @@ -24,7 +26,6 @@

import pandas.core.algorithms as algos
import pandas.core.common as com
from pandas.core.config import get_option
import pandas.core.indexes.base as ibase
from pandas.core.indexes.base import (
Index, InvalidIndexError, _index_shared_docs, ensure_index)
Expand Down
3 changes: 2 additions & 1 deletion pandas/core/nanops.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@

import numpy as np

from pandas._config import get_option

from pandas._libs import iNaT, lib, tslibs
import pandas.compat as compat

Expand All @@ -19,7 +21,6 @@
from pandas.core.dtypes.missing import isna, na_value_for_dtype, notna

import pandas.core.common as com
from pandas.core.config import get_option

_BOTTLENECK_INSTALLED = False
_MIN_BOTTLENECK_VERSION = '1.0.0'
Expand Down
3 changes: 2 additions & 1 deletion pandas/core/series.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@

import numpy as np

from pandas._config import get_option

from pandas._libs import iNaT, index as libindex, lib, tslibs
import pandas.compat as compat
from pandas.compat import PY36, StringIO
Expand All @@ -33,7 +35,6 @@
from pandas.core.arrays.categorical import Categorical, CategoricalAccessor
from pandas.core.arrays.sparse import SparseAccessor
import pandas.core.common as com
from pandas.core.config import get_option
from pandas.core.index import (
Float64Index, Index, InvalidIndexError, MultiIndex, ensure_index)
from pandas.core.indexes.accessors import CombinedDatetimelikeProperties
Expand Down
3 changes: 2 additions & 1 deletion pandas/io/excel/_base.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@
from textwrap import fill
import warnings

from pandas._config import config

import pandas.compat as compat
from pandas.compat import add_metaclass, string_types
from pandas.errors import EmptyDataError
Expand All @@ -13,7 +15,6 @@
from pandas.core.dtypes.common import (
is_bool, is_float, is_integer, is_list_like)

from pandas.core import config
from pandas.core.frame import DataFrame

from pandas.io.common import _NA_VALUES, _stringify_path, _validate_header_arg
Expand Down
2 changes: 1 addition & 1 deletion pandas/io/formats/console.py
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ def get_console_size():
if in_ipython_frontend():
# sane defaults for interactive non-shell terminal
# match default for width,height in config_init
from pandas.core.config import get_default_val
from pandas._config.config import get_default_val
terminal_width = get_default_val('display.width')
terminal_height = get_default_val('display.max_rows')
else:
Expand Down
3 changes: 2 additions & 1 deletion pandas/io/formats/format.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@

import numpy as np

from pandas._config.config import get_option, set_option

from pandas._libs import lib
from pandas._libs.tslib import format_array_from_datetime
from pandas._libs.tslibs import NaT, Timedelta, Timestamp, iNaT
Expand All @@ -27,7 +29,6 @@
from pandas import compat
from pandas.core.base import PandasObject
import pandas.core.common as com
from pandas.core.config import get_option, set_option
from pandas.core.index import Index, ensure_index
from pandas.core.indexes.datetimes import DatetimeIndex

Expand Down
3 changes: 2 additions & 1 deletion pandas/io/formats/html.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,13 @@
from collections import OrderedDict
from textwrap import dedent

from pandas._config import get_option

from pandas.compat import lzip, unichr

from pandas.core.dtypes.generic import ABCMultiIndex

from pandas import compat, option_context
from pandas.core.config import get_option

from pandas.io.common import _is_url
from pandas.io.formats.format import TableFormatter, get_level_lengths
Expand Down
3 changes: 2 additions & 1 deletion pandas/io/formats/printing.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,11 @@

import sys

from pandas._config import get_option

from pandas.core.dtypes.inference import is_sequence

from pandas import compat
from pandas.core.config import get_option


def adjoin(space, *lists, **kwargs):
Expand Down
3 changes: 2 additions & 1 deletion pandas/io/formats/style.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@

import numpy as np

from pandas._config import get_option

from pandas.util._decorators import Appender

from pandas.core.dtypes.common import is_float, is_string_like
Expand All @@ -20,7 +22,6 @@
import pandas as pd
from pandas.api.types import is_dict_like, is_list_like
import pandas.core.common as com
from pandas.core.config import get_option
from pandas.core.generic import _shared_docs
from pandas.core.indexing import _maybe_numeric_slice, _non_reducing_slice

Expand Down
Loading