File: main.py

package info (click to toggle)
litestar 2.21.0-1
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 12,568 kB
  • sloc: python: 70,588; makefile: 254; javascript: 104; sh: 60
file content (33 lines) | stat: -rw-r--r-- 740 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
from __future__ import annotations

import msgspec

from litestar import Litestar, get
from litestar.openapi.config import OpenAPIConfig
from litestar.openapi.plugins import ScalarRenderPlugin
from tests.unit.test_openapi.conftest import create_person_controller, create_pet_controller


class Model(msgspec.Struct):
    hello: str = "world"


@get("/", sync_to_thread=False)
def greet() -> Model:
    return Model(hello="world")


app = Litestar(
    route_handlers=[greet, create_person_controller(), create_pet_controller()],
    openapi_config=OpenAPIConfig(
        title="whatever",
        version="0.0.1",
        render_plugins=[ScalarRenderPlugin()],
    ),
)


if __name__ == "__main__":
    import uvicorn

    uvicorn.run(app)