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 = pname;
27 rev = "refs/tags/${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 ] ++ twisted.optional-dependencies.tls;
45
46 pythonImportsCheck = [ "pem" ];
47
48 meta = with lib; {
49 description = "Easy PEM file parsing in Python";
50 homepage = "https://pem.readthedocs.io/";
51 changelog = "https://github.com/hynek/pem/blob/${version}/CHANGELOG.md";
52 license = licenses.mit;
53 maintainers = with maintainers; [ nyanotech ];
54 };
55}