У меня есть следующий foo.pyx файл, который содержит класс cdef:
cdef class Foo:
cdef int test_1(self):
...
return 0
cdef int test_2(self):
...
return 0
и соответствующий foo.pxd :
cdef class Foo:
cdef int test_1(self)
cdef int test_2(self)
Я бы хотел защитить мой полученный pyd для экспорта только функции test_1 . Потому что (поправьте меня, если я ошибаюсь) обе функции импортируются в другие файлы pyx через cimport. Для этого они должны быть «экспортированы» в свой pyd, что означает, что они доступны вне pyd.
Я попытался удалить test_2 из объявлений (в foo.pxd), но я получил ошибку компиляции.
Мои вопросы:
- Есть ли способ управления тем, что экспортируется из pyd?
- Если нет, что я могу сделать, чтобы защитить или скрыть имена экспортируемых функций?
Боюсь, что кто-то, увидев экспортированную подпись функций pyd, догадывается, что он делает.