Browse Source

Remove code examples for Python 3.8 in `dataclasses`

pull/14510/head
Yurii Motov 7 months ago
parent
commit
0739753293
  1. 0
      docs_src/dataclasses/tutorial001_py39.py
  2. 26
      docs_src/dataclasses/tutorial002.py
  3. 55
      docs_src/dataclasses/tutorial003.py
  4. 2
      tests/test_tutorial/test_dataclasses/test_tutorial001.py
  5. 5
      tests/test_tutorial/test_dataclasses/test_tutorial002.py
  6. 5
      tests/test_tutorial/test_dataclasses/test_tutorial003.py

0
docs_src/dataclasses/tutorial001.py → docs_src/dataclasses/tutorial001_py39.py

26
docs_src/dataclasses/tutorial002.py

@ -1,26 +0,0 @@
from dataclasses import dataclass, field
from typing import List, Union
from fastapi import FastAPI
@dataclass
class Item:
name: str
price: float
tags: List[str] = field(default_factory=list)
description: Union[str, None] = None
tax: Union[float, None] = None
app = FastAPI()
@app.get("/items/next", response_model=Item)
async def read_next_item():
return {
"name": "Island In The Moon",
"price": 12.99,
"description": "A place to be playin' and havin' fun",
"tags": ["breater"],
}

55
docs_src/dataclasses/tutorial003.py

@ -1,55 +0,0 @@
from dataclasses import field # (1)
from typing import List, Union
from fastapi import FastAPI
from pydantic.dataclasses import dataclass # (2)
@dataclass
class Item:
name: str
description: Union[str, None] = None
@dataclass
class Author:
name: str
items: List[Item] = field(default_factory=list) # (3)
app = FastAPI()
@app.post("/authors/{author_id}/items/", response_model=Author) # (4)
async def create_author_items(author_id: str, items: List[Item]): # (5)
return {"name": author_id, "items": items} # (6)
@app.get("/authors/", response_model=List[Author]) # (7)
def get_authors(): # (8)
return [ # (9)
{
"name": "Breaters",
"items": [
{
"name": "Island In The Moon",
"description": "A place to be playin' and havin' fun",
},
{"name": "Holy Buddies"},
],
},
{
"name": "System of an Up",
"items": [
{
"name": "Salt",
"description": "The kombucha mushroom people's favorite",
},
{"name": "Pad Thai"},
{
"name": "Lonely Night",
"description": "The mostests lonliest nightiest of allest",
},
],
},
]

2
tests/test_tutorial/test_dataclasses/test_tutorial001.py

@ -10,7 +10,7 @@ from tests.utils import needs_py310
@pytest.fixture(
name="client",
params=[
pytest.param("tutorial001"),
pytest.param("tutorial001_py39"),
pytest.param("tutorial001_py310", marks=needs_py310),
],
)

5
tests/test_tutorial/test_dataclasses/test_tutorial002.py

@ -4,14 +4,13 @@ import pytest
from dirty_equals import IsDict, IsOneOf
from fastapi.testclient import TestClient
from tests.utils import needs_py39, needs_py310
from tests.utils import needs_py310
@pytest.fixture(
name="client",
params=[
pytest.param("tutorial002"),
pytest.param("tutorial002_py39", marks=needs_py39),
pytest.param("tutorial002_py39"),
pytest.param("tutorial002_py310", marks=needs_py310),
],
)

5
tests/test_tutorial/test_dataclasses/test_tutorial003.py

@ -3,14 +3,13 @@ import importlib
import pytest
from fastapi.testclient import TestClient
from ...utils import needs_py39, needs_py310, needs_pydanticv1, needs_pydanticv2
from ...utils import needs_py310, needs_pydanticv1, needs_pydanticv2
@pytest.fixture(
name="client",
params=[
pytest.param("tutorial003"),
pytest.param("tutorial003_py39", marks=needs_py39),
pytest.param("tutorial003_py39"),
pytest.param("tutorial003_py310", marks=needs_py310),
],
)

Loading…
Cancel
Save