Something went wrong. Try again.
lol
Something went wrong. Try again.
1.6 kB · 92 lines
Nix
at master
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293{ lib, buildPythonPackage, pythonAtLeast, isPyPy, fetchFromGitHub,
# build cython, setuptools,
# tests aiofiles, cbor2, httpx, msgpack, mujson, orjson, pytest7CheckHook, pyyaml, rapidjson, requests, ujson, uvicorn, websockets,}:
buildPythonPackage rec { pname = "falcon"; version = "4.2.0"; pyproject = true;
src = fetchFromGitHub { owner = "falconry"; repo = "falcon"; tag = version; hash = "sha256-Vi7J607PsjwxAKYNCiVGxSRYIbKHgrGvRX9Ent3+LQo="; };
build-system = [ setuptools ] ++ lib.optionals (!isPyPy) [ cython ];
__darwinAllowLocalNetworking = true;
preCheck = '' export HOME=$TMPDIR cp -R tests examples $TMPDIR pushd $TMPDIR '';
postCheck = '' popd '';
nativeCheckInputs = [ # https://github.com/falconry/falcon/blob/master/requirements/tests pytest7CheckHook pyyaml requests rapidjson orjson
# ASGI specific aiofiles httpx uvicorn websockets
# handler specific cbor2 msgpack mujson ujson ];
enabledTestPaths = [ "tests" ];
disabledTestPaths = [ # needs a running server "tests/asgi/test_asgi_servers.py" ] ++ lib.optionals (pythonAtLeast "3.12") [ # ModuleNotFoundError: No module named 'distutils' "tests/asgi/test_cythonized_asgi.py" ];
meta = { changelog = "https://falcon.readthedocs.io/en/stable/changes/${src.tag}.html"; description = "Ultra-reliable, fast ASGI+WSGI framework for building data plane APIs at scale"; homepage = "https://falconframework.org/"; license = lib.licenses.asl20; };}