depot/third_party/nixpkgs/pkgs/development/python-modules/pyquery/default.nix

68 lines
1.4 KiB
Nix
Raw Normal View History

{ lib
, buildPythonPackage
, cssselect
, fetchPypi
, lxml
, pytestCheckHook
, pythonAtLeast
, pythonOlder
, requests
, webob
, webtest
}:
buildPythonPackage rec {
pname = "pyquery";
version = "2.0.0";
disabled = pythonOlder "3.7";
format = "setuptools";
src = fetchPypi {
inherit pname version;
hash = "sha256-lj6NTpAmL/bY3sBy6pcoXcN0ovacrXd29AgqvPah2K4=";
};
# https://github.com/gawel/pyquery/issues/248
postPatch = ''
substituteInPlace tests/test_pyquery.py \
--replace test_selector_html skip_test_selector_html
'';
propagatedBuildInputs = [
cssselect
lxml
];
__darwinAllowLocalNetworking = true;
pythonImportsCheck = [ "pyquery" ];
checkInputs = [
pytestCheckHook
requests
webob
(webtest.overridePythonAttrs (_: {
# circular dependency
doCheck = false;
}))
];
pytestFlagsArray = [
# requires network
"--deselect=tests/test_pyquery.py::TestWebScrappingEncoding::test_get"
];
disabledTests = lib.optionals (pythonAtLeast "3.12") [
# https://github.com/gawel/pyquery/issues/249
"pyquery.pyquery.PyQuery.serialize_dict"
];
meta = with lib; {
description = "A jquery-like library for Python";
homepage = "https://github.com/gawel/pyquery";
changelog = "https://github.com/gawel/pyquery/blob/${version}/CHANGES.rst";
license = licenses.bsd0;
};
}