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
A dynamic FastAPI router that automatically creates CRUD routes for your models

⚡ Create CRUD routes with lighting speed ⚡ A dynamic FastAPI router that automatically creates CRUD routes for your models

Adam Watkins 950 Jan 8, 2023
A dynamic FastAPI router that automatically creates CRUD routes for your models

⚡ Create CRUD routes with lighting speed ⚡ A dynamic FastAPI router that automatically creates CRUD routes for your models Documentation: https://fast

Adam Watkins 943 Jan 1, 2023
A dynamic FastAPI router that automatically creates CRUD routes for your models

⚡ Create CRUD routes with lighting speed ⚡ A dynamic FastAPI router that automatically creates CRUD routes for your models Documentation: https://fast

Adam Watkins 130 Feb 13, 2021
Code Specialist 27 Oct 16, 2022
:rocket: CLI tool for FastAPI. Generating new FastAPI projects & boilerplates made easy.

Project generator and manager for FastAPI. Source Code: View it on Github Features ?? Creates customizable project boilerplate. Creates customizable a

Yagiz Degirmenci 1k Jan 2, 2023
Simple FastAPI Example : Blog API using FastAPI : Beginner Friendly

fastapi_blog FastAPI : Simple Blog API with CRUD operation Steps to run the project: git clone https://github.com/mrAvi07/fastapi_blog.git cd fastapi-

Avinash Alanjkar 1 Oct 8, 2022
Пример использования GraphQL Ariadne с FastAPI и сравнение его с GraphQL Graphene FastAPI

FastAPI Ariadne Example Пример использования GraphQL Ariadne с FastAPI и сравнение его с GraphQL Graphene FastAPI - GitHub ###Запуск на локальном окру

ZeBrains Team 9 Nov 10, 2022
Flask-vs-FastAPI - Understanding Flask vs FastAPI Web Framework. A comparison of two different RestAPI frameworks.

Flask-vs-FastAPI Understanding Flask vs FastAPI Web Framework. A comparison of two different RestAPI frameworks. IntroductionIn Flask is a popular mic

Mithlesh Navlakhe 1 Jan 1, 2022
FastAPI Server Session is a dependency-based extension for FastAPI that adds support for server-sided session management

FastAPI Server-sided Session FastAPI Server Session is a dependency-based extension for FastAPI that adds support for server-sided session management.

DevGuyAhnaf 5 Dec 23, 2022
fastapi-admin2 is an upgraded fastapi-admin, that supports ORM dialects, true Dependency Injection and extendability

FastAPI2 Admin Introduction fastapi-admin2 is an upgraded fastapi-admin, that supports ORM dialects, true Dependency Injection and extendability. Now

Glib 14 Dec 5, 2022
Fastapi-ml-template - Fastapi ml template with python

FastAPI ML Template Run Web API Local $ sh run.sh # poetry run uvicorn app.mai

Yuki Okuda 29 Nov 20, 2022
FastAPI-Amis-Admin is a high-performance, efficient and easily extensible FastAPI admin framework. Inspired by django-admin, and has as many powerful functions as django-admin.

简体中文 | English 项目介绍 FastAPI-Amis-Admin fastapi-amis-admin是一个拥有高性能,高效率,易拓展的fastapi管理后台框架. 启发自Django-Admin,并且拥有不逊色于Django-Admin的强大功能. 源码 · 在线演示 · 文档 · 文

AmisAdmin 318 Dec 31, 2022
Generate modern Python clients from OpenAPI

openapi-python-client Generate modern Python clients from OpenAPI 3.x documents. This generator does not support OpenAPI 2.x FKA Swagger. If you need

Triax Technologies 558 Jan 7, 2023
OpenAPI for Todolist RESTful API

swagger-client OpenAPI for Todolist RESTful API This Python package is automatically generated by the Swagger Codegen project: API version: 1 Package

Iko Afianando 1 Dec 19, 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 4, 2023
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 135 Feb 12, 2021
Full stack, modern web application generator. Using FastAPI, PostgreSQL as database, Docker, automatic HTTPS and more.

Full Stack FastAPI and PostgreSQL - Base Project Generator Generate a backend and frontend stack using Python, including interactive API documentation

Sebastián Ramírez 10.8k Jan 8, 2023
Easily integrate socket.io with your FastAPI app 🚀

fastapi-socketio Easly integrate socket.io with your FastAPI app. Installation Install this plugin using pip: $ pip install fastapi-socketio Usage To

Srdjan Stankovic 210 Dec 23, 2022
Instrument your FastAPI app

Prometheus FastAPI Instrumentator A configurable and modular Prometheus Instrumentator for your FastAPI. Install prometheus-fastapi-instrumentator fro

Tim Schwenke 441 Jan 5, 2023