Search Options

Display Count
Sort
Preferred Language
Advanced Search

Results 1 - 10 of 11 for asynccontextmanager (0.19 seconds)

  1. tests/test_router_events.py

    
    def test_merged_mixed_state_lifespans() -> None:
        @asynccontextmanager
        async def lifespan(app: FastAPI) -> AsyncGenerator[None, None]:
            yield
    
        @asynccontextmanager
        async def router_lifespan(app: FastAPI) -> AsyncGenerator[dict[str, bool], None]:
            yield {"router": True}
    
        @asynccontextmanager
        async def sub_router_lifespan(app: FastAPI) -> AsyncGenerator[None, None]:
    Created: Sun Dec 28 07:19:09 GMT 2025
    - Last Modified: Wed Dec 17 21:25:59 GMT 2025
    - 7.3K bytes
    - Click Count (0)
  2. tests/test_tutorial/test_dependencies/test_tutorial007.py

    import asyncio
    from contextlib import asynccontextmanager
    from unittest.mock import Mock, patch
    
    from docs_src.dependencies.tutorial007_py39 import get_db
    
    
    def test_get_db():  # Just for coverage
        async def test_async_gen():
            cm = asynccontextmanager(get_db)
            async with cm() as db_session:
                return db_session
    
        dbsession_moock = Mock()
    
        with patch(
    Created: Sun Dec 28 07:19:09 GMT 2025
    - Last Modified: Fri Dec 26 10:43:02 GMT 2025
    - 642 bytes
    - Click Count (0)
  3. docs_src/events/tutorial003_py39.py

    from contextlib import asynccontextmanager
    
    from fastapi import FastAPI
    
    
    def fake_answer_to_everything_ml_model(x: float):
        return x * 42
    
    
    ml_models = {}
    
    
    @asynccontextmanager
    async def lifespan(app: FastAPI):
        # Load the ML model
        ml_models["answer_to_everything"] = fake_answer_to_everything_ml_model
        yield
        # Clean up the ML models and release the resources
        ml_models.clear()
    
    
    Created: Sun Dec 28 07:19:09 GMT 2025
    - Last Modified: Wed Dec 17 20:41:43 GMT 2025
    - 569 bytes
    - Click Count (0)
  4. fastapi/concurrency.py

    from collections.abc import AsyncGenerator
    from contextlib import AbstractContextManager
    from contextlib import asynccontextmanager as asynccontextmanager
    from typing import TypeVar
    
    import anyio.to_thread
    from anyio import CapacityLimiter
    from starlette.concurrency import iterate_in_threadpool as iterate_in_threadpool  # noqa
    from starlette.concurrency import run_in_threadpool as run_in_threadpool  # noqa
    from starlette.concurrency import (  # noqa
    Created: Sun Dec 28 07:19:09 GMT 2025
    - Last Modified: Wed Dec 17 21:25:59 GMT 2025
    - 1.5K bytes
    - Click Count (0)
  5. docs_src/app_testing/tutorial004_py39.py

    from contextlib import asynccontextmanager
    
    from fastapi import FastAPI
    from fastapi.testclient import TestClient
    
    items = {}
    
    
    @asynccontextmanager
    async def lifespan(app: FastAPI):
        items["foo"] = {"name": "Fighters"}
        items["bar"] = {"name": "Tenders"}
        yield
        # clean up items
        items.clear()
    
    
    app = FastAPI(lifespan=lifespan)
    
    
    @app.get("/items/{item_id}")
    async def read_items(item_id: str):
    Created: Sun Dec 28 07:19:09 GMT 2025
    - Last Modified: Wed Dec 17 20:41:43 GMT 2025
    - 1.2K bytes
    - Click Count (0)
  6. docs/es/docs/advanced/events.md

    Y la parte después del `yield` será ejecutada **después** de que la aplicación haya terminado.
    
    ### Async Context Manager { #async-context-manager }
    
    Si revisas, la función está decorada con un `@asynccontextmanager`.
    
    Eso convierte a la función en algo llamado un "**async context manager**".
    
    {* ../../docs_src/events/tutorial003_py39.py hl[1,13] *}
    
    Created: Sun Dec 28 07:19:09 GMT 2025
    - Last Modified: Wed Dec 17 20:41:43 GMT 2025
    - 8.5K bytes
    - Click Count (0)
  7. docs/de/docs/advanced/events.md

    Und der Teil nach `yield` wird ausgeführt, **nachdem** die Anwendung beendet ist.
    
    ### Asynchroner Kontextmanager { #async-context-manager }
    
    Wie Sie sehen, ist die Funktion mit einem `@asynccontextmanager` versehen.
    
    Dadurch wird die Funktion in einen sogenannten „**asynchronen Kontextmanager**“ umgewandelt.
    
    {* ../../docs_src/events/tutorial003_py39.py hl[1,13] *}
    
    Created: Sun Dec 28 07:19:09 GMT 2025
    - Last Modified: Wed Dec 17 20:41:43 GMT 2025
    - 9.5K bytes
    - Click Count (0)
  8. docs/en/docs/advanced/events.md

    And the part after the `yield` will be executed **after** the application has finished.
    
    ### Async Context Manager { #async-context-manager }
    
    If you check, the function is decorated with an `@asynccontextmanager`.
    
    That converts the function into something called an "**async context manager**".
    
    {* ../../docs_src/events/tutorial003_py39.py hl[1,13] *}
    
    Created: Sun Dec 28 07:19:09 GMT 2025
    - Last Modified: Wed Dec 17 20:41:43 GMT 2025
    - 7.9K bytes
    - Click Count (0)
  9. docs/pt/docs/advanced/events.md

    E a parte posterior ao `yield` será executada **depois** de a aplicação ter terminado.
    
    ### Gerenciador de contexto assíncrono { #async-context-manager }
    
    Se você verificar, a função está decorada com um `@asynccontextmanager`.
    
    Isso converte a função em algo chamado "**gerenciador de contexto assíncrono**".
    
    {* ../../docs_src/events/tutorial003_py39.py hl[1,13] *}
    
    Created: Sun Dec 28 07:19:09 GMT 2025
    - Last Modified: Wed Dec 17 20:41:43 GMT 2025
    - 8.8K bytes
    - Click Count (0)
  10. docs/zh/docs/advanced/events.md

    ```Python hl_lines="14-19"
    {!../../docs_src/events/tutorial003.py!}
    ```
    
    这个函数在 `yield`之前的部分,会在应用启动前执行。
    
    剩下的部分在 `yield` 之后,会在应用完成后执行。
    
    ## 异步上下文管理器
    
    如你所见,这个函数有一个装饰器 `@asynccontextmanager` 。
    
    它将函数转化为所谓的“**异步上下文管理器**”。
    
    ```Python hl_lines="1  13"
    {!../../docs_src/events/tutorial003.py!}
    ```
    
    在 Python 中,  **上下文管理器**是一个你可以在 `with` 语句中使用的东西,例如,`open()` 可以作为上下文管理器使用。
    
    ```Python
    Created: Sun Dec 28 07:19:09 GMT 2025
    - Last Modified: Sat Oct 11 17:48:49 GMT 2025
    - 7K bytes
    - Click Count (0)
Back to Top