site_name: FastAPI
site_description: FastAPI framework, high performance, easy to learn, fast to code, ready for production

theme:
    name: 'material'
    palette:
      primary: 'teal'
      accent: 'amber'
    logo: 'img/icon-white.svg'
    favicon: 'img/favicon.png'

repo_name: tiangolo/fastapi
repo_url: https://github.com/tiangolo/fastapi
edit_uri: ''
google_analytics:
    - 'UA-133183413-1'
    - 'auto'

nav:
    - FastAPI: 'index.md'
    - Features: 'features.md'
    - Python types intro: 'python-types.md'
    - Tutorial - User Guide:
        - Tutorial - User Guide - Intro: 'tutorial/intro.md'
        - First Steps: 'tutorial/first-steps.md'
        - Path Parameters: 'tutorial/path-params.md'
        - Query Parameters: 'tutorial/query-params.md'
        - Request Body: 'tutorial/body.md'
        - Query Parameters and String Validations: 'tutorial/query-params-str-validations.md'
        - Path Parameters and Numeric Validations: 'tutorial/path-params-numeric-validations.md'
        - Body - Multiple Parameters: 'tutorial/body-multiple-params.md'
        - Body - Schema: 'tutorial/body-schema.md'
        - Body - Nested Models: 'tutorial/body-nested-models.md'
        - Extra data types: 'tutorial/extra-data-types.md'
        - Cookie Parameters: 'tutorial/cookie-params.md'
        - Header Parameters: 'tutorial/header-params.md'
        - Response Model: 'tutorial/response-model.md'
        - Extra Models: 'tutorial/extra-models.md'
        - Response Status Code: 'tutorial/response-status-code.md'
        - Form Data: 'tutorial/request-forms.md'
        - Request Files: 'tutorial/request-files.md'
        - Request Forms and Files: 'tutorial/request-forms-and-files.md'
        - Handling Errors: 'tutorial/handling-errors.md'
        - Path Operation Configuration: 'tutorial/path-operation-configuration.md'
        - Path Operation Advanced Configuration: 'tutorial/path-operation-advanced-configuration.md'
        - Additional Status Codes: 'tutorial/additional-status-codes.md'
        - JSON compatible encoder: 'tutorial/encoder.md'
        - Body - updates: 'tutorial/body-updates.md'
        - Return a Response directly: 'tutorial/response-directly.md'
        - Custom Response Class: 'tutorial/custom-response.md'
        - Additional Responses in OpenAPI: 'tutorial/additional-responses.md'
        - Response Cookies: 'tutorial/response-cookies.md'
        - Response Headers: 'tutorial/response-headers.md'
        - Response - Change Status Code: 'tutorial/response-change-status-code.md'
        - Dependencies:
            - First Steps: 'tutorial/dependencies/first-steps.md'
            - Classes as Dependencies: 'tutorial/dependencies/classes-as-dependencies.md'
            - Sub-dependencies: 'tutorial/dependencies/sub-dependencies.md'
            - Dependencies in path operation decorators: 'tutorial/dependencies/dependencies-in-path-operation-decorators.md'
            - Advanced Dependencies: 'tutorial/dependencies/advanced-dependencies.md'
        - Security: 
            - Security Intro: 'tutorial/security/intro.md'
            - First Steps: 'tutorial/security/first-steps.md'
            - Get Current User: 'tutorial/security/get-current-user.md'
            - Simple OAuth2 with Password and Bearer: 'tutorial/security/simple-oauth2.md'
            - OAuth2 with Password (and hashing), Bearer with JWT tokens: 'tutorial/security/oauth2-jwt.md'
            - OAuth2 scopes: 'tutorial/security/oauth2-scopes.md'
            - HTTP Basic Auth: 'tutorial/security/http-basic-auth.md'
        - Middleware: 'tutorial/middleware.md'    
        - CORS (Cross-Origin Resource Sharing): 'tutorial/cors.md'    
        - Using the Request Directly: 'tutorial/using-request-directly.md'    
        - SQL (Relational) Databases: 'tutorial/sql-databases.md'
        - Async SQL (Relational) Databases: 'tutorial/async-sql-databases.md'
        - NoSQL (Distributed / Big Data) Databases: 'tutorial/nosql-databases.md'
        - Bigger Applications - Multiple Files: 'tutorial/bigger-applications.md'
        - Background Tasks: 'tutorial/background-tasks.md'
        - Sub Applications - Behind a Proxy: 'tutorial/sub-applications-proxy.md'
        - Application Configuration: 'tutorial/application-configuration.md'
        - Static Files: 'tutorial/static-files.md'
        - Templates: 'tutorial/templates.md'
        - GraphQL: 'tutorial/graphql.md'
        - WebSockets: 'tutorial/websockets.md'
        - 'Events: startup - shutdown': 'tutorial/events.md'
        - Testing: 'tutorial/testing.md'
        - Testing Dependencies with Overrides: 'tutorial/testing-dependencies.md'
        - Debugging: 'tutorial/debugging.md'
        - Extending OpenAPI: 'tutorial/extending-openapi.md'
    - Concurrency and async / await: 'async.md'
    - Deployment: 'deployment.md'
    - Project Generation - Template: 'project-generation.md'
    - Alternatives, Inspiration and Comparisons: 'alternatives.md'
    - History, Design and Future: 'history-design-future.md'
    - External Links and Articles: 'external-links.md'
    - Benchmarks: 'benchmarks.md'
    - Help FastAPI - Get Help: 'help-fastapi.md'
    - Development - Contributing: 'contributing.md'
    - Release Notes: release-notes.md

markdown_extensions:
  - markdown.extensions.codehilite:
      guess_lang: false
  - markdown_include.include:
      base_path: docs
  - admonition
  - codehilite
  - extra