1{
2 lib,
3 buildPythonPackage,
4 certifi,
5 cryptography,
6 fetchFromGitHub,
7 hatch-fancy-pypi-readme,
8 hatch-vcs,
9 hatchling,
10 pretend,
11 pyopenssl,
12 pytestCheckHook,
13 pythonOlder,
14 twisted,
15}:
16
17buildPythonPackage rec {
18 pname = "pem";
19 version = "23.1.0";
20 format = "pyproject";
21
22 disabled = pythonOlder "3.7";
23
24 src = fetchFromGitHub {
25 owner = "hynek";
26 repo = "pem";
27 tag = version;
28 hash = "sha256-rVYlnvISGugh9qvf3mdrIyELmeOUU4g6291HeoMkoQc=";
29 };
30
31 nativeBuildInputs = [
32 hatchling
33 hatch-fancy-pypi-readme
34 hatch-vcs
35 ];
36
37 nativeCheckInputs = [
38 certifi
39 cryptography
40 pretend
41 pyopenssl
42 pytestCheckHook
43 twisted
44 ]
45 ++ twisted.optional-dependencies.tls;
46
47 pythonImportsCheck = [ "pem" ];
48
49 meta = with lib; {
50 description = "Easy PEM file parsing in Python";
51 homepage = "https://pem.readthedocs.io/";
52 changelog = "https://github.com/hynek/pem/blob/${version}/CHANGELOG.md";
53 license = licenses.mit;
54 maintainers = with maintainers; [ nyanotech ];
55 };
56}