1{ lib
2, buildPythonPackage
3, fetchPypi
4, filelock
5, idna
6, pytest-mock
7, pytestCheckHook
8, pythonOlder
9, requests
10, requests-file
11, responses
12, setuptools-scm
13}:
14
15buildPythonPackage rec {
16 pname = "tldextract";
17 version = "3.4.4";
18 format = "setuptools";
19
20 disabled = pythonOlder "3.7";
21
22 src = fetchPypi {
23 inherit pname version;
24 hash = "sha256-X+MhDFd0Y1RRkdRa1SLT1eeNVSGM6XIV6CAE3K4eEjQ=";
25 };
26
27 nativeBuildInputs = [
28 setuptools-scm
29 ];
30
31 propagatedBuildInputs = [
32 filelock
33 idna
34 requests
35 requests-file
36 ];
37
38 nativeCheckInputs = [
39 pytest-mock
40 pytestCheckHook
41 responses
42 ];
43
44 postPatch = ''
45 substituteInPlace pytest.ini \
46 --replace " --pylint" ""
47 '';
48
49 pythonImportsCheck = [
50 "tldextract"
51 ];
52
53 meta = with lib; {
54 description = "Python module to accurately separate the TLD from the domain of an URL";
55 longDescription = ''
56 tldextract accurately separates the gTLD or ccTLD (generic or country code top-level domain)
57 from the registered domain and subdomains of a URL.
58 '';
59 homepage = "https://github.com/john-kurkowski/tldextract";
60 license = with licenses; [ bsd3 ];
61 maintainers = with maintainers; [ fab ];
62 };
63}