1{ lib
2, buildPythonPackage
3, cachelib
4, cryptography
5, fetchFromGitHub
6, flask
7, flask-sqlalchemy
8, httpx
9, mock
10, pytest-asyncio
11, pytestCheckHook
12, pythonOlder
13, requests
14, starlette
15, werkzeug
16}:
17
18buildPythonPackage rec {
19 pname = "authlib";
20 version = "1.2.0";
21 format = "setuptools";
22
23 disabled = pythonOlder "3.7";
24
25 src = fetchFromGitHub {
26 owner = "lepture";
27 repo = "authlib";
28 rev = "refs/tags/v${version}";
29 hash = "sha256-OYfvfPnpWE9g7L9cFXUD95B/9+OZy55ZVbmFhFgguUg=";
30 };
31
32 propagatedBuildInputs = [
33 cryptography
34 requests
35 ];
36
37 nativeCheckInputs = [
38 cachelib
39 flask
40 flask-sqlalchemy
41 httpx
42 mock
43 pytest-asyncio
44 pytestCheckHook
45 starlette
46 werkzeug
47 ];
48
49 pythonImportsCheck = [
50 "authlib"
51 ];
52 disabledTestPaths = [
53 # Django tests require a running instance
54 "tests/django/"
55 "tests/clients/test_django/"
56 # Unsupported encryption algorithm
57 "tests/jose/test_chacha20.py"
58 ];
59
60 meta = with lib; {
61 description = "Library for building OAuth and OpenID Connect servers";
62 homepage = "https://github.com/lepture/authlib";
63 changelog = "https://github.com/lepture/authlib/releases/tag/v${version}";
64 license = licenses.bsd3;
65 maintainers = with maintainers; [ flokli ];
66 };
67}