Something went wrong. Try again.
Nix Packages collection & NixOS github.com/NixOS/nixpkgs
Something went wrong. Try again.
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147{ lib, buildPythonPackage, fetchFromGitHub,
# build-system pdm-backend,
# dependencies annotated-doc, starlette, pydantic, typing-extensions, typing-inspection,
# tests anyio, a2wsgi, dirty-equals, flask, httpx2, inline-snapshot, pwdlib, pyjwt, pytest-xdist, pytest-timeout, pytestCheckHook,
# optional-dependencies fastapi-cli, httpx, jinja2, itsdangerous, python-multipart, pyyaml, email-validator, uvicorn, pydantic-settings, pydantic-extra-types,}:
buildPythonPackage (finalAttrs: { pname = "fastapi"; version = "0.141.1"; pyproject = true; __structuredAttrs = true;
src = fetchFromGitHub { owner = "tiangolo"; repo = "fastapi"; tag = finalAttrs.version; hash = "sha256-5P9aDMS7gLti2CBlrucvjgl4Od1mti9ityPdqxI1RIM="; };
build-system = [ pdm-backend ];
dependencies = [ annotated-doc starlette pydantic typing-extensions typing-inspection ];
optional-dependencies = { all = [ fastapi-cli httpx jinja2 python-multipart itsdangerous pyyaml email-validator uvicorn pydantic-settings pydantic-extra-types ] ++ fastapi-cli.optional-dependencies.standard ++ uvicorn.optional-dependencies.standard; standard = [ fastapi-cli # FIXME package fastar httpx jinja2 python-multipart email-validator uvicorn pydantic-settings pydantic-extra-types ] ++ fastapi-cli.optional-dependencies.standard ++ uvicorn.optional-dependencies.standard; standard-no-fastapi-cloud-cli = [ fastapi-cli httpx jinja2 python-multipart email-validator uvicorn pydantic-settings pydantic-extra-types ] ++ fastapi-cli.optional-dependencies.standard-no-fastapi-cloud-cli ++ uvicorn.optional-dependencies.standard; };
nativeCheckInputs = [ a2wsgi anyio a2wsgi dirty-equals flask httpx2 inline-snapshot pwdlib pyjwt pytestCheckHook pytest-xdist pytest-timeout ] ++ anyio.optional-dependencies.trio ++ finalAttrs.finalPackage.passthru.optional-dependencies.all;
disabledTests = [ # Coverage test "test_fastapi_cli" ];
disabledTestPaths = [ # Don't test docs and examples "docs_src" "tests/test_tutorial" # Infinite recursion with strawberry-graphql "tests/test_tutorial/test_graphql/test_tutorial001.py" ];
pythonImportsCheck = [ "fastapi" ];
meta = { changelog = "https://github.com/fastapi/fastapi/releases/tag/${finalAttrs.src.tag}"; description = "Web framework for building APIs"; homepage = "https://github.com/fastapi/fastapi"; license = lib.licenses.mit; maintainers = with lib.maintainers; [ wd15 ]; };})