This code generator creates FastAPI app from an openapi file.

Overview

fastapi-code-generator

This code generator creates FastAPI app from an openapi file.

PyPI version Downloads PyPI - Python Version codecov license Code style: black

This project is an experimental phase.

fastapi-code-generator uses datamodel-code-generator to generate pydantic models

Help

See documentation for more details.

Installation

To install fastapi-code-generator:

$ pip install fastapi-code-generator

Usage

The fastapi-code-generator command:

Usage: fastapi-codegen [OPTIONS]

Options:
  -i, --input FILENAME     [required]
  -o, --output PATH        [required]
  -t, --template-dir PATH
  --install-completion     Install completion for the current shell.
  --show-completion        Show completion for the current shell, to copy it
                           or customize the installation.

  --help                   Show this message and exit.

Example

OpenAPI

$ fastapi-codegen --input api.yaml --output app
api.yaml

openapi: "3.0.0"
info:
  version: 1.0.0
  title: Swagger Petstore
  license:
    name: MIT
servers:
  - url: http://petstore.swagger.io/v1
paths:
  /pets:
    get:
      summary: List all pets
      operationId: listPets
      tags:
        - pets
      parameters:
        - name: limit
          in: query
          description: How many items to return at one time (max 100)
          required: false
          schema:
            type: integer
            format: int32
      responses:
        '200':
          description: A paged array of pets
          headers:
            x-next:
              description: A link to the next page of responses
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Pets"
        default:
          description: unexpected error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
                x-amazon-apigateway-integration:
                  uri:
                    Fn::Sub: arn:aws:apigateway:${AWS::Region}:lambda:path/2015-03-31/functions/${PythonVersionFunction.Arn}/invocations
                  passthroughBehavior: when_no_templates
                  httpMethod: POST
                  type: aws_proxy
    post:
      summary: Create a pet
      operationId: createPets
      tags:
        - pets
      responses:
        '201':
          description: Null response
        default:
          description: unexpected error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
                x-amazon-apigateway-integration:
                  uri:
                    Fn::Sub: arn:aws:apigateway:${AWS::Region}:lambda:path/2015-03-31/functions/${PythonVersionFunction.Arn}/invocations
                  passthroughBehavior: when_no_templates
                  httpMethod: POST
                  type: aws_proxy
  /pets/{petId}:
    get:
      summary: Info for a specific pet
      operationId: showPetById
      tags:
        - pets
      parameters:
        - name: petId
          in: path
          required: true
          description: The id of the pet to retrieve
          schema:
            type: string
      responses:
        '200':
          description: Expected response to a valid request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Pets"
        default:
          description: unexpected error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
    x-amazon-apigateway-integration:
      uri:
        Fn::Sub: arn:aws:apigateway:${AWS::Region}:lambda:path/2015-03-31/functions/${PythonVersionFunction.Arn}/invocations
      passthroughBehavior: when_no_templates
      httpMethod: POST
      type: aws_proxy
components:
  schemas:
    Pet:
      required:
        - id
        - name
      properties:
        id:
          type: integer
          format: int64
        name:
          type: string
        tag:
          type: string
    Pets:
      type: array
      description: list of pet
      items:
        $ref: "#/components/schemas/Pet"
    Error:
      required:
        - code
        - message
      properties:
        code:
          type: integer
          format: int32
        message:
          type: string

app/main.py:

# generated by fastapi-codegen:
#   filename:  api.yaml
#   timestamp: 2020-06-14T10:45:22+00:00

from __future__ import annotations

from typing import Optional

from fastapi import FastAPI, Query

from .models import Pets

app = FastAPI(version="1.0.0", title="Swagger Petstore", license="{'name': 'MIT'}",)


@app.get('/pets', response_model=Pets)
def list_pets(limit: Optional[int] = None) -> Pets:
    """
    List all pets
    """
    pass


@app.post('/pets', response_model=None)
def create_pets() -> None:
    """
    Create a pet
    """
    pass


@app.get('/pets/{pet_id}', response_model=Pets)
def show_pet_by_id(pet_id: str = Query(..., alias='petId')) -> Pets:
    """
    Info for a specific pet
    """
    pass

app/models.py:

# generated by datamodel-codegen:
#   filename:  api.yaml
#   timestamp: 2020-06-14T10:45:22+00:00

from typing import List, Optional

from pydantic import BaseModel, Field


class Pet(BaseModel):
    id: int
    name: str
    tag: Optional[str] = None


class Pets(BaseModel):
    __root__: List[Pet] = Field(..., description='list of pet')


class Error(BaseModel):
    code: int
    message: str

Custom Template

If you want to generate custom *.py files then you can give custom template directory fastapi-code-generator as -t or --template-dir options of the command.

fastapi-code-generator search jinja2 template files in given template directory.

These files will be rendered and write to the output directory. Also, the generated file name will be created template file name which extension is replace to *.py.

Variables

You can use below variables in jinja2 template

  • imports all imports statements
  • info all info statements
  • operations operations is list of operation
    • operation.type HTTP METHOD
    • operation.path Path
    • operation.snake_case_path Snake-cased Path
    • operation.response response object
    • operation.function_name function name is created operationId or METHOD + Path
    • operation.snake_case_arguments Snake-cased function arguments
    • operation.security Security
    • operation.summary a summary

default template

main.jinja2

from __future__ import annotations

from fastapi import FastAPI

{{imports}}

app = FastAPI(
    {% if info %}
    {% for key,value in info.items() %}
    {{ key }} = "{{ value }}",
    {% endfor %}
    {% endif %}
    )


{% for operation in operations %}
@app.{{operation.type}}('{{operation.snake_case_path}}', response_model={{operation.response}})
def {{operation.function_name}}({{operation.snake_case_arguments}}) -> {{operation.response}}:
    {%- if operation.summary %}
    """
    {{ operation.summary }}
    """
    {%- endif %}
    pass
{% endfor %}

PyPi

https://pypi.org/project/fastapi-code-generator

License

fastapi-code-generator is released under the MIT License. http://www.opensource.org/licenses/mit-license

