1{
2 lib,
3 ahocorasick-rs,
4 babel,
5 banal,
6 buildPythonPackage,
7 fetchFromGitHub,
8 fingerprints,
9 hatchling,
10 jellyfish,
11 jinja2,
12 normality,
13 orjson,
14 pytestCheckHook,
15 python-stdnum,
16 pytz,
17 pyyaml,
18 rapidfuzz,
19 typing-extensions,
20}:
21
22buildPythonPackage rec {
23 pname = "rigour";
24 version = "1.3.7";
25 pyproject = true;
26
27 src = fetchFromGitHub {
28 owner = "opensanctions";
29 repo = "rigour";
30 tag = "v${version}";
31 hash = "sha256-XlKP5XHJGnDwaHS43enkGVPoSXDz7+oEyDSG3xghBXM=";
32 };
33
34 build-system = [
35 hatchling
36 ];
37
38 dependencies = [
39 ahocorasick-rs
40 babel
41 banal
42 fingerprints
43 jellyfish
44 jinja2
45 normality
46 orjson
47 python-stdnum
48 pytz
49 pyyaml
50 rapidfuzz
51 typing-extensions
52 ];
53
54 nativeCheckInputs = [ pytestCheckHook ];
55
56 pythonImportsCheck = [
57 "rigour"
58 "rigour.names"
59 "rigour.ids"
60 "rigour.langs"
61 "rigour.mime"
62 "rigour.addresses"
63 ];
64
65 meta = {
66 description = "Data cleaning and validation functions for names, languages, identifiers, etc";
67 homepage = "https://opensanctions.github.io/rigour";
68 license = lib.licenses.mit;
69 maintainers = with lib.maintainers; [ bcdarwin ];
70 };
71}