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