Manipulando parâmetros padrão no cython

Estou quebrando algum código c ++ usando cython e não tenho certeza de qual é a melhor maneira de lidar com parâmetros com valores padrão.

No meu código c ++, tenho uma função para a qual os parâmetros têm valores padrão. Eu gostaria de agrupá-los de forma que esses valores padrão sejam usados se os parâmetros não forem fornecidos. Existe uma maneira de fazer isso?

Neste ponto, a única maneira que eu posso fornecer para fornecer parâmetros de opção é defini-los como parte do código python (no diretóriodef func assentamento empycode.pyx abaixo), mas tenho padrões definidos mais de uma vez que não quero.

cppcode.h:

int init(const char *address=0, int port=0, int en_msg=false, int error=0);


pycode_c.pxd:

cdef extern from "cppcode.h":
int func(char *address, int port, int en_msg, int error)


pycode.pyx:

cimport pycode_c
def func(address, port, en_msg, error):
    return pycode_c.func(address, port, en_msg, error)

questionAnswers(1)

yourAnswerToTheQuestion