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

Lines changed: 3 additions & 0 deletions
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

Lines changed: 6 additions & 0 deletions
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

Lines changed: 1 addition & 1 deletion
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

Lines changed: 2 additions & 14 deletions
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

Lines changed: 0 additions & 3 deletions
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

Lines changed: 2 additions & 1 deletion
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

Lines changed: 2 additions & 1 deletion
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

Lines changed: 1 addition & 1 deletion
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

Lines changed: 2 additions & 1 deletion
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

Lines changed: 2 additions & 2 deletions
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

0 commit comments

Comments
 (0)