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