1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 setuptools,
6 pythonOlder,
7 requests,
8 python-dateutil,
9 langcodes,
10 pgpy-dtc,
11 validators,
12 requests-mock,
13 pytestCheckHook,
14}:
15
16buildPythonPackage rec {
17 pname = "sectxt";
18 version = "0.9.6";
19 pyproject = true;
20
21 disabled = pythonOlder "3.7";
22
23 src = fetchFromGitHub {
24 owner = "DigitalTrustCenter";
25 repo = "sectxt";
26 tag = version;
27 hash = "sha256-49YxhcOpi1wofKMRuNxt8esBtfaSoBrGu+yBCRFWZYY=";
28 };
29
30 build-system = [ setuptools ];
31
32 dependencies = [
33 requests
34 python-dateutil
35 langcodes
36 pgpy-dtc
37 validators
38 ];
39
40 pythonRelaxDeps = [
41 "requests"
42 "langcodes"
43 "pgpy-dtc"
44 "validators"
45 ];
46
47 nativeCheckInputs = [
48 pytestCheckHook
49 requests-mock
50 ];
51
52 pythonImportsCheck = [ "sectxt" ];
53
54 meta = {
55 homepage = "https://github.com/DigitalTrustCenter/sectxt";
56 changelog = "https://github.com/DigitalTrustCenter/sectxt/releases/tag/${src.tag}";
57 description = "security.txt parser and validator";
58 license = lib.licenses.eupl12;
59 maintainers = with lib.maintainers; [ networkexception ];
60 };
61}