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}