1{
2 lib,
3 beautifulsoup4,
4 buildPythonPackage,
5 click,
6 fetchFromGitHub,
7 pytestCheckHook,
8 pythonOlder,
9 pyyaml,
10 requests,
11 schema,
12 setuptools,
13}:
14
15buildPythonPackage rec {
16 pname = "policy-sentry";
17 version = "0.12.12";
18 pyproject = true;
19
20 disabled = pythonOlder "3.7";
21
22 src = fetchFromGitHub {
23 owner = "salesforce";
24 repo = "policy_sentry";
25 rev = "refs/tags/${version}";
26 hash = "sha256-1LYcUlGoSalbdo4tiNIYbdA04IHRTImhdWScpiCZk50=";
27 };
28
29 build-system = [ setuptools ];
30
31 dependencies = [
32 beautifulsoup4
33 click
34 requests
35 pyyaml
36 schema
37 ];
38
39 nativeCheckInputs = [ pytestCheckHook ];
40
41 pythonImportsCheck = [ "policy_sentry" ];
42
43 meta = with lib; {
44 description = "Python module for generating IAM least privilege policies";
45 homepage = "https://github.com/salesforce/policy_sentry";
46 changelog = "https://github.com/salesforce/policy_sentry/releases/tag/${version}";
47 license = licenses.bsd3;
48 maintainers = with maintainers; [ fab ];
49 mainProgram = "policy_sentry";
50 };
51}