xwax: init at version 1.9 (#377421)
[NixPkgs.git] / pkgs / development / python-modules / snscrape / default.nix
blob4af0d060b73585e6244e0a4b52ace784839d95ad
2   lib,
3   beautifulsoup4,
4   buildPythonPackage,
5   fetchFromGitHub,
6   fetchpatch,
7   filelock,
8   lxml,
9   pythonOlder,
10   pytz,
11   requests,
12   setuptools-scm,
15 buildPythonPackage rec {
16   pname = "snscrape";
17   version = "0.7.0.20230622";
18   pyproject = true;
20   disabled = pythonOlder "3.8";
22   src = fetchFromGitHub {
23     owner = "JustAnotherArchivist";
24     repo = "snscrape";
25     tag = "v${version}";
26     hash = "sha256-9xAUMr1SWFePEvIz6DFEexk9Txex3u8wPNfMAdxEUCA=";
27   };
29   patches = [
30     # Fix find_module deprecation, https://github.com/JustAnotherArchivist/snscrape/pull/1036
31     (fetchpatch {
32       name = "fix-find-module.patch";
33       url = "https://github.com/JustAnotherArchivist/snscrape/commit/7f4717aaaaa8d4c96fa1dbe72ded799a722732ee.patch";
34       hash = "sha256-6O9bZ5GlTPuR0MML/O4DDRBcDX/CJbU54ZE551cfPHo=";
35     })
36   ];
38   build-system = [ setuptools-scm ];
40   dependencies =
41     [
42       beautifulsoup4
43       filelock
44       lxml
45       requests
46     ]
47     ++ requests.optional-dependencies.socks
48     ++ lib.optionals (pythonOlder "3.9") [ pytz ];
50   # There are no tests; make sure the executable works.
51   checkPhase = ''
52     export PATH=$PATH:$out/bin
53     snscrape --help
54   '';
56   pythonImportsCheck = [ "snscrape" ];
58   meta = with lib; {
59     description = "Social networking service scraper";
60     homepage = "https://github.com/JustAnotherArchivist/snscrape";
61     license = licenses.gpl3Plus;
62     maintainers = with maintainers; [ ivan ];
63     mainProgram = "snscrape";
64   };