1{
2 lib,
3 stdenv,
4 buildPythonPackage,
5 fetchFromGitHub,
6
7 # build-system
8 setuptools,
9
10 # dependencies
11 requests,
12 pycryptodomex,
13 pydantic-settings,
14 pyjwkest,
15 mako,
16 cryptography,
17 defusedxml,
18
19 # tests
20 pytestCheckHook,
21 freezegun,
22 responses,
23 testfixtures,
24}:
25
26buildPythonPackage rec {
27 pname = "oic";
28 version = "1.7.0";
29 pyproject = true;
30
31 src = fetchFromGitHub {
32 owner = "CZ-NIC";
33 repo = "pyoidc";
34 tag = version;
35 hash = "sha256-7qEK1HWLEGCKu+gDAfbyT1a+sM9fVOfjtkqZ33GWv6U=";
36 };
37
38 build-system = [
39 setuptools
40 ];
41
42 dependencies = [
43 requests
44 pycryptodomex
45 pydantic-settings
46 pyjwkest
47 mako
48 cryptography
49 defusedxml
50 ];
51
52 nativeCheckInputs = [
53 pytestCheckHook
54 freezegun
55 responses
56 testfixtures
57 ];
58
59 pythonImportsCheck = [ "oic" ];
60
61 meta = {
62 description = "OpenID Connect implementation in Python";
63 homepage = "https://github.com/CZ-NIC/pyoidc";
64 changelog = "https://github.com/CZ-NIC/pyoidc/releases/tag/${version}";
65 license = lib.licenses.asl20;
66 maintainers = with lib.maintainers; [ veprbl ];
67 };
68}