nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 pythonAtLeast,
6
7 # build-system
8 setuptools,
9
10 # tests
11 pytestCheckHook,
12 pytest-cov-stub,
13}:
14
15buildPythonPackage (finalAttrs: {
16 pname = "isbnlib";
17 version = "3.10.14";
18 pyproject = true;
19
20 # Several tests fail and suggest that the package is incompatible with python >= 3.14
21 disabled = pythonAtLeast "3.14";
22
23 src = fetchFromGitHub {
24 owner = "xlcnd";
25 repo = "isbnlib";
26 tag = "v${finalAttrs.version}";
27 hash = "sha256-d6p0wv7kj+NOZJRE2rzQgb7PXv+E3tASIibYCjzCdx8=";
28 };
29
30 build-system = [ setuptools ];
31
32 dependencies = [
33 setuptools # needed for 'pkg_resources'
34 ];
35
36 nativeCheckInputs = [
37 pytestCheckHook
38 pytest-cov-stub
39 ];
40
41 enabledTestPaths = [ "isbnlib/test/" ];
42
43 disabledTests = [
44 # Require a network connection
45 "test_cache"
46 "test_editions_any"
47 "test_editions_merge"
48 "test_editions_thingl"
49 "test_editions_wiki"
50 "test_isbn_from_words"
51 "test_desc"
52 "test_cover"
53 ];
54
55 disabledTestPaths = [
56 "isbnlib/test/test_cache_decorator.py"
57 "isbnlib/test/test_goom.py"
58 "isbnlib/test/test_metadata.py"
59 "isbnlib/test/test_openl.py"
60 "isbnlib/test/test_rename.py"
61 "isbnlib/test/test_webservice.py"
62 "isbnlib/test/test_wiki.py"
63 "isbnlib/test/test_words.py"
64 ];
65
66 pythonImportsCheck = [
67 "isbnlib"
68 "isbnlib.config"
69 "isbnlib.dev"
70 "isbnlib.dev.helpers"
71 "isbnlib.registry"
72 ];
73
74 meta = {
75 description = "Extract, clean, transform, hyphenate and metadata for ISBNs";
76 homepage = "https://github.com/xlcnd/isbnlib";
77 changelog = "https://github.com/xlcnd/isbnlib/blob/${finalAttrs.src.tag}/CHANGES.txt";
78 license = lib.licenses.lgpl3Plus;
79 maintainers = with lib.maintainers; [ dotlambda ];
80 };
81})