API class creation

kman3048 mknoth at earthlink.net
Fri Aug 5 10:31:30 EDT 2005


Thanks, that helped a lot.

Anybody who wants to attempt the same might find the
source code tree of Python i.e. file src/Modules/cdmodule.c
helpful.

--Matt


Daniel Dittmar wrote:
> kman3048 wrote:
> > Hello,
> >
> > as a relative newcomer to Python API programming I've got a problem:
> >
> > To extend Python:
> > - there is an API C call to create a module
> > - there is also a API C call to create a method
> > - there is an API C call to create a Class instance
> >
> > Now, I need to create a Class and fill it with Methods and Variables.
> > There are means to create (and attache) methods and variables.
> > However, I have not found how to create a Class within a Module. Or do
> > I have to use a low level API function to allocate an Object from Heap?
>
> static PyMethodDef moduleMethods [] = {
>      ...
> };
>
> statichere PyTypeObject MyClassType = {
>      PyObject_HEAD_INIT (NULL)
>      ...
> };
>
> initmymodule ()
> {
>      PyObject* module;
>      PyObject* dict;
>
>      module = Py_InitModule4 ("mymodule", moduleMethods,
>            "doc string", NULL, PYTHON_API_VERSION);
>      if (module == NULL) {
>          return;
>      }
>      dict = PyModule_GetDict (module);
>      PyDict_SetItemString (dict, "MyClass"),
>          (PyObject*) &MyClassType));
> }
> 
> Daniel




More information about the Python-list mailing list