1{
2 lib,
3 buildPythonPackage,
4 email-validator,
5 fastapi,
6 fetchFromGitHub,
7 httpx,
8 oauthlib,
9 poetry-core,
10 pydantic,
11 pylint,
12 pytest-asyncio,
13 pytest-xdist,
14 pytestCheckHook,
15 pythonOlder,
16}:
17
18buildPythonPackage rec {
19 pname = "fastapi-sso";
20 version = "0.15.0";
21 pyproject = true;
22
23 disabled = pythonOlder "3.8";
24
25 src = fetchFromGitHub {
26 owner = "tomasvotava";
27 repo = "fastapi-sso";
28 rev = "refs/tags/${version}";
29 hash = "sha256-jSUogf2Dup8k4BOQAXJwg8R96Blgieg82/X/n1TLnL0=";
30 };
31
32 postPatch = ''
33 sed -i "/--cov/d" pyproject.toml
34 '';
35
36 build-system = [ poetry-core ];
37
38 dependencies = [
39 fastapi
40 httpx
41 oauthlib
42 pydantic
43 pylint
44 ];
45
46 nativeCheckInputs = [
47 email-validator
48 pytest-asyncio
49 pytest-xdist
50 pytestCheckHook
51 ];
52
53 pythonImportsCheck = [ "fastapi_sso" ];
54
55 meta = with lib; {
56 description = "FastAPI plugin to enable SSO to most common providers (such as Facebook login, Google login and login via Microsoft Office 365 Account";
57 homepage = "https://github.com/tomasvotava/fastapi-sso";
58 changelog = "https://github.com/tomasvotava/fastapi-sso/releases/tag/${version}";
59 license = licenses.mit;
60 maintainers = with maintainers; [ fab ];
61 };
62}