Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What tools are available to auto-produce documentation for a REST API written in Flask? [closed]

I'm looking for a quick way to auto produce REST API docs from a Flask REST API I've written. Does anyone know of tools that can do this and how I would markup the code?

like image 326
Martin Charlesworth Avatar asked Jan 12 '13 16:01

Martin Charlesworth


People also ask

Which tool is used for API documentation?

apiDoc. apiDoc is an open-source REST API documentation tool that automatically creates documentation from API descriptions in your source code.

Which of the following tool is used for automating and generating API documentation?

The tool that is used to develop API documentation is OpenAPI and Swagger.


2 Answers

I would recommend you Sphinx, you add your documentation as __doc__ and the autodoc module of Sphinx will generate the docs for you (docs.python.org also uses Sphinx). The markup is reStructuredText, similiar to Markdown (if you prefer Markdown, you can use pdoc).

e.g.:

@app.route('/download/<int:id>') def download_id(id):     '''This downloads a certain image specified by *id*'''     return ... 
like image 127
dav1d Avatar answered Oct 05 '22 14:10

dav1d


I really like Swagger because it allows to generate an API documentation by just adding a few decorators and comments into your code. There is a Flask Swagger available.

from flask import Flask from flask.ext.restful import  Api from flask_restful_swagger import swagger  app = Flask(__name__) api = swagger.docs(Api(app), apiVersion='1', api_spec_url="/api/v1/spec")  class Unicorn(Resource): "Describing unicorns" @swagger.operation(     notes='some really good notes' ) def get(self, todo_id): ... 

Then you can see your methods and notes in an html interface just by visiting /api/v1/spec (it serves needed static automatically). You can also just get all your API description in JSON and parse it otherwise.

like image 25
Clément Renaud Avatar answered Oct 05 '22 16:10

Clément Renaud