1{
2 lib,
3 beancount,
4 buildPythonPackage,
5 fetchPypi,
6 pytestCheckHook,
7 pythonOlder,
8 regex,
9 setuptools-scm,
10}:
11
12buildPythonPackage rec {
13 pname = "beancount-docverif";
14 version = "1.0.1";
15 pyproject = true;
16
17 disabled = pythonOlder "3.7";
18
19 src = fetchPypi {
20 pname = "beancount_docverif";
21 inherit version;
22 hash = "sha256-CFBv1FZP5JO+1MPnD86ttrO42zZlvE157zqig7s4HOg=";
23 };
24
25 build-system = [ setuptools-scm ];
26
27 dependencies = [ beancount ];
28
29 nativeCheckInputs = [
30 pytestCheckHook
31 regex
32 ];
33
34 pythonImportsCheck = [ "beancount_docverif" ];
35
36 meta = with lib; {
37 description = "Document verification plugin for Beancount";
38 homepage = "https://github.com/siriobalmelli/beancount_docverif";
39 longDescription = ''
40 Docverif is the "Document Verification" plugin for beancount, fulfilling the following functions:
41
42 - Require that every transaction touching an account have an accompanying document on disk.
43 - Explicitly declare the name of a document accompanying a transaction.
44 - Explicitly declare that a transaction is expected not to have an accompanying document.
45 - Look for an "implicit" PDF document matching transaction data.
46 - Associate (and require) a document with any type of entry, including open entries themselves.
47 - Guarantee integrity: verify that every document declared does in fact exist on disk.
48 '';
49 license = licenses.mit;
50 maintainers = with maintainers; [ siriobalmelli ];
51 };
52}