Swagger UI is a collection of HTML, JavaScript, and CSS assets that dynamically generate beautiful documentation from a Swagger-compliant API.

Overview

NPM version Build Status npm audit total GitHub contributors

monthly npm installs total docker pulls monthly packagist installs gzip size

Introduction

Swagger UI allows anyone — be it your development team or your end consumers — to visualize and interact with the API’s resources without having any of the implementation logic in place. It’s automatically generated from your OpenAPI (formerly known as Swagger) Specification, with the visual documentation making it easy for back end implementation and client side consumption.

General

👉🏼 Want to score an easy open-source contribution? Check out our Good first issue label.

🕰️ Looking for the older version of Swagger UI? Refer to the 2.x branch.

This repository publishes three different NPM modules:

  • swagger-ui is a traditional npm module intended for use in single-page applications that are capable of resolving dependencies (via Webpack, Browserify, etc).
  • swagger-ui-dist is a dependency-free module that includes everything you need to serve Swagger UI in a server-side project, or a single-page application that can't resolve npm module dependencies.
  • swagger-ui-react is Swagger UI packaged as a React component for use in React applications.

We strongly suggest that you use swagger-ui instead of swagger-ui-dist if you're building a single-page application, since swagger-ui-dist is significantly larger.

If you are looking for plain ol' HTML/JS/CSS, download the latest release and copy the contents of the /dist folder to your server.

Compatibility

The OpenAPI Specification has undergone 5 revisions since initial creation in 2010. Compatibility between Swagger UI and the OpenAPI Specification is as follows:

Swagger UI Version Release Date OpenAPI Spec compatibility Notes
3.18.3 2018-08-03 2.0, 3.0 tag v3.18.3
3.0.21 2017-07-26 2.0 tag v3.0.21
2.2.10 2017-01-04 1.1, 1.2, 2.0 tag v2.2.10
2.1.5 2016-07-20 1.1, 1.2, 2.0 tag v2.1.5
2.0.24 2014-09-12 1.1, 1.2 tag v2.0.24
1.0.13 2013-03-08 1.1, 1.2 tag v1.0.13
1.0.1 2011-10-11 1.0, 1.1 tag v1.0.1

Documentation

Usage

Customization

Development

Contributing

Integration Tests

You will need JDK of version 7 or higher as instructed here https://nightwatchjs.org/gettingstarted/#selenium-server-setup

Integration tests can be run locally with npm run e2e - be sure you aren't running a dev server when testing!

Browser support

Swagger UI works in the latest versions of Chrome, Safari, Firefox, and Edge.

Known Issues

To help with the migration, here are the currently known issues with 3.X. This list will update regularly, and will not include features that were not implemented in previous versions.

  • Only part of the parameters previously supported are available.
  • The JSON Form Editor is not implemented.
  • Support for collectionFormat is partial.
  • l10n (translations) is not implemented.
  • Relative path support for external files is not implemented.

Security contact

Please disclose any security-related issues or vulnerabilities by emailing [email protected], instead of using the public issue tracker.

