Créer automatiquement la documentation Python avec Sphinx

introduction

Bonjour à tous! Êtes-vous en train d'écrire Python? Je crée actuellement un service utilisant Python + django, mais comme vous êtes familier avec Pythonista, vous savez que Python peut avoir une docstring. Par exemple, exécutons un script simple comme celui-ci:

# -*- coding: utf-8 -*-
from __future__ import print_function


def foobar():
    u"C'est une fonction dénuée de sens."
    pass


print(foobar.__doc__)

En Python, vous pouvez attribuer le premier littéral de chaîne qui apparaît dans une fonction, une classe ou une méthode à __doc__ et découvrir plus tard ce que signifie cette fonction. C'est une fonctionnalité intéressante, mais c'est un gaspillage si vous ne pouvez citer que les écrans de la console interactive de Python, les IDE ou divers plugins pour Python.

Donc, si vous utilisez un outil de document appelé Sphinx que Pythonista utilise souvent, cette Docstring sera réunie en une seule. Cette commande est «sphinx-apidoc». Pour plus de détails sur la manière de l'utiliser, veuillez consulter le Document officiel. Espérons qu'un projet Sphinx sera lancé.

Maintenant, en faisant le test, testez avec watchdog ou sniffer Il semble que de nombreuses personnes se connectent et lancent le test chaque fois que le fichier est mis à jour. Par conséquent, j'utilise également le document comme crochet et je le génère automatiquement.

Voici un exemple de sniffer.

@runnable
def execute(*args):
    from subprocess import call
    call('cd ../docs;make html', shell=True)
    return call(
        'python manage.py test users --failfast',
        shell=True) == 0

Pour Linux, sphinx crée un Makefile et construit la documentation à partir de la commande make. En créant des hooks comme celui-ci, vous aurez toujours la dernière documentation à portée de main et vous pourrez vérifier les erreurs de syntaxe reSt involontaires.

Gardez simplement à l'esprit que si vous n'incluez pas le répertoire du document en tant que fichier .gitignore dans Git, cela peut être très ennuyeux.

Bien sûr, certaines personnes peuvent l'utiliser dans un projet dans une autre langue car les performances de génération de documents de Sphinx sont si bonnes, pas dans un projet Python. De plus, certaines personnes peuvent l'utiliser pour fabriquer des matériaux normalement. Dans un tel cas, la combinaison de «sniffer» + «sphinx» est très confortable et est recommandée. Bien sûr, vous pouvez créer d'autres outils de gestion de mise à jour de fichiers.

Recommended Posts

Créer automatiquement la documentation Python avec Sphinx
Écrire de la documentation dans Sphinx avec Python Livereload
Essayez de générer automatiquement des documents Python avec Sphinx
Créer un environnement python3 avec ubuntu 16.04
Construire un environnement python avec direnv
Construisons git-cat avec Python
Compiler la documentation Sphinx avec Wercker
Construire un environnement Mysql + Python avec docker
Construire mlpy avec python3.3 (64 bits) (Windows 64 bits)
Créer une documentation de projet Python dans Sphinx
Construisez Vim avec MinGW. (+ lua, + python)
Construire Python 1.0
Créer un environnement Jupyter Lab (Python) avec Docker
Programmes Python de document HTML avec Sphinx
Distribution totale automatique du deck JCG avec Python
Premiers pas avec l'outil de documentation Sphinx
Créez un environnement virtuel pour python avec pyenv
[Python] Utiliser automatiquement le navigateur avec Selenium
Créez un environnement Python moderne avec Neovim
Construction d'environnement AI / Machine Learning avec Python
FizzBuzz en Python3
Grattage avec Python
Statistiques avec python
Grattage avec Python
Python avec Go
Intégrer avec Python
AES256 avec python
Testé avec Python
python commence par ()
avec syntaxe (Python)
Bingo avec python
Zundokokiyoshi avec python
Excel avec Python
Micro-ordinateur avec Python
Cast avec python
Rechercher et télécharger automatiquement des vidéos YouTube avec Python
Créer un environnement python avec pyenv sur EC2 (ubuntu)
Créer un environnement de développement Python avec Visual Studio Code
Créez un environnement python avec ansible sur centos6
[Python] Créer un environnement de développement Django avec Docker
Créer un environnement de construction python3 avec Sublime Text3
Formater automatiquement le code Python en code compatible PEP8 avec Emacs
Construire un environnement Python avec OSX Elcapitan
Créez rapidement un environnement Python Django avec IntelliJ
Créer un environnement d'apprentissage automatique Python avec des conteneurs
Créer un environnement d'exécution python avec VS Code
Communication série avec Python
Zip, décompressez avec python
Jugement des nombres premiers avec Python
Python avec eclipse + PyDev.
Communication de socket avec Python
Analyse de données avec python 2
Grattage en Python (préparation)
Collez automatiquement des images dans des matériaux Powerpo avec python + α
Essayez de gratter avec Python.
Recherche séquentielle avec Python
"Orienté objet" appris avec python
Exécutez Python avec VBA