Skip to content

Commit 2618b21

Browse files
jbrockmendeljreback
authored andcommitted
Move core.config to _config.config (#25793)
1 parent 0f5a7e3 commit 2618b21

40 files changed

+77
-62
lines changed

pandas/__init__.py

+3
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,9 @@
3636

3737
from datetime import datetime
3838

39+
from pandas._config import (get_option, set_option, reset_option,
40+
describe_option, option_context, options)
41+
3942
# let init-time option registration happen
4043
import pandas.core.config_init
4144

pandas/_config/__init__.py

+6
Original file line numberDiff line numberDiff line change
@@ -2,3 +2,9 @@
22
pandas._config is considered explicitly upstream of everything else in pandas,
33
should have no intra-pandas dependencies.
44
"""
5+
__all__ = ["config", "get_option", "set_option", "reset_option",
6+
"describe_option", "option_context", "options"]
7+
from pandas._config import config
8+
from pandas._config.config import (
9+
describe_option, get_option, option_context, options, reset_option,
10+
set_option)

pandas/core/config.py renamed to pandas/_config/config.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -695,7 +695,7 @@ def config_prefix(prefix):
695695
696696
Example:
697697
698-
import pandas.core.config as cf
698+
import pandas._config.config as cf
699699
with cf.config_prefix("display.font"):
700700
cf.register_option("color", "red")
701701
cf.register_option("size", " 5 pt")

pandas/_libs/tslibs/parsing.pyx

+2-14
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,8 @@ from dateutil.relativedelta import relativedelta
3030
from dateutil.parser import DEFAULTPARSER
3131
from dateutil.parser import parse as du_parse
3232

33+
from pandas._config import get_option
34+
3335
from pandas._libs.tslibs.ccalendar import MONTH_NUMBERS
3436
from pandas._libs.tslibs.nattype import nat_strings, NaT
3537

@@ -51,20 +53,6 @@ cdef:
5153

5254
# ----------------------------------------------------------------------
5355

54-
_get_option = None
55-
56-
57-
def get_option(param):
58-
""" Defer import of get_option to break an import cycle that caused
59-
significant performance degradation in Period construction. See
60-
GH#24118 for details
61-
"""
62-
global _get_option
63-
if _get_option is None:
64-
from pandas.core.config import get_option
65-
_get_option = get_option
66-
return _get_option(param)
67-
6856

6957
def parse_datetime_string(date_string, freq=None, dayfirst=False,
7058
yearfirst=False, **kwargs):

pandas/core/api.py

-3
Original file line numberDiff line numberDiff line change
@@ -48,9 +48,6 @@
4848
from pandas.core.tools.datetimes import to_datetime
4949
from pandas.core.tools.timedeltas import to_timedelta
5050

51-
from pandas.core.config import (get_option, set_option, reset_option,
52-
describe_option, option_context, options)
53-
5451

5552
# Deprecation: xref gh-16747
5653
class TimeGrouper(object):

pandas/core/arrays/categorical.py

+2-1
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@
55

66
import numpy as np
77

8+
from pandas._config import get_option
9+
810
from pandas._libs import algos as libalgos, lib
911
import pandas.compat as compat
1012
from pandas.compat import lzip
@@ -32,7 +34,6 @@
3234
from pandas.core.algorithms import factorize, take, take_1d, unique1d
3335
from pandas.core.base import NoNewAttributesMixin, PandasObject, _shared_docs
3436
import pandas.core.common as com
35-
from pandas.core.config import get_option
3637
from pandas.core.missing import interpolate_2d
3738
from pandas.core.sorting import nargsort
3839

pandas/core/arrays/interval.py

+2-1
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@
33

44
import numpy as np
55

6+
from pandas._config import get_option
7+
68
from pandas._libs.interval import (
79
Interval, IntervalMixin, intervals_to_interval_bounds)
810
from pandas.compat import add_metaclass
@@ -24,7 +26,6 @@
2426
ExtensionArray, _extension_array_shared_docs)
2527
from pandas.core.arrays.categorical import Categorical
2628
import pandas.core.common as com
27-
from pandas.core.config import get_option
2829
from pandas.core.indexes.base import Index, ensure_index
2930

3031
_VALID_CLOSED = {'left', 'right', 'both', 'neither'}

pandas/core/base.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ def __bytes__(self):
6666
Invoked by bytes(obj) in py3 only.
6767
Yields a bytestring in both py2/py3.
6868
"""
69-
from pandas.core.config import get_option
69+
from pandas._config import get_option
7070

7171
encoding = get_option("display.encoding")
7272
return self.__unicode__().encode(encoding, 'replace')

pandas/core/computation/expressions.py

+2-1
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,12 @@
1010

1111
import numpy as np
1212

13+
from pandas._config import get_option
14+
1315
from pandas.core.dtypes.generic import ABCDataFrame
1416

1517
import pandas.core.common as com
1618
from pandas.core.computation.check import _NUMEXPR_INSTALLED
17-
from pandas.core.config import get_option
1819

1920
if _NUMEXPR_INSTALLED:
2021
import numexpr as ne

pandas/core/config_init.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@
99
module is imported, register them here rather then in the module.
1010
1111
"""
12-
import pandas.core.config as cf
13-
from pandas.core.config import (
12+
import pandas._config.config as cf
13+
from pandas._config.config import (
1414
is_bool, is_callable, is_instance_factory, is_int, is_one_of_factory,
1515
is_text)
1616

pandas/core/dtypes/dtypes.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,7 @@ def __bytes__(self):
138138
Invoked by bytes(obj) in py3 only.
139139
Yields a bytestring in both py2/py3.
140140
"""
141-
from pandas.core.config import get_option
141+
from pandas._config import get_option
142142

143143
encoding = get_option("display.encoding")
144144
return self.__unicode__().encode(encoding, 'replace')

pandas/core/dtypes/missing.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -172,7 +172,7 @@ def _use_inf_as_na(key):
172172
* http://stackoverflow.com/questions/4859217/
173173
programmatically-creating-variables-in-python/4859312#4859312
174174
"""
175-
from pandas.core.config import get_option
175+
from pandas._config import get_option
176176
flag = get_option(key)
177177
if flag:
178178
globals()['_isna'] = _isna_old

pandas/core/frame.py

+2-1
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,8 @@
2424
import numpy as np
2525
import numpy.ma as ma
2626

27+
from pandas._config import get_option
28+
2729
from pandas._libs import lib, algos as libalgos
2830

2931
from pandas.util._decorators import (Appender, Substitution,
@@ -84,7 +86,6 @@
8486
from pandas.core.arrays.datetimelike import (
8587
DatetimeLikeArrayMixin as DatetimeLikeArray
8688
)
87-
from pandas.core.config import get_option
8889
from pandas.core.generic import NDFrame, _shared_docs
8990
from pandas.core.index import (Index, MultiIndex, ensure_index,
9091
ensure_index_from_sequences)

pandas/core/generic.py

+3-1
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@
1111

1212
import numpy as np
1313

14+
from pandas._config import config
15+
1416
from pandas._libs import Timestamp, iNaT, properties
1517
import pandas.compat as compat
1618
from pandas.compat import (
@@ -34,7 +36,7 @@
3436
from pandas.core.dtypes.missing import isna, notna
3537

3638
import pandas as pd
37-
from pandas.core import config, missing, nanops
39+
from pandas.core import missing, nanops
3840
import pandas.core.algorithms as algos
3941
from pandas.core.base import PandasObject, SelectionMixin
4042
import pandas.core.common as com

pandas/core/groupby/groupby.py

+2-1
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@ class providing the base-class of operations.
1717

1818
import numpy as np
1919

20+
from pandas._config.config import option_context
21+
2022
from pandas._libs import Timestamp, groupby as libgroupby
2123
import pandas.compat as compat
2224
from pandas.compat import set_function_name
@@ -37,7 +39,6 @@ class providing the base-class of operations.
3739
from pandas.core.base import (
3840
DataError, GroupByError, PandasObject, SelectionMixin, SpecificationError)
3941
import pandas.core.common as com
40-
from pandas.core.config import option_context
4142
from pandas.core.frame import DataFrame
4243
from pandas.core.generic import NDFrame
4344
from pandas.core.groupby import base

pandas/core/indexes/category.py

+2-1
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@
33

44
import numpy as np
55

6+
from pandas._config import get_option
7+
68
from pandas._libs import index as libindex
79
import pandas.compat as compat
810
from pandas.compat.numpy import function as nv
@@ -19,7 +21,6 @@
1921
from pandas.core.algorithms import take_1d
2022
from pandas.core.arrays.categorical import Categorical, contains
2123
import pandas.core.common as com
22-
from pandas.core.config import get_option
2324
import pandas.core.indexes.base as ibase
2425
from pandas.core.indexes.base import Index, _index_shared_docs
2526
import pandas.core.missing as missing

pandas/core/indexes/interval.py

+2-1
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@
44

55
import numpy as np
66

7+
from pandas._config import get_option
8+
79
from pandas._libs import Timedelta, Timestamp
810
from pandas._libs.interval import Interval, IntervalMixin, IntervalTree
911
from pandas.compat import add_metaclass
@@ -21,7 +23,6 @@
2123

2224
from pandas.core.arrays.interval import IntervalArray, _interval_shared_docs
2325
import pandas.core.common as com
24-
from pandas.core.config import get_option
2526
import pandas.core.indexes.base as ibase
2627
from pandas.core.indexes.base import (
2728
Index, _index_shared_docs, default_pprint, ensure_index)

pandas/core/indexes/multi.py

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

77
import numpy as np
88

9+
from pandas._config import get_option
10+
911
from pandas._libs import (
1012
Timestamp, algos as libalgos, index as libindex, lib, tslibs)
1113
import pandas.compat as compat
@@ -24,7 +26,6 @@
2426

2527
import pandas.core.algorithms as algos
2628
import pandas.core.common as com
27-
from pandas.core.config import get_option
2829
import pandas.core.indexes.base as ibase
2930
from pandas.core.indexes.base import (
3031
Index, InvalidIndexError, _index_shared_docs, ensure_index)

pandas/core/nanops.py

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

77
import numpy as np
88

9+
from pandas._config import get_option
10+
911
from pandas._libs import iNaT, lib, tslibs
1012
import pandas.compat as compat
1113

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

2123
import pandas.core.common as com
22-
from pandas.core.config import get_option
2324

2425
_BOTTLENECK_INSTALLED = False
2526
_MIN_BOTTLENECK_VERSION = '1.0.0'

pandas/core/series.py

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

1010
import numpy as np
1111

12+
from pandas._config import get_option
13+
1214
from pandas._libs import iNaT, index as libindex, lib, tslibs
1315
import pandas.compat as compat
1416
from pandas.compat import PY36, StringIO
@@ -33,7 +35,6 @@
3335
from pandas.core.arrays.categorical import Categorical, CategoricalAccessor
3436
from pandas.core.arrays.sparse import SparseAccessor
3537
import pandas.core.common as com
36-
from pandas.core.config import get_option
3738
from pandas.core.index import (
3839
Float64Index, Index, InvalidIndexError, MultiIndex, ensure_index)
3940
from pandas.core.indexes.accessors import CombinedDatetimelikeProperties

pandas/io/excel/_base.py

+2-1
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@
55
from textwrap import fill
66
import warnings
77

8+
from pandas._config import config
9+
810
import pandas.compat as compat
911
from pandas.compat import add_metaclass, string_types
1012
from pandas.errors import EmptyDataError
@@ -13,7 +15,6 @@
1315
from pandas.core.dtypes.common import (
1416
is_bool, is_float, is_integer, is_list_like)
1517

16-
from pandas.core import config
1718
from pandas.core.frame import DataFrame
1819

1920
from pandas.io.common import _NA_VALUES, _stringify_path, _validate_header_arg

pandas/io/formats/console.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ def get_console_size():
6969
if in_ipython_frontend():
7070
# sane defaults for interactive non-shell terminal
7171
# match default for width,height in config_init
72-
from pandas.core.config import get_default_val
72+
from pandas._config.config import get_default_val
7373
terminal_width = get_default_val('display.width')
7474
terminal_height = get_default_val('display.max_rows')
7575
else:

pandas/io/formats/format.py

+2-1
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@
1010

1111
import numpy as np
1212

13+
from pandas._config.config import get_option, set_option
14+
1315
from pandas._libs import lib
1416
from pandas._libs.tslib import format_array_from_datetime
1517
from pandas._libs.tslibs import NaT, Timedelta, Timestamp, iNaT
@@ -27,7 +29,6 @@
2729
from pandas import compat
2830
from pandas.core.base import PandasObject
2931
import pandas.core.common as com
30-
from pandas.core.config import get_option, set_option
3132
from pandas.core.index import Index, ensure_index
3233
from pandas.core.indexes.datetimes import DatetimeIndex
3334

pandas/io/formats/html.py

+2-1
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,13 @@
88
from collections import OrderedDict
99
from textwrap import dedent
1010

11+
from pandas._config import get_option
12+
1113
from pandas.compat import lzip, unichr
1214

1315
from pandas.core.dtypes.generic import ABCMultiIndex
1416

1517
from pandas import compat, option_context
16-
from pandas.core.config import get_option
1718

1819
from pandas.io.common import _is_url
1920
from pandas.io.formats.format import TableFormatter, get_level_lengths

pandas/io/formats/printing.py

+2-1
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,11 @@
44

55
import sys
66

7+
from pandas._config import get_option
8+
79
from pandas.core.dtypes.inference import is_sequence
810

911
from pandas import compat
10-
from pandas.core.config import get_option
1112

1213

1314
def adjoin(space, *lists, **kwargs):

pandas/io/formats/style.py

+2-1
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@
1212

1313
import numpy as np
1414

15+
from pandas._config import get_option
16+
1517
from pandas.util._decorators import Appender
1618

1719
from pandas.core.dtypes.common import is_float, is_string_like
@@ -20,7 +22,6 @@
2022
import pandas as pd
2123
from pandas.api.types import is_dict_like, is_list_like
2224
import pandas.core.common as com
23-
from pandas.core.config import get_option
2425
from pandas.core.generic import _shared_docs
2526
from pandas.core.indexing import _maybe_numeric_slice, _non_reducing_slice
2627

0 commit comments

Comments
 (0)