1{
2 lib,
3 bottleneck,
4 buildPythonPackage,
5 fetchPypi,
6 jellyfish,
7 joblib,
8 networkx,
9 numexpr,
10 numpy,
11 pandas,
12 pyarrow,
13 pytest,
14 pythonOlder,
15 scikit-learn,
16 scipy,
17 setuptools,
18 setuptools-scm,
19 wheel,
20}:
21
22buildPythonPackage rec {
23 pname = "recordlinkage";
24 version = "0.16";
25 format = "pyproject";
26
27 disabled = pythonOlder "3.8";
28
29 src = fetchPypi {
30 inherit pname version;
31 hash = "sha256-7NoMEN/xOLFwaBXeMysShfZwrn6MzpJZYhNQHVieaqQ=";
32 };
33
34 nativeBuildInputs = [
35 setuptools
36 setuptools-scm
37 wheel
38 ];
39
40 propagatedBuildInputs = [
41 pyarrow
42 jellyfish
43 numpy
44 pandas
45 scipy
46 scikit-learn
47 joblib
48 networkx
49 bottleneck
50 numexpr
51 ];
52
53 # pytestCheckHook does not work
54 # Reusing their CI setup which involves 'rm -rf recordlinkage' in preCheck phase do not work too.
55 nativeCheckInputs = [ pytest ];
56
57 pythonImportsCheck = [ "recordlinkage" ];
58
59 meta = with lib; {
60 description = "Library to link records in or between data sources";
61 homepage = "https://recordlinkage.readthedocs.io/";
62 changelog = "https://github.com/J535D165/recordlinkage/releases/tag/v${version}";
63 license = licenses.bsd3;
64 maintainers = with maintainers; [ raitobezarius ];
65 };
66}