File tree Expand file tree Collapse file tree 4 files changed +17
-8
lines changed Expand file tree Collapse file tree 4 files changed +17
-8
lines changed Original file line number Diff line number Diff line change 4
4
5
5
from .missing import NA # isort: skip
6
6
from .scalar import StringScalar , PandasStringScalar # isort: skip
7
- from ._main import PandasStringDType , StringDType , _memory_usage
7
+ from ._main import StringDType , _memory_usage
8
+
9
+ try :
10
+ from ._main import PandasStringDType
11
+ except ImportError :
12
+ PandasStringDType = None
8
13
9
14
__all__ = [
10
15
"NA" ,
14
19
]
15
20
16
21
# this happens when pandas isn't importable
17
- if StringDType is PandasStringDType :
22
+ if PandasStringDType is None :
18
23
del PandasStringDType
19
24
else :
20
25
__all__ .extend ("PandasStringDType" )
Original file line number Diff line number Diff line change @@ -7,6 +7,7 @@ PyTypeObject *StringScalar_Type = NULL;
7
7
PyTypeObject * PandasStringScalar_Type = NULL ;
8
8
static PyTypeObject * StringNA_Type = NULL ;
9
9
PyObject * NA_OBJ = NULL ;
10
+ int PANDAS_AVAILABLE = 0 ;
10
11
11
12
/*
12
13
* Internal helper to create new instances
@@ -597,9 +598,9 @@ init_string_dtype(void)
597
598
}
598
599
599
600
PandasStringDType .base .singleton = singleton ;
601
+ PANDAS_AVAILABLE = 1 ;
600
602
}
601
603
else {
602
- PandasStringDType = StringDType ;
603
604
PyErr_Clear ();
604
605
}
605
606
Original file line number Diff line number Diff line change @@ -28,6 +28,7 @@ extern StringDType_type PandasStringDType;
28
28
extern PyTypeObject * StringScalar_Type ;
29
29
extern PyTypeObject * PandasStringScalar_Type ;
30
30
extern PyObject * NA_OBJ ;
31
+ extern int PANDAS_AVAILABLE ;
31
32
32
33
PyObject *
33
34
new_stringdtype_instance (PyTypeObject * cls );
Original file line number Diff line number Diff line change @@ -135,11 +135,13 @@ PyInit__main(void)
135
135
goto error ;
136
136
}
137
137
138
- Py_INCREF ((PyObject * )& PandasStringDType );
139
- if (PyModule_AddObject (m , "PandasStringDType" ,
140
- (PyObject * )& PandasStringDType ) < 0 ) {
141
- Py_DECREF ((PyObject * )& PandasStringDType );
142
- goto error ;
138
+ if (PANDAS_AVAILABLE == 1 ) {
139
+ Py_INCREF ((PyObject * )& PandasStringDType );
140
+ if (PyModule_AddObject (m , "PandasStringDType" ,
141
+ (PyObject * )& PandasStringDType ) < 0 ) {
142
+ Py_DECREF ((PyObject * )& PandasStringDType );
143
+ goto error ;
144
+ }
143
145
}
144
146
145
147
if (init_ufuncs () < 0 ) {
You can’t perform that action at this time.
0 commit comments