1{
2 lib,
3 buildPythonPackage,
4 fetchPypi,
5 flake8,
6 orderedmultidict,
7 pytestCheckHook,
8 six,
9}:
10
11buildPythonPackage rec {
12 pname = "furl";
13 version = "2.1.3";
14 format = "setuptools";
15
16 src = fetchPypi {
17 inherit pname version;
18 sha256 = "5a6188fe2666c484a12159c18be97a1977a71d632ef5bb867ef15f54af39cc4e";
19 };
20
21 # With python 3.11.4, invalid IPv6 address does throw ValueError
22 # https://github.com/gruns/furl/issues/164#issuecomment-1595637359
23 postPatch = ''
24 substituteInPlace tests/test_furl.py \
25 --replace '[0:0:0:0:0:0:0:1:1:1:1:1:1:1:1:9999999999999]' '[2001:db8::9999]'
26 '';
27
28 propagatedBuildInputs = [
29 orderedmultidict
30 six
31 ];
32
33 nativeCheckInputs = [
34 flake8
35 pytestCheckHook
36 ];
37
38 pythonImportsCheck = [ "furl" ];
39
40 meta = with lib; {
41 description = "Python library that makes parsing and manipulating URLs easy";
42 homepage = "https://github.com/gruns/furl";
43 license = licenses.unlicense;
44 maintainers = with maintainers; [ vanzef ];
45 };
46}