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.1";
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-K6u590poZ9C3Uzi3a8k8aXMeSeRgn91e+p2PWYno3Y8=";
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
53 disabledTestPaths = [
54 # Django tests require a running instance
55 "tests/django/"
56 "tests/clients/test_django/"
57 # Unsupported encryption algorithm
58 "tests/jose/test_chacha20.py"
59 ];
60
61 meta = with lib; {
62 description = "Library for building OAuth and OpenID Connect servers";
63 homepage = "https://github.com/lepture/authlib";
64 changelog = "https://github.com/lepture/authlib/blob/v${version}/docs/changelog.rst";
65 license = licenses.bsd3;
66 maintainers = with maintainers; [ flokli ];
67 };
68}