1{
2 lib,
3 buildPythonPackage,
4 cryptography,
5 fetchFromGitHub,
6 fonttools,
7 lxml,
8 matplotlib,
9 pandas,
10 pillow,
11 python-barcode,
12 pythonOlder,
13 qrcode,
14 pytestCheckHook,
15 requests,
16 setuptools,
17}:
18
19buildPythonPackage rec {
20 pname = "borb";
21 version = "2.1.24";
22 pyproject = true;
23
24 disabled = pythonOlder "3.6";
25
26 src = fetchFromGitHub {
27 owner = "jorisschellekens";
28 repo = "borb";
29 rev = "refs/tags/v${version}";
30 hash = "sha256-3PZ3fHsq9pgJ4oK42Y4b/3ghuYELgRPe09fciOKknuE=";
31 };
32
33 build-system = [ setuptools ];
34
35 dependencies = [
36 cryptography
37 fonttools
38 lxml
39 pillow
40 python-barcode
41 qrcode
42 requests
43 setuptools
44 ];
45
46 nativeCheckInputs = [
47 matplotlib
48 pandas
49 pytestCheckHook
50 ];
51
52 pythonImportsCheck = [ "borb.pdf" ];
53
54 disabledTests = [
55 "test_code_files_are_small "
56 "test_image_has_pdfobject_methods"
57 ];
58
59 disabledTestPaths = [
60 # Tests require network access
61 "tests/pdf/"
62 "tests/toolkit/"
63 "tests/license/"
64 ];
65
66 meta = {
67 description = "Library for reading, creating and manipulating PDF files in Python";
68 homepage = "https://borbpdf.com/";
69 changelog = "https://github.com/jorisschellekens/borb/releases/tag/v${version}";
70 license = lib.licenses.agpl3Only;
71 maintainers = with lib.maintainers; [ getchoo ];
72 };
73}