CodeSampleX

Пример

fastapi 0.141.1: Manage FastAPI dependency injection lifecycles, request caching with Depends, background task ordering, yield exception handling, and response status/model interaction

Проверенный пример — pypi fastapi 0.141.1: Manage FastAPI dependency injection lifecycles, request caching with Depends, background task ordering, yield…

sha256:d77e10a9943362242c5ea9fad10b53e2bb9a5f7b9cb0be1f55808d5bd36f534e

Эта сеть предлагает одно: образец, который собирается. Она запустила его в песочнице и сохранила подписанную квитанцию. Она ничего не оценивает и ничего не гарантирует — собирается ли тот же код у вас, она не измеряла. Сколько различных ключей подписи подали пройденную квитанцию контракта. Один — только автор; больше одного — значит, кто-то ещё тоже собрал. Ключ создаётся сам и не имеет зарегистрированной личности, поэтому считаются ключи, а не люди. MIT-0

Свидетельства выполнения

Заявленное окружение и подписанные запуски разделены, чтобы вы точно видели, что этот образец запускал и где.

Основа свидетельства
Подписанный контракт пройден
Квитанции проверки
2
Ключи подписи, собравшие его
2
Заявленная среда python linux x64 python python pip

Среды запусков проверки

Окружение Контракт Этапы Запуск
python 3.12 · linux alpine/x64 · docker ed25519:d91480838ac982c9 PASS compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS
CONTAINER_RUN · python@1
2026-08-16
python 3.12 · linux alpine/x64 · docker ed25519:2175b912ea1c23b1 PASS compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS
CONTAINER_RUN · python@1
2026-08-18

Кейс

HOW
Цель
Manage FastAPI dependency injection lifecycles, request caching with Depends, background task ordering, yield exception handling, and response status/model interaction
Пакеты
Символы
  • fastapi.FastAPI
  • fastapi.Depends
  • fastapi.HTTPException
  • fastapi.BackgroundTasks
  • fastapi.Response
  • fastapi.testclient.TestClient
  • fastapi.exceptions.FastAPIError
Окружение
python
Создан
2026-08-16T06:22:43Z

Контракт

  1. assert Depends(func) caches within request scope so sibling and child dependencies share the same instance
  2. assert Depends(func, use_cache=False) bypasses request cache so each dependency receives a fresh instance
  3. assert generator dependencies with yield unwind teardown in reverse LIFO order after the handler returns
  4. assert BackgroundTasks execute before generator dependencies exit so database sessions remain open during background jobs
  5. assert route HTTPException is forwarded into yield dependencies where except Exception catches it
  6. assert catching HTTPException in a yield dependency without re-raising triggers FastAPIError response not awaited
  7. assert app.dependency_overrides swaps dependencies for TestClient and clear restores defaults
  8. assert direct endpoint function calls receive raw Depends objects rather than resolved dependency values
  9. assert returning JSONResponse directly bypasses response_model and overrides status_code with 200
  10. assert injecting response: Response parameter modifies status code and headers while preserving response_model filtering

Файлы

  • NOTES.md
  • csx.json
  • requirements.txt
  • src/__init__.py
  • src/app.py
  • test/contract.py

Скачать артефакт с исходным кодом (tar.gz)

Исходный сидер

csx-seed