Something went wrong. Try again.
What happens if I push all of nixpkgs
Something went wrong. Try again.
2.7 kB · 145 lines
Nix
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146{ lib, buildPythonPackage, fetchFromGitHub, pythonOlder,
# build-system pdm-backend,
# dependencies starlette, pydantic, typing-extensions,
# tests anyio, dirty-equals, flask, inline-snapshot, passlib, pyjwt, pytest-asyncio, pytestCheckHook, sqlalchemy, trio,
# optional-dependencies fastapi-cli, httpx, jinja2, itsdangerous, python-multipart, pyyaml, ujson, orjson, email-validator, uvicorn, pydantic-settings, pydantic-extra-types,}:
buildPythonPackage rec { pname = "fastapi"; version = "0.115.12"; pyproject = true;
disabled = pythonOlder "3.7";
src = fetchFromGitHub { owner = "tiangolo"; repo = "fastapi"; tag = version; hash = "sha256-qUJFBOwXIizgIrTYbueflimni+/BhbuTEf45dsjShKE="; };
build-system = [ pdm-backend ];
pythonRelaxDeps = [ "anyio" "starlette" ];
dependencies = [ starlette pydantic typing-extensions ];
optional-dependencies = { all = [ fastapi-cli httpx jinja2 python-multipart itsdangerous pyyaml ujson orjson email-validator uvicorn ] ++ lib.optionals (lib.versionAtLeast pydantic.version "2") [ pydantic-settings pydantic-extra-types ] ++ fastapi-cli.optional-dependencies.standard ++ uvicorn.optional-dependencies.standard; standard = [ fastapi-cli httpx jinja2 python-multipart email-validator uvicorn ] ++ fastapi-cli.optional-dependencies.standard ++ uvicorn.optional-dependencies.standard; };
nativeCheckInputs = [ anyio dirty-equals flask inline-snapshot passlib pyjwt pytestCheckHook pytest-asyncio trio sqlalchemy ] ++ anyio.optional-dependencies.trio ++ passlib.optional-dependencies.bcrypt ++ optional-dependencies.all;
pytestFlags = [ # ignoring deprecation warnings to avoid test failure from # tests/test_tutorial/test_testing/test_tutorial001.py "-Wignore::DeprecationWarning" "-Wignore::pytest.PytestUnraisableExceptionWarning" ];
disabledTests = [ # Coverage test "test_fastapi_cli" # Likely pydantic compat issue "test_exception_handler_body_access" ];
disabledTestPaths = [ # Don't test docs and examples "docs_src" "tests/test_tutorial/test_sql_databases" ];
pythonImportsCheck = [ "fastapi" ];
meta = with lib; { changelog = "https://github.com/fastapi/fastapi/releases/tag/${version}"; description = "Web framework for building APIs"; homepage = "https://github.com/fastapi/fastapi"; license = licenses.mit; maintainers = with maintainers; [ wd15 ]; };}