1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5
6 # build-system
7 hatchling,
8
9 # dependencies
10 anyio,
11 asyncpg,
12 click,
13 cryptography,
14 fsspec,
15 httpx,
16 jinja2,
17 litestar-htmx,
18 mako,
19 msgspec,
20 multidict,
21 picologging,
22 polyfactory,
23 psutil,
24 psycopg,
25 pyyaml,
26 redis,
27 rich,
28 rich-click,
29 time-machine,
30 trio,
31 typing-extensions,
32
33 # tests
34 pytestCheckHook,
35 pytest-lazy-fixtures,
36 pytest-xdist,
37 pytest-mock,
38 pytest-asyncio,
39 pytest-timeout,
40 pytest-rerunfailures,
41 versionCheckHook,
42}:
43
44buildPythonPackage rec {
45 pname = "litestar";
46 version = "2.13.0";
47 pyproject = true;
48
49 src = fetchFromGitHub {
50 owner = "litestar-org";
51 repo = "litestar";
52 tag = "v${version}";
53 hash = "sha256-PR2DVNRtILHs7XwVi9/ZCVRJQFqfGLn1x2gpYtYjHDo=";
54 };
55
56 build-system = [
57 hatchling
58 ];
59
60 dependencies = [
61 anyio
62 asyncpg
63 click
64 cryptography
65 fsspec
66 httpx
67 jinja2
68 litestar-htmx
69 mako
70 msgspec
71 multidict
72 picologging
73 polyfactory
74 psutil
75 psycopg
76 pyyaml
77 redis
78 rich
79 rich-click
80 time-machine
81 trio
82 typing-extensions
83 ];
84
85 nativeCheckInputs = [
86 pytestCheckHook
87 pytest-lazy-fixtures
88 pytest-xdist
89 pytest-mock
90 pytest-asyncio
91 pytest-timeout
92 pytest-rerunfailures
93 versionCheckHook
94 ];
95 versionCheckProgramArg = "version";
96
97 __darwinAllowLocalNetworking = true;
98
99 pytestFlagsArray = [
100 # Follow github CI
101 "docs/examples/"
102 ];
103
104 meta = {
105 homepage = "https://litestar.dev/";
106 platforms = lib.platforms.unix;
107 maintainers = with lib.maintainers; [ bot-wxt1221 ];
108 changelog = "https://github.com/litestar-org/litestar/releases/tag/v${version}";
109 description = "Production-ready, Light, Flexible and Extensible ASGI API framework";
110 license = lib.licenses.mit;
111 mainProgram = "litestar";
112 };
113}