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.1";
18 pyproject = true;
19
20 src = fetchFromGitHub {
21 owner = "rajatomar788";
22 repo = "pywebcopy";
23 tag = version;
24 hash = "sha256-ee8uGg4PU1uch8cyiU7QfvdYFUVDz7obq9oC8fKkf1s=";
25 };
26
27 build-system = [ setuptools ];
28
29 dependencies = [
30 cachecontrol
31 lxml-html-clean
32 requests
33 six
34 ]
35 ++ lib.optionals (pythonAtLeast "3.13") [ legacy-cgi ];
36
37 nativeCheckInputs = [ pytestCheckHook ];
38
39 pythonImportsCheck = [ "pywebcopy" ];
40
41 meta = {
42 changelog = "https://github.com/rajatomar788/pywebcopy/blob/master/docs/changelog.md";
43 description = "Python package for cloning complete webpages and websites to local storage";
44 homepage = "https://github.com/rajatomar788/pywebcopy/";
45 license = lib.licenses.asl20;
46 maintainers = with lib.maintainers; [ d3vil0p3r ];
47 };
48}