1{ lib
2, buildPythonPackage
3, fetchPypi
4, tqdm
5, aiohttp
6, pytest
7, setuptools_scm
8, pytest-localserver
9, pytest-socket
10, pytest-asyncio
11, aioftp
12}:
13
14buildPythonPackage rec {
15 pname = "parfive";
16 version = "1.2.0";
17
18 src = fetchPypi {
19 inherit pname version;
20 sha256 = "118a0994bbb9536fd4574995a8485b6c4b97db247c55bc86ae4f4ae8fd9b0add";
21 };
22
23 buildInputs = [
24 setuptools_scm
25 ];
26
27 propagatedBuildInputs = [
28 tqdm
29 aiohttp
30 aioftp
31 ];
32
33 checkInputs = [
34 pytest
35 pytest-localserver
36 pytest-socket
37 pytest-asyncio
38 ];
39
40 checkPhase = ''
41 # these two tests require network connection
42 pytest parfive -k "not test_ftp and not test_ftp_http"
43 '';
44
45 meta = with lib; {
46 description = "A HTTP and FTP parallel file downloader";
47 homepage = "https://parfive.readthedocs.io/";
48 license = licenses.mit;
49 maintainers = [ maintainers.costrouc ];
50 };
51}