Como disponibilizar funções no “Python/C API”?

Olá estou desenvolvendo um modulo python e estou com o seguinte problema. Quando o modulo é compilado, só a uma função fica disponível ( fun1 ). como faço para que fun2 fique disponível também?

#define PY_SSIZE_T_CLEAN
#include <Python.h>


static PyObject* spam_fun2(PyObject *self) 
{
    # codigos
    return Py_None;
}

static PyObject* spam_fun1(PyObject *self) 
{
    # codigos
    return Py_None;
}

static struct PyModuleDef spammethods[] = {
    { "fun1", spam_fun1, METH_NOARGS, " " },
    { "fun2", spam_fun2, METH_NOARGS, " " },
    { NULL, NULL, 0, NULL }
};

static struct PyModuleDef spammodule = {
    PyModuleDef_HEAD_INIT,
    "spam",
    "Lib exe command",
    -1,
    spammethods
};

PyMODINIT_FUNC PyInit_spam()
{
    return PyModule_Create(&spammodule);
}

compilando:

from distutils.core import setup
from distutils.core import Extension


setup(
    name='spam',
    version='1.0',
    ext_modules=[Extension('spam', ['spam.c'])]
)