{ lib, buildPythonPackage, fetchFromGitHub, pythonAtLeast, # build-system setuptools, # tests pytestCheckHook, pytest-cov-stub, }: buildPythonPackage (finalAttrs: { pname = "isbnlib"; version = "3.10.14"; pyproject = true; # Several tests fail and suggest that the package is incompatible with python >= 3.14 disabled = pythonAtLeast "3.14"; src = fetchFromGitHub { owner = "xlcnd"; repo = "isbnlib"; tag = "v${finalAttrs.version}"; hash = "sha256-d6p0wv7kj+NOZJRE2rzQgb7PXv+E3tASIibYCjzCdx8="; }; build-system = [ setuptools ]; dependencies = [ setuptools # needed for 'pkg_resources' ]; nativeCheckInputs = [ pytestCheckHook pytest-cov-stub ]; enabledTestPaths = [ "isbnlib/test/" ]; disabledTests = [ # Require a network connection "test_cache" "test_editions_any" "test_editions_merge" "test_editions_thingl" "test_editions_wiki" "test_isbn_from_words" "test_desc" "test_cover" ]; disabledTestPaths = [ "isbnlib/test/test_cache_decorator.py" "isbnlib/test/test_goom.py" "isbnlib/test/test_metadata.py" "isbnlib/test/test_openl.py" "isbnlib/test/test_rename.py" "isbnlib/test/test_webservice.py" "isbnlib/test/test_wiki.py" "isbnlib/test/test_words.py" ]; pythonImportsCheck = [ "isbnlib" "isbnlib.config" "isbnlib.dev" "isbnlib.dev.helpers" "isbnlib.registry" ]; meta = { description = "Extract, clean, transform, hyphenate and metadata for ISBNs"; homepage = "https://github.com/xlcnd/isbnlib"; changelog = "https://github.com/xlcnd/isbnlib/blob/${finalAttrs.src.tag}/CHANGES.txt"; license = lib.licenses.lgpl3Plus; maintainers = with lib.maintainers; [ dotlambda ]; }; })