{ lib, buildPythonPackage, fetchPypi, pythonAtLeast, flake8, orderedmultidict, pytestCheckHook, six, }: buildPythonPackage rec { pname = "furl"; version = "2.1.3"; format = "setuptools"; src = fetchPypi { inherit pname version; sha256 = "5a6188fe2666c484a12159c18be97a1977a71d632ef5bb867ef15f54af39cc4e"; }; # With python 3.11.4, invalid IPv6 address does throw ValueError # https://github.com/gruns/furl/issues/164#issuecomment-1595637359 postPatch = '' substituteInPlace tests/test_furl.py \ --replace '[0:0:0:0:0:0:0:1:1:1:1:1:1:1:1:9999999999999]' '[2001:db8::9999]' ''; propagatedBuildInputs = [ orderedmultidict six ]; nativeCheckInputs = [ flake8 pytestCheckHook ]; disabledTests = lib.optionals (pythonAtLeast "3.12") [ # AssertionError: assert '//////path' == '////path' "test_odd_urls" ]; pythonImportsCheck = [ "furl" ]; meta = with lib; { description = "Python library that makes parsing and manipulating URLs easy"; homepage = "https://github.com/gruns/furl"; license = licenses.unlicense; maintainers = with maintainers; [ vanzef ]; }; }