1{
2 lib,
3 buildPythonPackage,
4 cachecontrol,
5 fetchFromGitHub,
6 legacy-cgi,
7 lxml-html-clean,
8 pytestCheckHook,
9 pythonAtLeast,
10 requests,
11 setuptools,
12 six,
13}:
14
15buildPythonPackage rec {
16 pname = "pywebcopy";
17 version = "7.0.2";
18 pyproject = true;
19
20 src = fetchFromGitHub {
21 owner = "rajatomar788";
22 repo = "pywebcopy";
23 rev = "v${version}";
24 hash = "sha256-XTPk3doF9dqImsLtTB03YKMWLzQrJpJtjNXe+691rZo=";
25 };
26
27 build-system = [ setuptools ];
28
29 dependencies = [
30 cachecontrol
31 lxml-html-clean
32 requests
33 six
34 ] ++ lib.optionals (pythonAtLeast "3.13") [ legacy-cgi ];
35
36 nativeCheckInputs = [ pytestCheckHook ];
37
38 pythonImportsCheck = [ "pywebcopy" ];
39
40 meta = {
41 changelog = "https://github.com/rajatomar788/pywebcopy/blob/master/docs/changelog.md";
42 description = "Python package for cloning complete webpages and websites to local storage";
43 homepage = "https://github.com/rajatomar788/pywebcopy/";
44 license = lib.licenses.asl20;
45 maintainers = with lib.maintainers; [ d3vil0p3r ];
46 };
47}