1{
2 lib,
3 aiofiles,
4 aioftp,
5 aiohttp,
6 buildPythonPackage,
7 fetchPypi,
8 pytest-asyncio,
9 pytest-localserver,
10 pytest-socket,
11 pytestCheckHook,
12 pythonOlder,
13 setuptools-scm,
14 tqdm,
15}:
16
17buildPythonPackage rec {
18 pname = "parfive";
19 version = "2.1.0";
20 format = "setuptools";
21
22 disabled = pythonOlder "3.7";
23
24 src = fetchPypi {
25 inherit pname version;
26 hash = "sha256-zWy0GSQhMHMM9B1M9vKE6/UPGnHObJUI4EZ+yY8X3I4=";
27 };
28
29 buildInputs = [ setuptools-scm ];
30
31 propagatedBuildInputs = [
32 aioftp
33 aiohttp
34 tqdm
35 ];
36
37 nativeCheckInputs = [
38 aiofiles
39 pytest-asyncio
40 pytest-localserver
41 pytest-socket
42 pytestCheckHook
43 ];
44
45 disabledTests = [
46 # Requires network access
47 "test_ftp"
48 "test_ftp_pasv_command"
49 "test_ftp_http"
50 ];
51
52 pythonImportsCheck = [ "parfive" ];
53
54 meta = with lib; {
55 description = "HTTP and FTP parallel file downloader";
56 mainProgram = "parfive";
57 homepage = "https://parfive.readthedocs.io/";
58 license = licenses.mit;
59 maintainers = [ ];
60 };
61}