Comments
  • $refs in parameter is not processed

    $refs in parameter is not processed

    I expect

    $refs in parameters to be processed, eg

    paths:
      /foo:
        parameters:
        - $ref: '#/components/parameters/MyParam'
    components:
      parameters:
        MyParam:
          name: foo
          schema:
            type: string
    

    Instead

    I get KeyError

      File "/usr/local/lib/python3.8/site-packages/fastapi_code_generator/parser.py", line 207, in get_parameter_type
        schema: JsonSchemaObject = JsonSchemaObject.parse_obj(parameter["schema"])
    KeyError: 'schema'
    
    enhancement released 
    opened by ioggstream 29
  • Sort generated required body and query/path parameters

    Sort generated required body and query/path parameters

    Bug report

    Given OAS3 like this:

    paths:
      /{ueId}/sdm-subscriptions:
        post:
          summary: subscribe to notifications
          operationId: Subscribe
          tags:
            - Subscription Creation
          parameters:
            - name: ueId
              in: path
              description: Identity of the user
              required: true
              schema:
                $ref: 'http://localhost:8081/29.571/16.7.0/TS29571_CommonData.yaml#/components/schemas/VarUeId'
          requestBody:
            content:
              application/json:
                schema:
                  $ref: '#/components/schemas/SdmSubscription'
            required: true
    

    Expected behaviour: The required body is generated BEFORE the optional parameters in the Python code.

    image

    Actual behaviour: The required body is generated AFTER the optional parameters in the Python code. I have to bring it into the right order by hand to solve the issue.

    image

    Solution: Put the body function parameter before the other function parameters at the beginning of the parameter list.

    Absolutely minor bug, but I thought I report it. Thanks!

    bug released 
    opened by oktavlachs 7
  • Add the various parameter `in` operators for query, path, header, bod…

    Add the various parameter `in` operators for query, path, header, bod…

    …y, form

    For example, something like:

      parameters:
        x_org:
          name: x-org
          in: header
          description: list of organization ids
          required: false
          schema:
            type: array
            items:
              type: integer
              format: int32
        x_org_query:
          name: x-org-query
          in: query
          description: list of organization ids in the query
          required: false
          schema:
            type: array
            items:
              type: integer
              format: int32
        x_org_body:
          name: x-org-body
          in: body
          description: list of organization ids in the body
          required: false
          schema:
            type: array
            items:
              type: integer
              format: int32
    
    opened by allen-munsch 5
  • Request body assumed always ref

    Request body assumed always ref

    Seems like codegen (0.0.13) expects:

          requestBody:
            content:
              application/json:
                schema:
                  $ref: "#/components/schemas/Something"
    

    and does not accept:

          requestBody:
            content:
              application/json:
                schema:
                  type: string
    

    Log:

    Traceback (most recent call last):
      File "/Users/victor/megad-heated-floor-thermostat/.venv/bin/fastapi-codegen", line 8, in <module>
        sys.exit(app())
      File "/Users/victor/megad-heated-floor-thermostat/.venv/lib/python3.8/site-packages/typer/main.py", line 213, in __call__
        return get_command(self)()
      File "/Users/victor/megad-heated-floor-thermostat/.venv/lib/python3.8/site-packages/click/core.py", line 829, in __call__
        return self.main(*args, **kwargs)
      File "/Users/victor/megad-heated-floor-thermostat/.venv/lib/python3.8/site-packages/click/core.py", line 782, in main
        rv = self.invoke(ctx)
      File "/Users/victor/megad-heated-floor-thermostat/.venv/lib/python3.8/site-packages/click/core.py", line 1066, in invoke
        return ctx.invoke(self.callback, **ctx.params)
      File "/Users/victor/megad-heated-floor-thermostat/.venv/lib/python3.8/site-packages/click/core.py", line 610, in invoke
        return callback(*args, **kwargs)
      File "/Users/victor/megad-heated-floor-thermostat/.venv/lib/python3.8/site-packages/typer/main.py", line 496, in wrapper
        return callback(**use_params)  # type: ignore
      File "/Users/victor/megad-heated-floor-thermostat/.venv/lib/python3.8/site-packages/fastapi_code_generator/__main__.py", line 26, in main
        return generate_code(input_name, input_text, output_dir, template_dir)
      File "/Users/victor/megad-heated-floor-thermostat/.venv/lib/python3.8/site-packages/fastapi_code_generator/__main__.py", line 37, in generate_code
        parsed_object: ParsedObject = parser.parse()
      File "/Users/victor/megad-heated-floor-thermostat/.venv/lib/python3.8/site-packages/fastapi_code_generator/parser.py", line 391, in parse
        return self.parse_paths(openapi)
      File "/Users/victor/megad-heated-floor-thermostat/.venv/lib/python3.8/site-packages/fastapi_code_generator/parser.py", line 400, in parse_paths
        return ParsedObject(
      File "/Users/victor/megad-heated-floor-thermostat/.venv/lib/python3.8/site-packages/fastapi_code_generator/parser.py", line 372, in __init__
        operation.arguments
      File "/usr/local/opt/[email protected]/Frameworks/Python.framework/Versions/3.8/lib/python3.8/functools.py", line 967, in __get__
        val = self.func(instance)
      File "/Users/victor/megad-heated-floor-thermostat/.venv/lib/python3.8/site-packages/fastapi_code_generator/parser.py", line 175, in arguments
        return self.get_arguments(snake_case=False)
      File "/Users/victor/megad-heated-floor-thermostat/.venv/lib/python3.8/site-packages/fastapi_code_generator/parser.py", line 183, in get_arguments
        argument.argument for argument in self.get_argument_list(snake_case)
      File "/Users/victor/megad-heated-floor-thermostat/.venv/lib/python3.8/site-packages/fastapi_code_generator/parser.py", line 197, in get_argument_list
        if self.request:
      File "/usr/local/opt/[email protected]/Frameworks/Python.framework/Versions/3.8/lib/python3.8/functools.py", line 967, in __get__
        val = self.func(instance)
      File "/Users/victor/megad-heated-floor-thermostat/.venv/lib/python3.8/site-packages/fastapi_code_generator/parser.py", line 113, in request
        type_hint=schema.ref_object_name,
      File "/Users/victor/megad-heated-floor-thermostat/.venv/lib/python3.8/site-packages/datamodel_code_generator/parser/jsonschema.py", line 115, in ref_object_name
        return self.ref.rsplit('/', 1)[-1]  # type: ignore
    AttributeError: 'NoneType' object has no attribute 'rsplit'
    
    released 
    opened by synclpz 5
  • Bump pytest from 6.2.5 to 7.1.2

    Bump pytest from 6.2.5 to 7.1.2

    Bumps pytest from 6.2.5 to 7.1.2.

    Release notes

    Sourced from pytest's releases.

    7.1.2

    pytest 7.1.2 (2022-04-23)

    Bug Fixes

    • #9726: An unnecessary numpy import inside pytest.approx{.interpreted-text role="func"} was removed.
    • #9820: Fix comparison of dataclasses with InitVar.
    • #9869: Increase stacklevel for the NODE_CTOR_FSPATH_ARG deprecation to point to the user's code, not pytest.
    • #9871: Fix a bizarre (and fortunately rare) bug where the [temp_path]{.title-ref} fixture could raise an internal error while attempting to get the current user's username.

    7.1.1

    pytest 7.1.1 (2022-03-17)

    Bug Fixes

    • #9767: Fixed a regression in pytest 7.1.0 where some conftest.py files outside of the source tree (e.g. in the [site-packages]{.title-ref} directory) were not picked up.

    7.1.0

    pytest 7.1.0 (2022-03-13)

    Breaking Changes

    • #8838: As per our policy, the following features have been deprecated in the 6.X series and are now removed:

      • pytest._fillfuncargs function.
      • pytest_warning_captured hook - use pytest_warning_recorded instead.
      • -k -foobar syntax - use -k 'not foobar' instead.
      • -k foobar: syntax.
      • pytest.collect module - import from pytest directly.

      For more information consult Deprecations and Removals in the docs.

    • #9437: Dropped support for Python 3.6, which reached end-of-life at 2021-12-23.

    Improvements

    • #5192: Fixed test output for some data types where -v would show less information.

      Also, when showing diffs for sequences, -q would produce full diffs instead of the expected diff.

    ... (truncated)

    Commits
    • 2f2f1a6 Prepare release version 7.1.2
    • 5c04f3a [7.1.x] Fix wrong log_file docs (#9879)
    • 078733c Merge pull request #9872 from pytest-dev/backport-9871-to-7.1.x
    • 3a7ead6 [7.1.x] fix: move 'import getpass' statement to try-clause
    • 6d75333 [7.1.x] Increase stacklevel to point at user's code (#9870)
    • ddbb998 [7.1.x] Increase stacklevel to point at user's code
    • 0ec5886 Merge pull request #9855 from pytest-dev/backport-9854-to-7.1.x
    • f2469fc [7.1.x] Docs: link to easy issues in contributing guide
    • 94ec0f8 Merge pull request #9846 from pytest-dev/backport-9842-to-7.1.x
    • 5ef96fd [7.1.x] fix comparison of dataclasses with InitVar
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 4
  • add custom variables support

    add custom variables support

    This tool was a great starting point for us to generate different targets based on the OpenAPI definition. We found that with custom templates we were able to get 90% of the way there, but we need to add the support for custom variables.

    This is a draft PR to see if this is a direction you want go, I still need to add/fix some tests and refine docs. The proposal should be simple and covered in the readme. Looking forward to hear your thoughts :)

    opened by sofianhnaide 4
  • Bump freezegun from 1.1.0 to 1.2.1

    Bump freezegun from 1.1.0 to 1.2.1

    Bumps freezegun from 1.1.0 to 1.2.1.

    Changelog

    Sourced from freezegun's changelog.

    1.2.1

    • Added missing typeshed types from distribution

    • Pass all arguments on recursive freeze_time calls

    1.2.0

    • Add support for time.perf_counter (and …_ns)

    • Added typeshed types

    • Dropped support for python 3.5

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 4
  • Please move black to dev-dependencies

    Please move black to dev-dependencies

    You are listing black as a runtime dependency with a fixed version of 19.1b0. Unfortunately that conflicts with the version I want to use 20.8b1.

    Afaics black is only used as a development dependency in this project, so it should be marked as such and the conflict would be resolved.

    released 
    opened by bodograumann 4
  • Problem generating stub for get method with array parameter

    Problem generating stub for get method with array parameter

    Trying fastapi-codegen --input maas-err.swagger.yaml --output app_fastapi with this yaml:

    openapi: 3.0.0
    info:
      title: maas.proto
      version: version not set
    paths:
      /bertee:
        post:
          operationId: ModelService_getEvent
          responses:
            "200":
              description: A successful response.
              content:
                application/json:
                  schema:
                    $ref: "#/components/schemas/Response"
            default:
              description: An unexpected error response
              content:
                application/json:
                  schema:
                    $ref: "#/components/schemas/runtimeError"
          requestBody:
            $ref: "#/components/requestBodies/Request"
          tags:
            - ModelService
      /isalive:
        get:
          operationId: ModelService_isAliveGet
          responses:
            "200":
              description: A successful response.
              content:
                application/json:
                  schema:
                    $ref: "#/components/schemas/Response"
            default:
              description: An unexpected error response
              content:
                application/json:
                  schema:
                    $ref: "#/components/schemas/runtimeError"
          parameters:
            - name: message_texts
              in: query
              required: false
              explode: true
              schema:
                type: array
                items:
                  type: string
          tags:
            - ModelService
        post:
          operationId: ModelService_isAlivePost
          responses:
            "200":
              description: A successful response.
              content:
                application/json:
                  schema:
                    $ref: "#/components/schemas/Response"
            default:
              description: An unexpected error response
              content:
                application/json:
                  schema:
                    $ref: "#/components/schemas/runtimeError"
          requestBody:
            $ref: "#/components/requestBodies/Request"
          tags:
            - ModelService
    components:
      requestBodies:
        Request:
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Request"
          required: true
      schemas:
        Request:
          type: object
          properties:
            message_texts:
              type: array
              items:
                type: string
        Response:
          type: object
          properties:
            tx_id:
              type: string
            events:
              type: array
              items:
                type: string
        protobufAny:
          type: object
          properties:
            type_url:
              type: string
            value:
              type: string
              format: byte
        runtimeError:
          type: object
          properties:
            error:
              type: string
            code:
              type: integer
              format: int32
            message:
              type: string
            details:
              type: array
              items:
                $ref: "#/components/schemas/protobufAny"
    

    I get this error:

    Traceback (most recent call last):
      File "/Users/mhill/opt/anaconda3/envs/bert-ee/bin/fastapi-codegen", line 8, in <module>
        sys.exit(app())
      File "/Users/mhill/opt/anaconda3/envs/bert-ee/lib/python3.8/site-packages/typer/main.py", line 213, in __call__
        return get_command(self)()
      File "/Users/mhill/opt/anaconda3/envs/bert-ee/lib/python3.8/site-packages/click/core.py", line 829, in __call__
        return self.main(*args, **kwargs)
      File "/Users/mhill/opt/anaconda3/envs/bert-ee/lib/python3.8/site-packages/click/core.py", line 782, in main
        rv = self.invoke(ctx)
      File "/Users/mhill/opt/anaconda3/envs/bert-ee/lib/python3.8/site-packages/click/core.py", line 1066, in invoke
        return ctx.invoke(self.callback, **ctx.params)
      File "/Users/mhill/opt/anaconda3/envs/bert-ee/lib/python3.8/site-packages/click/core.py", line 610, in invoke
        return callback(*args, **kwargs)
      File "/Users/mhill/opt/anaconda3/envs/bert-ee/lib/python3.8/site-packages/typer/main.py", line 496, in wrapper
        return callback(**use_params)  # type: ignore
      File "/Users/mhill/opt/anaconda3/envs/bert-ee/lib/python3.8/site-packages/fastapi_code_generator/__main__.py", line 26, in main
        return generate_code(input_name, input_text, output_dir, template_dir)
      File "/Users/mhill/opt/anaconda3/envs/bert-ee/lib/python3.8/site-packages/fastapi_code_generator/__main__.py", line 37, in generate_code
        parsed_object: ParsedObject = parser.parse()
      File "/Users/mhill/opt/anaconda3/envs/bert-ee/lib/python3.8/site-packages/fastapi_code_generator/parser.py", line 391, in parse
        return self.parse_paths(openapi)
      File "/Users/mhill/opt/anaconda3/envs/bert-ee/lib/python3.8/site-packages/fastapi_code_generator/parser.py", line 400, in parse_paths
        return ParsedObject(
      File "/Users/mhill/opt/anaconda3/envs/bert-ee/lib/python3.8/site-packages/fastapi_code_generator/parser.py", line 372, in __init__
        operation.arguments
      File "/Users/mhill/opt/anaconda3/envs/bert-ee/lib/python3.8/functools.py", line 967, in __get__
        val = self.func(instance)
      File "/Users/mhill/opt/anaconda3/envs/bert-ee/lib/python3.8/site-packages/fastapi_code_generator/parser.py", line 175, in arguments
        return self.get_arguments(snake_case=False)
      File "/Users/mhill/opt/anaconda3/envs/bert-ee/lib/python3.8/site-packages/fastapi_code_generator/parser.py", line 183, in get_arguments
        argument.argument for argument in self.get_argument_list(snake_case)
      File "/Users/mhill/opt/anaconda3/envs/bert-ee/lib/python3.8/site-packages/fastapi_code_generator/parser.py", line 195, in get_argument_list
        arguments.append(self.get_parameter_type(parameter, snake_case))
      File "/Users/mhill/opt/anaconda3/envs/bert-ee/lib/python3.8/site-packages/fastapi_code_generator/parser.py", line 206, in get_parameter_type
        type_ = json_schema_data_formats[schema.type][format_]
    KeyError: 'array'
    

    If I remove the parameters: section of isalive/ get: then it seems to work fine. Are arrays supported here?

    released 
    opened by matt-ny 4
  • Outdated datamodel-codegen version in PyPI/last release

    Outdated datamodel-codegen version in PyPI/last release

    Hi,

    I am using datamodel-code-generator as well as fastapi-code-generator in a project (thanks for your efforts!)

    Unfortunately datamodel-code-generator is currently pinned at 0.11.19 in the PyPI at the last release 0.3.5 and I would like to use the newest, fancy features of datamodel-code-generator ;)

    Would it be possible to create a new release with datamodel-code-generator 0.13.1 (that's the current master branch version)?

    Cheers Jonas

    opened by aktentasche 3
  • Bump pydantic from 1.9.0 to 1.10.2

    Bump pydantic from 1.9.0 to 1.10.2

    Bumps pydantic from 1.9.0 to 1.10.2.

    Release notes

    Sourced from pydantic's releases.

    v1.10.2 (2022-09-05)

    Full Changelog: https://github.com/pydantic/pydantic/compare/v1.10.1...v1.10.2

    v1.10.1 (2022-08-31)

    • Add __hash__ method to pydancic.color.Color class, #4454 by @​czaki

    Full Changelog: https://github.com/pydantic/pydantic/compare/v1.10.0...v1.10.1

    v1.10.0 (2022-08-30)

    See #4419 for feedback and discussion, docs are live at pydantic-docs.helpmanual.io.

    • Refactor the whole pydantic dataclass decorator to really act like its standard lib equivalent. It hence keeps __eq__, __hash__, ... and makes comparison with its non-validated version possible. It also fixes usage of frozen dataclasses in fields and usage of default_factory in nested dataclasses. The support of Config.extra has been added. Finally, config customization directly via a dict is now possible, #2557 by @​PrettyWood BREAKING CHANGES:
      • The compiled boolean (whether pydantic is compiled with cython) has been moved from main.py to version.py
      • Now that Config.extra is supported, dataclass ignores by default extra arguments (like BaseModel)
    • Fix PEP487 __set_name__ protocol in BaseModel for PrivateAttrs, #4407 by @​tlambert03
    • Allow for custom parsing of environment variables via parse_env_var in Config, #4406 by @​acmiyaguchi
    • Rename master to main, #4405 by @​hramezani
    • Fix StrictStr does not raise ValidationError when max_length is present in Field, #4388 by @​hramezani
    • Make SecretStr and SecretBytes hashable, #4387 by @​chbndrhnns
    • Fix StrictBytes does not raise ValidationError when max_length is present in Field, #4380 by @​JeanArhancet
    • Add support for bare type, #4375 by @​hramezani
    • Support Python 3.11, including binaries for 3.11 in PyPI, #4374 by @​samuelcolvin
    • Add support for re.Pattern, #4366 by @​hramezani
    • Fix __post_init_post_parse__ is incorrectly passed keyword arguments when no __post_init__ is defined, #4361 by @​hramezani
    • Fix implicitly importing ForwardRef and Callable from pydantic.typing instead of typing and also expose MappingIntStrAny, #4358 by @​aminalaee
    • remove Any types from the dataclass decorator so it can be used with the disallow_any_expr mypy option, #4356 by @​DetachHead
    • moved repo to pydantic/pydantic, #4348 by @​yezz123
    • fix "extra fields not permitted" error when dataclass with Extra.forbid is validated multiple times, #4343 by @​detachhead
    • Add Python 3.9 and 3.10 examples to docs, #4339 by @​Bobronium
    • Discriminated union models now use oneOf instead of anyOf when generating OpenAPI schema definitions, #4335 by @​MaxwellPayne
    • Allow type checkers to infer inner type of Json type. Json[list[str]] will be now inferred as list[str], Json[Any] should be used instead of plain Json. Runtime behaviour is not changed, #4332 by @​Bobronium
    • Allow empty string aliases by using a alias is not None check, rather than bool(alias), #4253 by @​sergeytsaplin
    • Update ForwardRefs in Field.outer_type_, #4249 by @​JacobHayes
    • The use of __dataclass_transform__ has been replaced by typing_extensions.dataclass_transform, which is the preferred way to mark pydantic models as a dataclass under PEP 681, #4241 by @​multimeric
    • Use parent model's Config when validating nested NamedTuple fields, #4219 by @​synek

    ... (truncated)

    Changelog

    Sourced from pydantic's changelog.

    v1.10.2 (2022-09-05)

    v1.10.1 (2022-08-31)

    • Add __hash__ method to pydancic.color.Color class, #4454 by @​czaki

    v1.10.0 (2022-08-30)

    • Refactor the whole pydantic dataclass decorator to really act like its standard lib equivalent. It hence keeps __eq__, __hash__, ... and makes comparison with its non-validated version possible. It also fixes usage of frozen dataclasses in fields and usage of default_factory in nested dataclasses. The support of Config.extra has been added. Finally, config customization directly via a dict is now possible, #2557 by @​PrettyWood BREAKING CHANGES:
      • The compiled boolean (whether pydantic is compiled with cython) has been moved from main.py to version.py
      • Now that Config.extra is supported, dataclass ignores by default extra arguments (like BaseModel)
    • Fix PEP487 __set_name__ protocol in BaseModel for PrivateAttrs, #4407 by @​tlambert03
    • Allow for custom parsing of environment variables via parse_env_var in Config, #4406 by @​acmiyaguchi
    • Rename master to main, #4405 by @​hramezani
    • Fix StrictStr does not raise ValidationError when max_length is present in Field, #4388 by @​hramezani
    • Make SecretStr and SecretBytes hashable, #4387 by @​chbndrhnns
    • Fix StrictBytes does not raise ValidationError when max_length is present in Field, #4380 by @​JeanArhancet
    • Add support for bare type, #4375 by @​hramezani
    • Support Python 3.11, including binaries for 3.11 in PyPI, #4374 by @​samuelcolvin
    • Add support for re.Pattern, #4366 by @​hramezani
    • Fix __post_init_post_parse__ is incorrectly passed keyword arguments when no __post_init__ is defined, #4361 by @​hramezani
    • Fix implicitly importing ForwardRef and Callable from pydantic.typing instead of typing and also expose MappingIntStrAny, #4358 by @​aminalaee
    • remove Any types from the dataclass decorator so it can be used with the disallow_any_expr mypy option, #4356 by @​DetachHead
    • moved repo to pydantic/pydantic, #4348 by @​yezz123
    • fix "extra fields not permitted" error when dataclass with Extra.forbid is validated multiple times, #4343 by @​detachhead
    • Add Python 3.9 and 3.10 examples to docs, #4339 by @​Bobronium
    • Discriminated union models now use oneOf instead of anyOf when generating OpenAPI schema definitions, #4335 by @​MaxwellPayne
    • Allow type checkers to infer inner type of Json type. Json[list[str]] will be now inferred as list[str], Json[Any] should be used instead of plain Json. Runtime behaviour is not changed, #4332 by @​Bobronium
    • Allow empty string aliases by using a alias is not None check, rather than bool(alias), #4253 by @​sergeytsaplin
    • Update ForwardRefs in Field.outer_type_, #4249 by @​JacobHayes
    • The use of __dataclass_transform__ has been replaced by typing_extensions.dataclass_transform, which is the preferred way to mark pydantic models as a dataclass under PEP 681, #4241 by @​multimeric
    • Use parent model's Config when validating nested NamedTuple fields, #4219 by @​synek
    • Update BaseModel.construct to work with aliased Fields, #4192 by @​kylebamos

    ... (truncated)

    Commits
    • bc74342 prepare for v1.10.2
    • f1e9883 fix: dataclass wrapper was not always called (#4484)
    • 91bb8d4 Basic fix of GenericModel cache to detect order of args in Union models [#447...
    • eccd85e prevent long strings as int inputs (#4480)
    • a4367c1 Revert percent encoding in URLs. (#4470)
    • 02cf7f5 fix mypy with default_factory=list etc. (#4471)
    • 5a2ddec Use tomllib on Python 3.11 (#4476)
    • 317bef3 build(deps): bump black from 22.6.0 to 22.8.0 (#4465)
    • 2add8a9 build(deps): bump hypothesis from 6.54.3 to 6.54.4 (#4464)
    • f1fb4f2 build(deps): bump mkdocs-material from 8.4.0 to 8.4.2 (#4463)
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 3
  • Bump pydantic from 1.9.0 to 1.10.4

    Bump pydantic from 1.9.0 to 1.10.4

    Bumps pydantic from 1.9.0 to 1.10.4.

    Release notes

    Sourced from pydantic's releases.

    v1.10.4 (2022-12-30)

    Full Changelog: https://github.com/pydantic/pydantic/compare/v1.10.3...v1.10.4

    v1.10.3 (2022-12-29)

    Full Changelog: https://github.com/pydantic/pydantic/compare/v1.10.2...v1.10.3

    v1.10.2 (2022-09-05)

    Full Changelog: https://github.com/pydantic/pydantic/compare/v1.10.1...v1.10.2

    v1.10.1 (2022-08-31)

    • Add __hash__ method to pydancic.color.Color class, #4454 by @​czaki

    Full Changelog: https://github.com/pydantic/pydantic/compare/v1.10.0...v1.10.1

    v1.10.0 (2022-08-30)

    See #4419 for feedback and discussion, docs are live at pydantic-docs.helpmanual.io.

    • Refactor the whole pydantic dataclass decorator to really act like its standard lib equivalent. It hence keeps __eq__, __hash__, ... and makes comparison with its non-validated version possible. It also fixes usage of frozen dataclasses in fields and usage of default_factory in nested dataclasses. The support of Config.extra has been added. Finally, config customization directly via a dict is now possible, #2557 by @​PrettyWood BREAKING CHANGES:
      • The compiled boolean (whether pydantic is compiled with cython) has been moved from main.py to version.py
      • Now that Config.extra is supported, dataclass ignores by default extra arguments (like BaseModel)

    ... (truncated)

    Changelog

    Sourced from pydantic's changelog.

    v1.10.4 (2022-12-30)

    v1.10.3 (2022-12-29)

    NOTE: v1.10.3 was "yanked" from PyPI due to #4885 which is fixed in v1.10.4

    v1.10.2 (2022-09-05)

    v1.10.1 (2022-08-31)

    • Add __hash__ method to pydancic.color.Color class, #4454 by @​czaki

    v1.10.0 (2022-08-30)

    • Refactor the whole pydantic dataclass decorator to really act like its standard lib equivalent. It hence keeps __eq__, __hash__, ... and makes comparison with its non-validated version possible. It also fixes usage of frozen dataclasses in fields and usage of default_factory in nested dataclasses. The support of Config.extra has been added. Finally, config customization directly via a dict is now possible, #2557 by @​PrettyWood BREAKING CHANGES:
      • The compiled boolean (whether pydantic is compiled with cython) has been moved from main.py to version.py
      • Now that Config.extra is supported, dataclass ignores by default extra arguments (like BaseModel)
    • Fix PEP487 __set_name__ protocol in BaseModel for PrivateAttrs, #4407 by @​tlambert03
    • Allow for custom parsing of environment variables via parse_env_var in Config, #4406 by @​acmiyaguchi

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • Bump setuptools from 65.5.0 to 65.5.1

    Bump setuptools from 65.5.0 to 65.5.1

    Bumps setuptools from 65.5.0 to 65.5.1.

    Changelog

    Sourced from setuptools's changelog.

    v65.5.1

    Misc ^^^^

    • #3638: Drop a test dependency on the mock package, always use :external+python:py:mod:unittest.mock -- by :user:hroncok
    • #3659: Fixed REDoS vector in package_index.
    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) You can disable automated security fix PRs for this repo from the Security Alerts page.
    dependencies 
    opened by dependabot[bot] 1
  • Bump isort from 5.10.1 to 5.11.4

    Bump isort from 5.10.1 to 5.11.4

    Bumps isort from 5.10.1 to 5.11.4.

    Release notes

    Sourced from isort's releases.

    5.11.4

    Changes

    :package: Dependencies

    5.11.3

    Changes

    :beetle: Fixes

    :construction_worker: Continuous Integration

    v5.11.3

    Changes

    :beetle: Fixes

    :construction_worker: Continuous Integration

    5.11.2

    Changes

    5.11.1

    Changes December 12 2022

    ... (truncated)

    Changelog

    Sourced from isort's changelog.

    5.11.4 December 21 2022

    5.11.3 December 16 2022

    5.11.2 December 12 2022

    5.11.1 December 12 2022

    5.11.0 December 12 2022

    Commits
    • 98390f5 Merge pull request #2059 from PyCQA/version/5.11.4
    • df69a05 Bump version 5.11.4
    • f9add58 Merge pull request #2058 from PyCQA/deps/poetry-1.3.1
    • 36caa91 Bump Poetry 1.3.1
    • 3c2e2d0 Merge pull request #1978 from mgorny/toml-test
    • 45d6abd Remove obsolete toml import from the test suite
    • 3020e0b Merge pull request #2057 from mgorny/poetry-install
    • a6fdbfd Stop installing documentation files to top-level site-packages
    • ff306f8 Fix tag template to match old standard
    • 227c4ae Merge pull request #2052 from hugovk/main
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • Bump black from 22.10.0 to 22.12.0

    Bump black from 22.10.0 to 22.12.0

    Bumps black from 22.10.0 to 22.12.0.

    Release notes

    Sourced from black's releases.

    22.12.0

    Preview style

    • Enforce empty lines before classes and functions with sticky leading comments (#3302)
    • Reformat empty and whitespace-only files as either an empty file (if no newline is present) or as a single newline character (if a newline is present) (#3348)
    • Implicitly concatenated strings used as function args are now wrapped inside parentheses (#3307)
    • Correctly handle trailing commas that are inside a line's leading non-nested parens (#3370)

    Configuration

    • Fix incorrectly applied .gitignore rules by considering the .gitignore location and the relative path to the target file (#3338)
    • Fix incorrectly ignoring .gitignore presence when more than one source directory is specified (#3336)

    Parser

    • Parsing support has been added for walruses inside generator expression that are passed as function args (for example, any(match := my_re.match(text) for text in texts)) (#3327).

    Integrations

    • Vim plugin: Optionally allow using the system installation of Black via let g:black_use_virtualenv = 0(#3309)
    Changelog

    Sourced from black's changelog.

    22.12.0

    Preview style

    • Enforce empty lines before classes and functions with sticky leading comments (#3302)
    • Reformat empty and whitespace-only files as either an empty file (if no newline is present) or as a single newline character (if a newline is present) (#3348)
    • Implicitly concatenated strings used as function args are now wrapped inside parentheses (#3307)
    • Correctly handle trailing commas that are inside a line's leading non-nested parens (#3370)

    Configuration

    • Fix incorrectly applied .gitignore rules by considering the .gitignore location and the relative path to the target file (#3338)
    • Fix incorrectly ignoring .gitignore presence when more than one source directory is specified (#3336)

    Parser

    • Parsing support has been added for walruses inside generator expression that are passed as function args (for example, any(match := my_re.match(text) for text in texts)) (#3327).

    Integrations

    • Vim plugin: Optionally allow using the system installation of Black via let g:black_use_virtualenv = 0(#3309)
    Commits
    • 2ddea29 Prepare release 22.12.0 (#3413)
    • 5b1443a release: skip bad macos wheels for now (#3411)
    • 9ace064 Bump peter-evans/find-comment from 2.0.1 to 2.1.0 (#3404)
    • 19c5fe4 Fix CI with latest flake8-bugbear (#3412)
    • d4a8564 Bump sphinx-copybutton from 0.5.0 to 0.5.1 in /docs (#3390)
    • 2793249 Wordsmith current_style.md (#3383)
    • d97b789 Remove whitespaces of whitespace-only files (#3348)
    • c23a5c1 Clarify that Black runs with --safe by default (#3378)
    • 8091b25 Correctly handle trailing commas that are inside a line's leading non-nested ...
    • ffaaf48 Compare each .gitignore found with an appropiate relative path (#3338)
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • Bump certifi from 2021.10.8 to 2022.12.7

    Bump certifi from 2021.10.8 to 2022.12.7

    Bumps certifi from 2021.10.8 to 2022.12.7.

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) You can disable automated security fix PRs for this repo from the Security Alerts page.
    dependencies 
    opened by dependabot[bot] 1
Releases(0.3.6)
  • 0.3.6(Oct 24, 2022)

    What's Changed

    • Fix tests - Issue #260 by @jcarlosgalvezm in https://github.com/koxudaxi/fastapi-code-generator/pull/266
    • add custom variables support by @sofianhnaide in https://github.com/koxudaxi/fastapi-code-generator/pull/247
    • Bump jinja2 from 3.0.3 to 3.1.2 by @dependabot in https://github.com/koxudaxi/fastapi-code-generator/pull/250
    • add .pre-commit-config.yaml by @koxudaxi in https://github.com/koxudaxi/fastapi-code-generator/pull/283
    • Update dependencies by @koxudaxi in https://github.com/koxudaxi/fastapi-code-generator/pull/284

    New Contributors

    • @jcarlosgalvezm made their first contribution in https://github.com/koxudaxi/fastapi-code-generator/pull/266
    • @sofianhnaide made their first contribution in https://github.com/koxudaxi/fastapi-code-generator/pull/247

    Full Changelog: https://github.com/koxudaxi/fastapi-code-generator/compare/0.3.5...0.3.6

    Source code(tar.gz)
    Source code(zip)
  • 0.3.5(May 13, 2022)

    What's Changed

    • Update datamodel code generator to 0.11.19 by @n0nvme in https://github.com/koxudaxi/fastapi-code-generator/pull/231

    New Contributors

    • @n0nvme made their first contribution in https://github.com/koxudaxi/fastapi-code-generator/pull/231

    Full Changelog: https://github.com/koxudaxi/fastapi-code-generator/compare/0.3.4...0.3.5

    Source code(tar.gz)
    Source code(zip)
  • 0.3.4(Dec 3, 2021)

    What's Changed

    • Adding support for datamodel-code-generator's enum-field-as-literal argument by @LongBeachHXC in https://github.com/koxudaxi/fastapi-code-generator/pull/224

    New Contributors

    • @LongBeachHXC made their first contribution in https://github.com/koxudaxi/fastapi-code-generator/pull/224

    Full Changelog: https://github.com/koxudaxi/fastapi-code-generator/compare/0.3.3...0.3.4

    Source code(tar.gz)
    Source code(zip)
  • 0.3.3(Dec 3, 2021)

    What's Changed

    • Fix model file by @koxudaxi in https://github.com/koxudaxi/fastapi-code-generator/pull/223

    Full Changelog: https://github.com/koxudaxi/fastapi-code-generator/compare/0.3.2...0.3.3

    Source code(tar.gz)
    Source code(zip)
  • 0.3.2(Nov 29, 2021)

    What's Changed

    • Fix unittest by @koxudaxi in https://github.com/koxudaxi/fastapi-code-generator/pull/219
    • update datamodel-code-generator to 0.11.15 by @koxudaxi in https://github.com/koxudaxi/fastapi-code-generator/pull/220

    Full Changelog: https://github.com/koxudaxi/fastapi-code-generator/compare/0.3.1...0.3.2

    Source code(tar.gz)
    Source code(zip)
  • 0.3.1(Nov 28, 2021)

    What's Changed

    • Add description on operation by @koxudaxi in https://github.com/koxudaxi/fastapi-code-generator/pull/187
    • Bump datamodel-code-generator from 0.11.9 to 0.11.11 by @dependabot in https://github.com/koxudaxi/fastapi-code-generator/pull/188
    • Bump typer from 0.3.2 to 0.4.0 by @dependabot in https://github.com/koxudaxi/fastapi-code-generator/pull/193
    • Bump pytest from 6.2.4 to 6.2.5 by @dependabot in https://github.com/koxudaxi/fastapi-code-generator/pull/194
    • Update datamodel-code-generator to 0.11.12 by @koxudaxi in https://github.com/koxudaxi/fastapi-code-generator/pull/195
    • Bump datamodel-code-generator from 0.11.12 to 0.11.13 by @dependabot in https://github.com/koxudaxi/fastapi-code-generator/pull/198
    • Bump datamodel-code-generator from 0.11.13 to 0.11.14 by @dependabot in https://github.com/koxudaxi/fastapi-code-generator/pull/200
    • Bump jinja2 from 3.0.1 to 3.0.3 by @dependabot in https://github.com/koxudaxi/fastapi-code-generator/pull/211
    • Bump pytest-cov from 2.12.1 to 3.0.0 by @dependabot in https://github.com/koxudaxi/fastapi-code-generator/pull/202
    • Fix typed-ast by @koxudaxi in https://github.com/koxudaxi/fastapi-code-generator/pull/216
    • Add additional responses by @rominf in https://github.com/koxudaxi/fastapi-code-generator/pull/203
    • Added option to specify model file instead of defaulting to models.py by @baophamtd in https://github.com/koxudaxi/fastapi-code-generator/pull/204
    • Add servers by @rominf in https://github.com/koxudaxi/fastapi-code-generator/pull/206

    New Contributors

    • @rominf made their first contribution in https://github.com/koxudaxi/fastapi-code-generator/pull/203
    • @baophamtd made their first contribution in https://github.com/koxudaxi/fastapi-code-generator/pull/204

    Full Changelog: https://github.com/koxudaxi/fastapi-code-generator/compare/0.3.0...0.3.1

    Source code(tar.gz)
    Source code(zip)
  • 0.3.0(Aug 8, 2021)

  • 0.2.7(Jun 17, 2021)

  • 0.2.6(May 29, 2021)

  • 0.2.5(May 4, 2021)

  • 0.2.4(Apr 29, 2021)

  • 0.2.3(Mar 1, 2021)

  • 0.2.2(Feb 19, 2021)

  • 0.2.1(Feb 18, 2021)

  • 0.2.0(Jan 25, 2021)

  • 0.1.1(Jan 12, 2021)

  • 0.1.0(Jan 7, 2021)

  • 0.0.19(Dec 2, 2020)

  • 0.0.18(Nov 21, 2020)

  • 0.0.17(Nov 14, 2020)

    • Support python39 [#59]
    • Support python37 [#58]
    • Support remote ref on parameters, requestBodies and responses [#57]
    • Use re.compiled object [#50] by @ioggstream

    Thanks to @ioggstream

    Source code(tar.gz)
    Source code(zip)
  • 0.0.16(Nov 10, 2020)

  • 0.0.15(Nov 9, 2020)

  • 0.0.14(Nov 4, 2020)

  • 0.0.13(Jul 27, 2020)

  • 0.0.12(Jun 26, 2020)

  • 0.0.11(Jun 20, 2020)

  • 0.0.10(Jun 20, 2020)

  • 0.0.9(Jun 19, 2020)

  • 0.0.8(Jun 18, 2020)

  • 0.0.7(Jun 18, 2020)

Owner
Koudai Aono
I'm a software engineer. I usually use Python, Kotlin, TypeScript, and AWS.
Koudai Aono
Starlette middleware for Prerender

Prerender Python Starlette Starlette middleware for Prerender Documentation: https://BeeMyDesk.github.io/prerender-python-starlette/ Source Code: http

BeeMyDesk 14 May 02, 2021
Cookiecutter API for creating Custom Skills for Azure Search using Python and Docker

cookiecutter-spacy-fastapi Python cookiecutter API for quick deployments of spaCy models with FastAPI Azure Search The API interface is compatible wit

Microsoft 379 Jan 03, 2023
Opinionated set of utilities on top of FastAPI

FastAPI Contrib Opinionated set of utilities on top of FastAPI Free software: MIT license Documentation: https://fastapi-contrib.readthedocs.io. Featu

identix.one 543 Jan 05, 2023
High-performance Async REST API, in Python. FastAPI + GINO + Arq + Uvicorn (w/ Redis and PostgreSQL).

fastapi-gino-arq-uvicorn High-performance Async REST API, in Python. FastAPI + GINO + Arq + Uvicorn (powered by Redis & PostgreSQL). Contents Get Star

Leo Sussan 351 Jan 04, 2023
Ready-to-use and customizable users management for FastAPI

FastAPI Users Ready-to-use and customizable users management for FastAPI Documentation: https://fastapi-users.github.io/fastapi-users/ Source Code: ht

FastAPI Users 2.3k Dec 30, 2022
API written using Fast API to manage events and implement a leaderboard / badge system.

Open Food Facts Events API written using Fast API to manage events and implement a leaderboard / badge system. Installation To run the API locally, ru

Open Food Facts 5 Jan 07, 2023
cookiecutter template for web API with python

Python project template for Web API with cookiecutter What's this This provides the project template including minimum test/lint/typechecking package

Hitoshi Manabe 4 Jan 28, 2021
FastAPI client generator

FastAPI-based API Client Generator Generate a mypy- and IDE-friendly API client from an OpenAPI spec. Sync and async interfaces are both available Com

David Montague 283 Jan 04, 2023
FastAPI Auth Starter Project

This is a template for FastAPI that comes with authentication preconfigured.

Oluwaseyifunmi Oyefeso 6 Nov 13, 2022
FastAPI-PostgreSQL-Celery-RabbitMQ-Redis bakcend with Docker containerization

FastAPI - PostgreSQL - Celery - Rabbitmq backend This source code implements the following architecture: All the required database endpoints are imple

Juan Esteban Aristizabal 54 Nov 26, 2022
스타트업 개발자 채용

스타트업 개발자 채용 大 박람회 Seed ~ Series B에 있는 스타트업을 위한 채용정보 페이지입니다. Back-end, Frontend, Mobile 등 개발자를 대상으로 진행하고 있습니다. 해당 스타트업에 종사하시는 분뿐만 아니라 채용 관련 정보를 알고 계시다면

JuHyun Lee 58 Dec 14, 2022
Keepalive - Discord Bot to keep threads from expiring

keepalive Discord Bot to keep threads from expiring Installation Create a new Di

Francesco Pierfederici 5 Mar 14, 2022
Docker Sample Project - FastAPI + NGINX

Docker Sample Project - FastAPI + NGINX Run FastAPI and Nginx using Docker container Installation Make sure Docker is installed on your local machine

1 Feb 11, 2022
Single Page App with Flask and Vue.js

Developing a Single Page App with FastAPI and Vue.js Want to learn how to build this? Check out the post. Want to use this project? Build the images a

91 Jan 05, 2023
Socket.IO integration for Flask applications.

Flask-SocketIO Socket.IO integration for Flask applications. Installation You can install this package as usual with pip: pip install flask-socketio

Miguel Grinberg 4.9k Jan 03, 2023
Flask-Bcrypt is a Flask extension that provides bcrypt hashing utilities for your application.

Flask-Bcrypt Flask-Bcrypt is a Flask extension that provides bcrypt hashing utilities for your application. Due to the recent increased prevelance of

Max Countryman 310 Dec 14, 2022
Mixer -- Is a fixtures replacement. Supported Django, Flask, SqlAlchemy and custom python objects.

The Mixer is a helper to generate instances of Django or SQLAlchemy models. It's useful for testing and fixture replacement. Fast and convenient test-

Kirill Klenov 871 Dec 25, 2022
🐞 A debug toolbar for FastAPI based on the original django-debug-toolbar. 🐞

Debug Toolbar 🐞 A debug toolbar for FastAPI based on the original django-debug-toolbar. 🐞 Swagger UI & GraphQL are supported. Documentation: https:/

Dani 74 Dec 30, 2022
Browse JSON API in a HTML interface.

Falcon API Browse This project provides a middleware for Falcon Web Framework that will render the response in an HTML form for documentation purpose.

Abhilash Raj 4 Mar 16, 2022
Hook Slinger acts as a simple service that lets you send, retry, and manage event-triggered POST requests, aka webhooks

Hook Slinger acts as a simple service that lets you send, retry, and manage event-triggered POST requests, aka webhooks. It provides a fully self-contained docker image that is easy to orchestrate, m

Redowan Delowar 96 Jan 02, 2023