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