{ lib , buildPythonPackage , pythonOlder , fetchFromGitHub , setuptools , python-dateutil , pytz , regex , tzlocal , hijri-converter , convertdate , fasttext , langdetect , parameterized , pytestCheckHook , gitpython , parsel , requests , ruamel-yaml }: buildPythonPackage rec { pname = "dateparser"; version = "1.2.0"; disabled = pythonOlder "3.7"; pyproject = true; src = fetchFromGitHub { owner = "scrapinghub"; repo = "dateparser"; rev = "refs/tags/v${version}"; hash = "sha256-mnL44hojebOwP6qtEBHs5QM4uRmLuGlVNr+sM3jZEKE="; }; nativeBuildInputs = [ setuptools ]; propagatedBuildInputs = [ python-dateutil pytz regex tzlocal ]; passthru.optional-dependencies = { calendars = [ hijri-converter convertdate ]; fasttext = [ fasttext ]; langdetect = [ langdetect ]; }; nativeCheckInputs = [ parameterized pytestCheckHook gitpython parsel requests ruamel-yaml ] ++ lib.flatten (lib.attrValues passthru.optional-dependencies); preCheck = '' export HOME="$TEMPDIR" ''; # Upstream only runs the tests in tests/ in CI, others use git clone pytestFlagsArray = [ "tests" ]; disabledTests = [ # access network "test_custom_language_detect_fast_text_0" "test_custom_language_detect_fast_text_1" ]; pythonImportsCheck = [ "dateparser" ]; meta = with lib; { changelog = "https://github.com/scrapinghub/dateparser/blob/${src.rev}/HISTORY.rst"; description = "Date parsing library designed to parse dates from HTML pages"; homepage = "https://github.com/scrapinghub/dateparser"; license = licenses.bsd3; mainProgram = "dateparser-download"; maintainers = with maintainers; [ dotlambda ]; }; }