Как защитить Cython .pyd? - PullRequest
       26

Как защитить Cython .pyd?

1 голос
/ 12 марта 2019

У меня есть следующий 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, догадывается, что он делает.

...