Поэзия + Сфинкс + Китон

Я использую поэзию для создания своего пакета cython. У меня есть строки документации в стиле NumPy во всех функциях и классах. Сейчас я хочу добавить автоматическую документацию Sphinx и опубликовать ее в Read the Docs.

Я прочитал эту тему Как использовать Sphinx с Cython? и понимаю, что сначала мне нужно скомпилировать файлы .pyx. Однако, когда я вызываю poetry build, в конце концов я получаю только файлы .tar.gz и .whl, а не файлы .pyd или .so.

Итак, вопрос следующий: есть ли способы вставить обратные вызовы в процесс сборки поэзии, чтобы при вызове с каким-либо аргументом документы генерировались автоматически?

Я также буду признателен за ссылки на пакеты, которые используют поэзию, сфинкс и китон вместе, чтобы я мог учиться у них.


person Ivan Mishalkin    schedule 18.09.2019    source источник


Ответы (1)


Я написал небольшой учебник с примером. Вы можете найти его здесь: https://github.com/iamishalkin/cyrtd

Важные точки:

Добавьте readthedocs.yml

version: 2

python:
  install:
    - method: pip
      path: .
      extra_requirements:
        - docs
    - method: pip

sphinx:
  configuration: docs/source/conf.py

Добавьте зависимости в pyproject.toml:

[tool.poetry.dependencies]
python = "^3.7"
cython = "^0.29.13"

sphinx = { version = "^2.2", optional = true }
sphinx_rtd_theme = { version = "^0.4.3", optional = true  }

[tool.poetry.extras]
docs = ["sphinx", "sphinx_rtd_theme"]

В панели управления ReadTheDocs установите флажок «Установить проект».

Есть один неэлегантный обходной путь с setup.py. Если вы знаете, как победить эту проблему, пожалуйста, дайте мне знать.

person Ivan Mishalkin    schedule 30.09.2019