1111# include "delimited_to_arrays.h"
1212# include "methods.h"
1313# include "tri_map.h"
14+ # include "auto_map.h"
1415
1516static PyMethodDef arraykit_methods [] = {
1617 {"immutable_filter" , immutable_filter , METH_O , NULL },
@@ -85,6 +86,15 @@ PyInit__arraykit(void)
8586 return NULL ;
8687 }
8788
89+ NonUniqueError = PyErr_NewExceptionWithDoc (
90+ "arraykit.NonUniqueError" ,
91+ "ValueError for non-unique values." ,
92+ PyExc_ValueError ,
93+ NULL );
94+ if (NonUniqueError == NULL ) {
95+ return NULL ;
96+ }
97+
8898 PyObject * copy = PyImport_ImportModule ("copy" );
8999 if (copy == NULL ) {
90100 return NULL ;
@@ -107,12 +117,19 @@ PyInit__arraykit(void)
107117 PyType_Ready (& BIIterBlockType ) ||
108118 PyType_Ready (& TriMapType ) ||
109119 PyType_Ready (& ArrayGOType ) ||
120+ PyType_Ready (& AMType ) ||
121+ PyType_Ready (& FAMIType ) ||
122+ PyType_Ready (& FAMVType ) ||
123+ PyType_Ready (& FAMType ) ||
110124 PyModule_AddObject (m , "BlockIndex" , (PyObject * ) & BlockIndexType ) ||
111125 PyModule_AddObject (m , "TriMap" , (PyObject * ) & TriMapType ) ||
112126 PyModule_AddObject (m , "ArrayGO" , (PyObject * ) & ArrayGOType ) ||
113127 PyModule_AddObject (m , "deepcopy" , deepcopy ) ||
114- PyModule_AddObject (m , "ErrorInitTypeBlocks" , ErrorInitTypeBlocks )
115- ){
128+ PyModule_AddObject (m , "ErrorInitTypeBlocks" , ErrorInitTypeBlocks ) ||
129+ PyModule_AddObject (m , "AutoMap" , (PyObject * )& AMType ) ||
130+ PyModule_AddObject (m , "FrozenAutoMap" , (PyObject * )& FAMType ) ||
131+ PyModule_AddObject (m , "NonUniqueError" , NonUniqueError )
132+ ){
116133 Py_DECREF (deepcopy );
117134 Py_XDECREF (m );
118135 return NULL ;
0 commit comments