2010-03-14 10 views
18

Wydaje się, że istnieje mnóstwo narzędzi do dokumentacji dla Pythona. Kolejny, na który natknąłem, to epydoc. Wygląda na to, że Sphinx jest standardem de facto, ponieważ służy do generowania oficjalnych dokumentów w języku Python. Czy ktoś może posortować dla mnie aktualny stan narzędzi do dokumentacji Pythona?Jaki jest związek między docutils i Sphinx?

+0

Obecny stan? Co to znaczy? Czy możesz rozwinąć to? Sfinks wymaga docutils; epydoc może używać tej samej notacji RST. Co chcesz wiedzieć? Czy mógłbyś to sprecyzować? –

+0

np. Jakie narzędzia mają silne wsparcie społeczności, aktywny rozwój? Czy istnieje rozwiązanie zasiedziałe, czy też wiele z nich nie ma znacznie większych po? – allyourcode

+0

Może powinieneś edytować tytuł tego pytania. –

Odpowiedz

22

epydoc i Sphinx to różne rodzaje narzędzi.

one są takie same w tym, że:

  • Zarówno użyć ReST poprzez docutils.
  • Oba są bardzo pythonowy w ich naciskiem
  • Oba mogą generować HTML i PDF dokumentacji

Różnią się one w ich naciskiem.

  • Epydoc koncentruje się na dokumentacji API (Developer). Dzięki Epydoc uzyskasz szybsze wyniki. Wskazujesz na kod źródłowy i coś dostajesz. Tego właśnie chcę z narzędzia do dokumentacji interfejsu API.
  • Sphinx koncentruje się na dokumentacji ogólnej (User). Podczas gdy Sphinx pobiera wiele informacji z twojego kodu źródłowego, musisz włożyć w to trochę więcej. Sphinx może generować dokumentację API, ale nie jest to tak proste, a IMO nie robi tak dobrze jak Epydoc. Wiem, że niektórzy nie będą się zgadzać, ponieważ Sphinx został wybrany na Python. ALE, to zależy od tego, ile pracy chcesz włożyć w to. Kocham Sfinksa za ogólną dokumentację.

To zależy od tego, ile pracy chcesz włożyć i co dokumentujesz.

+1

Dzięki za wyjaśnienie, co te narzędzia mają wspólnego (np. Ich związek z docutils), a także ich różnice. Co sprawia, że ​​epydoc jest lepszy do dokumentacji API i Sphinx lepiej do dokumentacji funkcjonalnej? Wspomniałeś, że obie używają reST. Wydaje się, że jest dużo nakładek. Czy to tylko kwestia wygody? Również rozwój epidoka nie wydaje się być bardzo aktywny. Ostatnie zatwierdzenie miało miejsce w lutym 2009 r., A ostatnia korespondencja na liście rozwijanej miała miejsce w maju 2009 r. – allyourcode

+2

Cóż, łatwa odpowiedź na pytanie, dlaczego jedna jest lepsza z jednej, a druga to taka, w jakiej zostały zaprojektowane. Epydoc jest po prostu wyciągnąć z kodu i Sphinx jest stworzony, aby wygenerować wiele jego dokumentacji z plików ReST piszesz. Istnieje wiele pokryć. Sphinx jest nowym dzieckiem na bloku. Słyszałem plotki, że w .7 będzie miało o wiele lepsze auto-generacje. Mam dużo szacunku dla Epydoc, ale Sphinx wydaje się mieć teraz cały impet. Podoba mi się, ponieważ wygląda jak dokumentacja python.org I myślę, że wygląda lepiej. –

+2

Sphinx nie koncentruje się na ogólnej dokumentacji użytkownika. Sphinx to narzędzie, które pomaga napisać pełną i szczegółową dokumentację, której po prostu nie można uzyskać, łącząc polecenia. Również Sphinx będzie obsługiwał tak zwane domeny z 1.0, które pozwolą ci dokumentować projekt napisany w wielu językach, na przykład webapp napisany w Pythonie, Javascript i C. – DasIch

2

Niedawno zmieniłem z Python2 na Python3 i odkryłem, że nie było żadnego pakietu Epydoc dla Python3. Wygląda więc na to, że w Pythonie 3 wyraźnie skupiono się na używaniu Sphinx jako dokumentacji API.

Powiązane problemy