1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5
6 # build-system
7 poetry-core,
8
9 # dependencies
10 cachelib,
11 flask,
12 pytz,
13
14 # tests
15 elasticsearch,
16 flask-sqlalchemy,
17 peewee,
18 pymemcache,
19 pymongo,
20 pytestCheckHook,
21 redis,
22 redisTestHook,
23}:
24
25buildPythonPackage rec {
26 pname = "flask-session2";
27 version = "1.3.1";
28 pyproject = true;
29
30 __darwinAllowLocalNetworking = true;
31
32 src = fetchFromGitHub {
33 owner = "christopherpickering";
34 repo = "flask-session2";
35 tag = "v${version}";
36 hash = "sha256-kxUuEirUG/jZlygKyQy2Sm7hmB331K2q8vBmcIbp7/s=";
37 };
38
39 build-system = [ poetry-core ];
40
41 dependencies = [
42 cachelib
43 flask
44 pytz
45 ];
46
47 pythonRelaxDeps = [
48 "cachelib"
49 "flask"
50 "pytz"
51 ];
52
53 nativeCheckInputs = [
54 elasticsearch
55 flask-sqlalchemy
56 peewee
57 pymemcache
58 pymongo
59 pytestCheckHook
60 redis
61 redisTestHook
62 ];
63
64 disabledTests = [
65 "test_elasticsearch_session"
66 "test_flasksqlalchemy_session"
67 "test_flasksqlalchemy_session_with_signer"
68 "test_memcached_session"
69 "test_mongodb_session"
70 "test_session_use_signer"
71 ];
72
73 pythonImportsCheck = [ "flask_session" ];
74
75 meta = {
76 description = "Flask extension that adds support for server-side sessions";
77 homepage = "https://github.com/christopherpickering/flask-session2";
78 changelog = "https://github.com/christopherpickering/flask-session2/releases/tag/${version}";
79 license = lib.licenses.bsd3;
80 maintainers = with lib.maintainers; [ ethancedwards8 ];
81 };
82}