1{ lib
2, buildPythonPackage
3, docopt
4, fetchFromGitHub
5, pytestCheckHook
6, requests
7, jsonpatch
8, schema
9, responses
10, setuptools
11, tqdm
12, urllib3
13, pythonOlder
14}:
15
16buildPythonPackage rec {
17 pname = "internetarchive";
18 version = "3.5.0";
19
20 format = "pyproject";
21
22 disabled = pythonOlder "3.7";
23
24 # no tests data included in PyPI tarball
25 src = fetchFromGitHub {
26 owner = "jjjake";
27 repo = "internetarchive";
28 rev = "v${version}";
29 hash = "sha256-apBzx1qMHEA0wiWh82sS7I+AaiMEoAchhPsrtAgujbQ=";
30 };
31
32 propagatedBuildInputs = [
33 tqdm
34 docopt
35 requests
36 jsonpatch
37 schema
38 setuptools # needs pkg_resources at runtime
39 urllib3
40 ];
41
42 nativeCheckInputs = [
43 responses
44 pytestCheckHook
45 ];
46
47 disabledTests = [
48 # Tests require network access
49 "test_get_item_with_kwargs"
50 "test_upload"
51 "test_upload_metadata"
52 "test_upload_queue_derive"
53 "test_upload_validate_identifie"
54 "test_upload_validate_identifier"
55 ];
56
57 disabledTestPaths = [
58 # Tests require network access
59 "tests/cli/test_ia.py"
60 "tests/cli/test_ia_download.py"
61 ];
62
63 pythonImportsCheck = [
64 "internetarchive"
65 ];
66
67 meta = with lib; {
68 description = "A Python and Command-Line Interface to Archive.org";
69 homepage = "https://github.com/jjjake/internetarchive";
70 changelog = "https://github.com/jjjake/internetarchive/raw/v${version}/HISTORY.rst";
71 license = licenses.agpl3Plus;
72 maintainers = [ maintainers.marsam ];
73 mainProgram = "ia";
74 };
75}