at master 1.7 kB view raw
1{ 2 lib, 3 backports-datetime-fromisoformat, 4 buildPythonPackage, 5 charset-normalizer, 6 dateparser, 7 faust-cchardet, 8 fetchFromGitHub, 9 lxml, 10 pytestCheckHook, 11 python-dateutil, 12 pythonOlder, 13 setuptools, 14 urllib3, 15}: 16 17buildPythonPackage rec { 18 pname = "htmldate"; 19 version = "1.9.3"; 20 pyproject = true; 21 22 disabled = pythonOlder "3.8"; 23 24 src = fetchFromGitHub { 25 owner = "adbar"; 26 repo = "htmldate"; 27 tag = "v${version}"; 28 hash = "sha256-9uFf/sx0AZdlvizU65H87hbtwDKf8Ykm67bKM9Oq//s="; 29 }; 30 31 build-system = [ setuptools ]; 32 33 dependencies = [ 34 charset-normalizer 35 dateparser 36 lxml 37 python-dateutil 38 urllib3 39 ]; 40 41 pythonRelaxDeps = [ "lxml" ]; 42 43 optional-dependencies = { 44 speed = [ 45 faust-cchardet 46 urllib3 47 ] 48 ++ lib.optionals (pythonOlder "3.11") [ backports-datetime-fromisoformat ] 49 ++ urllib3.optional-dependencies.brotli; 50 all = [ 51 faust-cchardet 52 urllib3 53 ] 54 ++ lib.optionals (pythonOlder "3.11") [ backports-datetime-fromisoformat ] 55 ++ urllib3.optional-dependencies.brotli; 56 }; 57 58 nativeCheckInputs = [ pytestCheckHook ]; 59 60 disabledTests = [ 61 # Tests that require an internet connection 62 "test_input" 63 "test_cli" 64 "test_download" 65 "test_readme_examples" 66 ]; 67 68 pythonImportsCheck = [ "htmldate" ]; 69 70 meta = with lib; { 71 description = "Module for the extraction of original and updated publication dates from URLs and web pages"; 72 homepage = "https://htmldate.readthedocs.io"; 73 changelog = "https://github.com/adbar/htmldate/blob/${src.tag}/CHANGELOG.md"; 74 license = licenses.asl20; 75 maintainers = with maintainers; [ jokatzke ]; 76 mainProgram = "htmldate"; 77 }; 78}