Comments
  • File download via content-disposition header corrupts file

    File download via content-disposition header corrupts file

    lnowak (https://github.com/swagger-api/swagger-ui/pull/1238) noted an issue where a file download triggered via the Content-Disposition header will result in a link to download the file, but the file will be corrupt. I am also seeing this issue in my environment.

    The response headers: { "Cache-Control": "no-cache, no-store", "Content-Disposition": "attachment; filename="example.zip"", "Transfer-Encoding": "chunked", "Content-Type": "application/octet-stream" }

    This is the download URL that it displays in the UI. If I download via this link, I get a corrupt file. If I use the link directly from the browser, I get a valid download. blob:http%3A//localhost%3A8090/9222e8a1-8628-476f-9341-372d68729d58

    opened by lmprice 104
  • Swagger-ui oauth2 accesscode flow not working correctly

    Swagger-ui oauth2 accesscode flow not working correctly

    Hi All,

    I started using swagger-ui to use with oauth2 access code flow with interactive facility( Try it out feature) I downloaded latest master version and copied 'dist' folder and run 'live-server' by mounting to dist folder.It loads my test.yaml file and "Authorize" also will be appeared(But it is showing unlock icon though). Refer unlock-icon.png

    Anyway once i click Authorize button, it shows the popup and i can enter client id and secret too. Refer authorize-popup.png

    Then once i click Authorize button with correct client id and secret it will open a new window and i can see the generated code with the redirect url. But problem is, it won't close that window and it remain in the same page. That new window url something like this http://localhost:3200/oauth2-redirect.html?code=fs-QFeYgj-bpXLjs8Fbak2pm2DwZZs0hc4QU0gKV&state=RnJpIEp1biAwMiAyMDE3IDExOjU4OjQ2IEdNVCsxMDAwIChBRVNUKQ%3D%3D

    Can you just explain is this something on my code or defect? i spend more than 3 days to fix this issue with several tricks, but didn't success.

    My security definitions on the yaml file looks like follow

    securityDefinitions:
      OauthSecurity:
        type: oauth2
        flow: accessCode
        authorizationUrl: https://xxxxxx.xxxxx.xxxx/as/authorization.oauth2
        tokenUrl: https://yyyyy.yyyyy.yyyyy/as/token.oauth2
        grantType: authorization_code
        scopes:
          admin: Admin things
    
    security:
     - OauthSecurity:
        - admin
    

    Thank you very much for your help. Really looking forward for a quick reply :) authorize-popup unlock-icon

    opened by chanurahemal 87
  • Examples are not showing

    Examples are not showing

    Using v2.2.10 of Swagger UI I'm not seeing examples at all. When I'm editing with swagger-editor I do see the example shown properly. I used this for my method definition:

      /person/{email}/create:
        post:
          summary: Create a new account
          tags:
            - Person
          parameters:
            _... chop ..._
          responses:
            201:
              description: The new SQL ident and sport details 
              examples:
                application/json: |
                  [
                    12,
                    [
                      {
                        "sql_idnet" : 12,
                        "name" : "Basketball"
                      },
                      {
                        "sql_ident" : 13,
                        "name" : "Ice Hockey"
                      }
                    ]
                  ]
            412:
              description: The email address is already in use. 
    
    type: bug P2 version: 3.x cat: rendering epic: examples support needs: UX/design input has: swos 
    opened by grosch 76
  • Security Definitions- SwaggerUI

    Security Definitions- SwaggerUI

    Hi Team,

    Iam unable to load the security definitions through swagger UI documentations.

    Please let me know if i need to include any js file/ div classes.

    Thanks, Rajesh

    type: feature 
    opened by rajeshakt 74
  • Response headers not being displayed for either 200 or other responses

    Response headers not being displayed for either 200 or other responses

    Response headers not being displayed for either 200 or other results, error sample below shows the issue.

    In the sample below the ETag header is defined for the parameters and for the 200 and 405 responses, but it's only being show for the parameters.

    image

    {
        "swagger": "2.0",
        "info": {
            "version": "1.0.0",
            "title": "Test sample showing swagger error",
            "description": "Show that response headers are not rendered",
            "contact": {
                "name": "Troels Liebe Bentsen",
                "email": "[email protected]"
            }
        },
        "host": "localhost",
        "basePath": "/",
        "schemes": [
            "http"
        ],
        "consumes": [
            "application/json"
        ],
        "produces": [
            "application/json"
        ],
        "paths": {
            "/test": {
                "post": {
                    "summary": "Test",
                    "description": "Test stuff",
                    "operationId": "doTest",
                    "parameters": [
                        {
                            "in": "body",
                            "name": "body",
                            "required": true,
                            "schema": {
                                "type": "array",
                                "items": {
                                    "$ref": "#/definitions/test"
                                }
                            }                       
                        },
                        {
                            "in": "header",
                            "name": "ETag",
                            "description": "Used as caching key for future requests",
                            "type": "string"
                        }
                    ],
                    "responses": {
                        "200": {
                            "description": "Test stuff response",
                            "schema": {
                                "type": "array",
                                "items": {
                                    "$ref": "#/definitions/test"
                                }
                            },
                            "headers": {
                                "ETag": {
                                    "description": "Used as caching key for future requests",
                                    "type": "string"
                                }
                            }
                        },
                        "405": {
                            "description": "Invalid input",
                            "headers": {
                                "ETag": {
                                    "description": "Used as caching key for future requests",
                                    "type": "string"
                                }
                            }
                        }
                    },
                    "tags": ["test"]
                }
            }
        },
        "definitions": {
            "test": {
                "required": [
                    "test1"
                ],
                "properties": {
                    "test1": {
                        "type": "string"
                    }
                }
            }
        }
    }
    
    type: feature 
    opened by tlbdk 53
  • Problem sending parameters via POST

    Problem sending parameters via POST

    Hi all,

    I´m experimenting with swagger and swagger-ui with my REST API (Jersey). I have an operation named "addUser" (POST) that receives two parameters "id" and "name". When I try to test this operation via swagger-ui-1.1.1 I set values in their inputs (id and name) but when I send it to the server there´s not parameters in the request. It seems they are not being sent to the server. I have another three operations in my API (GET, PUT and DELETE) and works fine. I hope you can help me.

    Thanks and regards

    opened by marlandy 53
  • JSON Body Editor (Master PR)

    JSON Body Editor (Master PR)

    Feature proposal: JSON Body Editor

    Previous history

    This PR is a continuation of https://github.com/swagger-api/swagger-ui/pull/1088 You will find earlier informations/comments there about the history of this PR.

    Related work

    This is a proposal to add a JSON editor for body requests in swagger UI.

    This work is based on another open source project called Json-editor by Jeremy Dorn.

    You will be able to find a demo of Jeremy's editor here to give you an idea of the great potential of this editor.

    Configuration

    The editor can be enabled/disabled using the swagger configuration key jsonEditor :

          window.swaggerUi = new SwaggerUi({
            jsonEditor:true
          });
    

    The option is currently enabled by default (just because it is more practical for e2e tests).

    Visual preview

    This is how it looks like at the moment in a post request: capture

    Online preview

    You can try the UI with the editor here: http://thomsonreuters.github.io/swagger-ui/ you will need to have CORS enabled on your endpoint

    Backward compatibility

    According to the way swagger now works, Specs 1.2 are now automaticaly converted to 2.0.

    So it should work with 1.2 as well but I haven't not tested it yet.

    Current state of the implementation

    Please let me know how I could improve both the internal design (code, unit tests, configuration) and external design (css, user experience).

    External dependencies

    The following PR have been created on JSONEditor to implement this feature https://github.com/jdorn/json-editor/pull/461 (closed) https://github.com/jdorn/json-editor/pull/456 (open, need some rework) https://github.com/jdorn/json-editor/pull/512 (merged)

    So at the moment this PR is using a custom JSONEditor version until both remaining PR will be accepted.

    Tests

    Tested on http://petstore.swagger.io/v2/swagger.json https://raw.githubusercontent.com/jabr9983/swagger.json/master/swagger.json

    Not tested yet http://ringcentral.github.io/api-explorer-beta/swagger-ring.json https://api.swaggerhub.com/apis/fehguy/ringcentral-api/1.0

    opened by lepinayl 52
  • Add support for Maps / additionalProperties

    Add support for Maps / additionalProperties

    How to specify the swagger documentation annotation for generating model schema for Map attribute in a Java bean?

    //groovy code
    class Foo {
      int id
      String description
      Map<String, Bar> targets
      //few other attributes
    }
    

    For targets attribute, swaggerui shows 1 line but does not give the model schema for Bar class.

    targets (Map[string,Bar])
    

    How do I get Bar class Model schema as well in UI? Am using latest swagger library ('com.wordnik:swagger-jersey-jaxrs_2.10:1.3.8')

    type: feature 
    opened by newtechfellas 47
  • Oauth2 password flow

    Oauth2 password flow

    Hi. I'm trying to use the oauth2 feature with password flow from swagger 2.0 spec. I dont' know if I'm doing thing wrong or if there some missing stuff, but let me explain. This is my spec:

    swagger: '2.0'
    
    info:
      title: BakPak API
      description: BakPak server API
      version: '1.0.0'
    
    host: localhost:5000
    basePath: /api/v1
    
    schemes:
      - http
      - https
    
    consumes:
      - application/json
    
    produces:
      - application/json
    
    securityDefinitions:
      basicPassword:
        type: oauth2
        flow: password
        tokenUrl: http://localhost:5000/api/v1/token
        scopes:
          s1: Scope 1
          s2: Scope 2
    
    paths:
      /token:
        get:
          tags:
            - auth
          summary: Get an authentication token
          description: Get an authentication token
          operationId: GetToken
          responses:
            '200':
              description: ""
            default:
              description: Operation failed.
      /test:
        get:
          summary: Test endpoint
          description: Test endpoint
          responses:
            '200':
              description: ""
            default:
              description: Operation failed.
          security:
            - basicPassword:
              - s1
              - s2  
      /user:
        post:
          tags:
            - user
          summary: Add a user
          description: Add a user
          operationId: AddUser
          parameters:
            - name: body
              in: body
              description: Type can be `bp`, `facebook` or `google`.
              schema:
                $ref: '#/definitions/Credentials'
          responses:
            '200':
              description: ""
            default:
              description: Operation failed.
    
    definitions:
      Credentials:
        properties:
          type:
            type: string
          username:
            type: string
          password:
            type: string
          token:
            type: string
    

    I have a /test endpoint just to test oauth2. I remove the comment in index.html to enable oauth2 flow:

                initOAuth({
                  clientId: "your-client-id",
                  realm: "your-realms",
                  appName: "your-app-name"
                });
    

    When I click on the "on/off" button to authorize, a new windows browser is opened with the following url http://localhost:5000/swagger-ui/null&redirect_uri=http://localhost:5000/swagger-ui/o2c.html&realm=your-realms&client_id=your-client-id&scope=s1,s2.

    Note the null in the url. It is normal? I'm not super familiar with every aspect of oauth, but I was expecting a popup for username/password and somehow receiving at some endpoint a POST with a application/x-www-form-urlencoded in the request body like this: grant_type=password&username=johndoe&password=A3ddj3w

    reference: http://tools.ietf.org/html/rfc6749#section-4.3.2

    type: feature 
    opened by reginaldlouis 43
  • Mixed content issues due to XHR over HTTP made from HTTPS page

    Mixed content issues due to XHR over HTTP made from HTTPS page

    If the schemes parameter is configured (and not empty) for an API, Swagger UI picks the first [1] [2] scheme value up for API requests. For example:

    {
        "swagger": "2.0",
        "schemes": [
            "http",
            "https"
        ]
    }
    

    As a consequence, all requests will be made over HTTP.

    This cause "mixed content issues" when Swagger UI is served/hosted via HTTPS and yet makes regular HTTP requests, as explained above.

    [1] https://github.com/swagger-api/swagger-js/blob/master/lib/client.js#L274 [2] https://github.com/swagger-api/swagger-js/blob/master/lib/client.js#L290

    type: bug P3 
    opened by dalbani 42
  • Swagger-UI refuses to add request header

    Swagger-UI refuses to add request header

    I've been pulling my hair out on this, not sure if I'm doing something wrong? I have been unable to get a swagger-ui request to include ANY type of header. My Grape API uses an API token in the header for auth, and no matter what I do I cannot get it to show up in anything. I've tried all of the api-key example code, so I must be doing SOMETHING wrong.

    However, upon closer inspection, even the demo petstore app does not contain an api header in the request headers.

    screen shot 2015-05-06 at 2 52 21 am

    I'm using the readme/sample code verbatim right now -

    function addApiKeyAuthorization(){
            var key = encodeURIComponent($('#input_apiKey')[0].value);
            if(key && key.trim() != "") {
                var apiKeyAuth = new SwaggerClient.ApiKeyAuthorization("api_key", key, "query");
                window.swaggerUi.api.clientAuthorizations.add("api_key", apiKeyAuth);
                log("added key " + key);
            }
          }
    

    How can I get a request header of "api_key: value" to show up in request headers?

    type: support 
    opened by jaman1020 41
  • Don't Pre-populate Examples in Swagger UI Try it Out Feature

    Don't Pre-populate Examples in Swagger UI Try it Out Feature

    I am facing the same issue as another user has described in: https://stackoverflow.com/questions/74330421/dont-pre-populate-examples-in-swagger-ui-try-it-out-feature

    As in my opinion the issue is described very well in the provided article and I want to avoid duplication, I hope you do accept me not adhering to the bug report template.

    opened by fkreis 0
  • Error when optional formData field is not provided using Swagger UI POST Request

    Error when optional formData field is not provided using Swagger UI POST Request

    Hello, I am using swagger version 4.12.0. OpenAPI Spec 2.0. I have an API POST call where I am sending a formData file type OPTIONAL param in the request. But when using the swagger ui, for the case where I do not select any file for this optional param field. I receive this error: "[java.lang.ArrayIndexOutOfBoundsException: Array index out of range: -8190". The request works when I select a file for the request. It seems to fail before it even reaches my backend code.

    I was able to reproduce what I think is the same error on the swagger sample editor: Steps to reproduce:

    1. Open https://editor.swagger.io/
    2. Click Edit > Choose Load Petstore OAS 2.0
    3. On the right panel, try out POST /pet (Change first property id: from 0 to 100 , leave other fields as is) hit enter
    4. Go to post /pet/{petId}/uploadImage Try it out, set petId to 100, leave other formData fields empty. Hit enter
    5. See response: "message": "org.jvnet.mimepull.MIMEParsingException: Missing start boundary"
    6. On left side code panel, ctrl + F “/pet/{petId}/uploadImage:” the formData fields are both required: false.

    This is actually a regression, as before I updated to version 4.12.0, this same API used to work without any errors. I guess at some version level, some additional checking was added to the params where this issue was introduced.

    It looks like this fail might be because even though I do not add this optional formData field, the CURL request swagger UI sends still includes this header -> -H 'Content-Type: multipart/form-data'. When I try the curl command myself I see the same error, but if I remove this multipart/form-data contentType header field from the Curl request. It then succeeds.

    Thanks a lot for taking the time to look at this, hope this could be resolved..

    	"/myAPI":{
          "post":{
            "summary":"mySummary",
            "description":"myDescription",
            "operationId":"myAPIId",
            "x-display-name":"My API",
            "tags":[
              "My API"
            ],
            "produces":[
              "application/json"
            ],
            "parameters":[
              {
                "name":"name",
                "in":"query",
                "description":"name field",
                "required":true,
                "type":"string" 
              },       
              {
                "name":"file",
                "in":"formData",
                "description":"Upload file",
                "required":false,
                "type":"file" 
              }
            ],
    
    opened by JessNah 0
  • Cookie parameters not sent

    Cookie parameters not sent

    Q&A (please complete the following information)

    • OS: macOS and Windows
    • Browser: chrome
    • Version: 108.0.5359.98(Chrome Version)
    • Method of installation: npm
    • Swagger-UI version: latest (v4.15.5)
    • Swagger/OpenAPI version: OpenAPI 3.0

    Content & configuration

    I enter a value in the cookie parameter and execute it, but it is not set in the Request Header.

    スクリーンショット 2022-12-17 16 20 26

    Example Swagger/OpenAPI definition:

    {
        "openapi": "3.0.1",
        "servers": [
            {
                "url": "http://localhost:3200",
                "description": "Generated server url"
            }
        ],
        "paths": {
            "/cookie": {
                "get": {
                    "tags": [
                        "cookie-controller"
                    ],
                    "operationId": "index_6",
                    "parameters": [
                        {
                            "name": "aa",
                            "in": "query",
                            "required": false,
                            "schema": {
                                "type": "string"
                            }
                        },
                        {
                            "name": "test",
                            "in": "cookie",
                            "required": false,
                            "schema": {
                                "type": "string"
                            }
                        }
                    ],
                    "responses": {
                        "404": {
                            "description": "example response"
                        },
                        "200": {
                            "description": "example response",
                            "content": {
                                "*/*": {
                                    "schema": {
                                        "type": "string"
                                    }
                                }
                            }
                        }
                    }
                }
            },
        }
    }
    

    Swagger-UI configuration options:

    SwaggerUI({
      // your config options here
    })
    

    Default value not specified.

    Describe the bug you're encountering

    I enter a value in the cookie parameter and execute it, but it is not set in the Request Header.

    To reproduce...

    Same as above.

    Expected behavior

    I want the value to be set in the cookie in the Request header.

    Screenshots

    Same as above

    opened by uc4w6c 0
  • Add an option to bypass the

    Add an option to bypass the "try it out" button

    In swagger openapi v2 UI we could use the API right away - open the route and execute. In this version there is one more click which you have to do all the time. So now we have to do three clicks to execute a route function:

    1. Expand the route
    2. Click Try it out
    3. Click Execute

    I'd understand this change if you'd expand all routes by default, but then you don't allow to enter the parameters when "try it out" is not enabled. But you still display those parameters, then why not hide them and not disable them? This brings frustration.

    What is the reasoning behind this UI that's harder to use? I understand that sometimes you want to browse but then you'd probably want to disable the interaction altogether for the whole swagger UI and not have it under a button under each route. So you could move this button to the top of the page for all routes. So one "try it out" click for all of them would probably be better here.

    And now we have this weird compromise where we can't click Execute for specific routes immediately but we can't disable specific routes too. If you wanted this configurability then you should've added it and not added a button that guards against something that can't be configured.

    Again - I'm not sure what was the original idea but the result is not something useful. I think if you want to enable editing then you should at least move this button to the top of the UI because there is no difference if I press it at the top or for each route separately. And on top of that if you collapse and expand a route group then the Try it Out button becomes disabled. This is not good.

    opened by Invertisment 1
  • (Open-)AI testdata generator

    (Open-)AI testdata generator

    Content & configuration

    An AI tool to generate testdata for a given endpoint, based on a configured database.

    Attaching a database (e.g. mysql / mariadb) to a AI-Model and the Codebase enabling swagger to fetch testdata for a given endpoint.

    If this is in scope for swagger, it would be a great addition to automate and simplify project texting

    opened by rosariop 0
  • Authentication with Reverse Proxy from Swagger UI

    Authentication with Reverse Proxy from Swagger UI

    The API is deployed without any Security Scheme provided in the swagger.json, however, the API is accessed over reverse proxy with Basic Username/password Authentication. Since the security scheme is not provided, the swagger UI won't display the "Authorize" button. Is there any way to enable/show "Authorize" button without Security Scheme or provide such proxy configuration in Swagger spec itself?

    opened by vpawar-tibco 0
Releases(v4.15.5)
Swagger Documentation Generator for Django REST Framework: deprecated

Django REST Swagger: deprecated (2019-06-04) This project is no longer being maintained. Please consider drf-yasg as an alternative/successor. I haven

Marc Gibbons 2.6k Jan 3, 2023
📖 Generate markdown API documentation from Google-style Python docstring. The lazy alternative to Sphinx.

lazydocs Generate markdown API documentation for Google-style Python docstring. Getting Started • Features • Documentation • Support • Contribution •

Machine Learning Tooling 118 Dec 31, 2022
SqlAlchemy Flask-Restful Swagger Json:API OpenAPI

SAFRS: Python OpenAPI & JSON:API Framework Overview Installation JSON:API Interface Resource Objects Relationships Methods Custom Methods Class Method

Thomas Pollet 361 Nov 16, 2022
A swagger tool for tornado, using python to write api doc!

SwaggerDoc About A swagger tool for tornado, using python to write api doc! Installation pip install swagger-doc Quick Start code import tornado.ioloo

aaashuai 1 Jan 10, 2022
Automated Integration Testing and Live Documentation for your API

Automated Integration Testing and Live Documentation for your API

ScanAPI 1.3k Dec 30, 2022
API Documentation for Python Projects

API Documentation for Python Projects. Example pdoc -o ./html pdoc generates this website: pdoc.dev/docs. Installation pip install pdoc pdoc is compat

mitmproxy 1.4k Jan 7, 2023
Flask-Rebar combines flask, marshmallow, and swagger for robust REST services.

Flask-Rebar Flask-Rebar combines flask, marshmallow, and swagger for robust REST services. Features Request and Response Validation - Flask-Rebar reli

PlanGrid 223 Dec 19, 2022
Automated generation of real Swagger/OpenAPI 2.0 schemas from Django REST Framework code.

drf-yasg - Yet another Swagger generator Generate real Swagger/OpenAPI 2.0 specifications from a Django Rest Framework API. Compatible with Django Res

Cristi Vîjdea 3k Dec 31, 2022
Watch a Sphinx directory and rebuild the documentation when a change is detected. Also includes a livereload enabled web server.

sphinx-autobuild Rebuild Sphinx documentation on changes, with live-reload in the browser. Installation sphinx-autobuild is available on PyPI. It can

Executable Books 440 Jan 6, 2023
Main repository for the Sphinx documentation builder

Sphinx Sphinx is a tool that makes it easy to create intelligent and beautiful documentation for Python projects (or other documents consisting of mul

null 5.1k Jan 2, 2023
A curated list of awesome tools for Sphinx Python Documentation Generator

Awesome Sphinx (Python Documentation Generator) A curated list of awesome extra libraries, software and resources for Sphinx (Python Documentation Gen

Hyunjun Kim 831 Dec 27, 2022
Literate-style documentation generator.

888888b. 888 Y88b 888 888 888 d88P 888 888 .d8888b .d8888b .d88b. 8888888P" 888 888 d88P" d88P" d88""88b 888 888 888

Pycco 808 Dec 27, 2022
Main repository for the Sphinx documentation builder

Sphinx Sphinx is a tool that makes it easy to create intelligent and beautiful documentation for Python projects (or other documents consisting of mul

null 5.1k Jan 4, 2023
Project documentation with Markdown.

MkDocs Project documentation with Markdown. View the MkDocs documentation. Project release notes. Visit the MkDocs wiki for community resources, inclu

MkDocs 15.6k Jan 2, 2023
Your Project with Great Documentation.

Read Latest Documentation - Browse GitHub Code Repository The only thing worse than documentation never written, is documentation written but never di

Timothy Edmund Crosley 809 Dec 28, 2022
:blue_book: Automatic documentation from sources, for MkDocs.

mkdocstrings Automatic documentation from sources, for MkDocs. Features Python handler features Requirements Installation Quick usage Features Languag

Timothée Mazzucotelli 1.1k Dec 31, 2022
Run `black` on python code blocks in documentation files

blacken-docs Run black on python code blocks in documentation files. install pip install blacken-docs usage blacken-docs provides a single executable

Anthony Sottile 460 Dec 23, 2022
:blue_book: Automatic documentation from sources, for MkDocs.

mkdocstrings Automatic documentation from sources, for MkDocs. Features - Python handler - Requirements - Installation - Quick usage Features Language

null 1.1k Jan 4, 2023
Seamlessly integrate pydantic models in your Sphinx documentation.

Seamlessly integrate pydantic models in your Sphinx documentation.

Franz Wöllert 71 Dec 26, 2022