1{ lib
2, stdenv
3, arxiv2bib
4, beautifulsoup4
5, bibtexparser
6, buildPythonPackage
7, chardet
8, click
9, colorama
10, configparser
11, dominate
12, fetchFromGitHub
13, filetype
14, habanero
15, isbnlib
16, lxml
17, prompt-toolkit
18, pygments
19, pyparsing
20, pytestCheckHook
21, python-doi
22, python-slugify
23, pythonAtLeast
24, pythonOlder
25, pyyaml
26, requests
27, stevedore
28, tqdm
29, typing-extensions
30, whoosh
31}:
32
33buildPythonPackage rec {
34 pname = "papis";
35 version = "0.13";
36 format = "setuptools";
37
38 disabled = pythonOlder "3.7";
39
40 src = fetchFromGitHub {
41 owner = "papis";
42 repo = pname;
43 rev = "refs/tags/v${version}";
44 hash = "sha256-iRrf37hq+9D01JRaQIqg7yTPbLX6I0ZGnzG3r1DX464=";
45 };
46
47 propagatedBuildInputs = [
48 arxiv2bib
49 beautifulsoup4
50 bibtexparser
51 chardet
52 click
53 colorama
54 configparser
55 dominate
56 filetype
57 habanero
58 isbnlib
59 lxml
60 prompt-toolkit
61 pygments
62 pyparsing
63 python-doi
64 python-slugify
65 pyyaml
66 requests
67 stevedore
68 tqdm
69 typing-extensions
70 whoosh
71 ];
72
73 postPatch = ''
74 substituteInPlace setup.cfg \
75 --replace "--cov=papis" ""
76 '';
77
78 nativeCheckInputs = [
79 pytestCheckHook
80 ];
81
82 preCheck = ''
83 export HOME=$(mktemp -d);
84 '';
85
86 pytestFlagsArray = [
87 "papis tests"
88 ];
89
90 disabledTestPaths = [
91 "tests/downloaders"
92 "papis/downloaders/usenix.py"
93 ];
94
95 disabledTests = [
96 "get_document_url"
97 "match"
98 "test_doi_to_data"
99 "test_downloader_getter"
100 "test_general"
101 "test_get_config_dirs"
102 "test_get_data"
103 "test_valid_dblp_key"
104 "test_validate_arxivid"
105 "test_yaml"
106 ] ++ lib.optionals stdenv.isDarwin [
107 "test_default_opener"
108 ];
109
110 pythonImportsCheck = [
111 "papis"
112 ];
113
114 meta = with lib; {
115 description = "Powerful command-line document and bibliography manager";
116 homepage = "https://papis.readthedocs.io/";
117 changelog = "https://github.com/papis/papis/blob/v${version}/CHANGELOG.md";
118 license = licenses.gpl3Only;
119 maintainers = with maintainers; [ nico202 teto marsam ];
120 };
121}