diff --git a/pkgs/development/python-modules/litestar/default.nix b/pkgs/development/python-modules/litestar/default.nix index ed087bbc005d..f8c95329e9b5 100644 --- a/pkgs/development/python-modules/litestar/default.nix +++ b/pkgs/development/python-modules/litestar/default.nix @@ -7,37 +7,55 @@ hatchling, # dependencies + annotated-types, anyio, asyncpg, + attrs, + brotli, click, cryptography, fsspec, httpx, jinja2, + jsbeautifier, litestar-htmx, mako, + minijinja, + fast-query-parsers, msgspec, multidict, + multipart, picologging, polyfactory, + piccolo, + prometheus-client, psutil, + opentelemetry-instrumentation-asgi, psycopg, + pydantic-extra-types, + pydantic, + email-validator, + pyjwt, pyyaml, redis, - rich, rich-click, + rich, + structlog, time-machine, - trio, typing-extensions, + uvicorn, + valkey, # tests - pytestCheckHook, - pytest-lazy-fixtures, - pytest-xdist, - pytest-mock, + httpx-sse, pytest-asyncio, - pytest-timeout, + pytest-lazy-fixtures, + pytest-mock, pytest-rerunfailures, + pytest-timeout, + pytest-xdist, + pytestCheckHook, + trio, versionCheckHook, }: @@ -53,61 +71,100 @@ buildPythonPackage rec { hash = "sha256-67O/NxPBBLa1QfH1o9laOAQEin8jRA8SkcV7QEzCjI0="; }; - build-system = [ - hatchling - ]; + build-system = [ hatchling ]; dependencies = [ anyio asyncpg click - cryptography + fast-query-parsers fsspec httpx - jinja2 litestar-htmx - mako msgspec multidict - picologging + multipart polyfactory psutil - psycopg pyyaml - redis rich rich-click - time-machine - trio typing-extensions ]; + optional-dependencies = { + annotated-types = [ annotated-types ]; + attrs = [ attrs ]; + brotli = [ brotli ]; + cli = [ + jsbeautifier + uvicorn + ]; + cryptography = [ cryptography ]; + htmx = [ litestar-htmx ]; + jinja = [ jinja2 ]; + jwt = [ + cryptography + pyjwt + ]; + mako = [ mako ]; + minijinja = [ minijinja ]; + opentelemetry = [ opentelemetry-instrumentation-asgi ]; + piccolo = [ piccolo ]; + picologging = [ picologging ]; + polyfactory = [ polyfactory ]; + prometheus = [ prometheus-client ]; + pydantic = [ + pydantic + email-validator + pydantic-extra-types + ]; + redis = [ redis ] ++ redis.optional-dependencies.hiredis; + # sqlalchemy = [ advanced-alchemy ]; + structlog = [ structlog ]; + valkey = [ valkey ] ++ valkey.optional-dependencies.libvalkey; + yaml = [ pyyaml ]; + }; + nativeCheckInputs = [ - pytestCheckHook - pytest-lazy-fixtures - pytest-xdist - pytest-mock + httpx-sse pytest-asyncio - pytest-timeout + pytest-lazy-fixtures + pytest-mock pytest-rerunfailures + pytest-timeout + pytest-xdist + pytestCheckHook + time-machine + trio versionCheckHook ]; + versionCheckProgramArg = "version"; __darwinAllowLocalNetworking = true; + preCheck = '' + export PATH=$out/bin:$PATH + ''; + enabledTestPaths = [ - # Follow github CI + # Follow GitHub CI "docs/examples/" ]; + disabledTests = [ + # StartupError + "test_subprocess_async_client" + ]; + meta = { - homepage = "https://litestar.dev/"; - platforms = lib.platforms.unix; - maintainers = with lib.maintainers; [ bot-wxt1221 ]; - changelog = "https://github.com/litestar-org/litestar/releases/tag/${src.tag}"; description = "Production-ready, Light, Flexible and Extensible ASGI API framework"; + homepage = "https://litestar.dev/"; + changelog = "https://github.com/litestar-org/litestar/releases/tag/${src.tag}"; license = lib.licenses.mit; mainProgram = "litestar"; + maintainers = with lib.maintainers; [ bot-wxt1221 ]; + platforms = lib.platforms.unix; }; }