Plugin, library, and reports for reading Conservancy's books
Find a file
Brett Smith 770b22f2f0 reports: Initial budget variance skeleton. RT#12680
This is a *very* rough initial draft of a report. As the docstring mentions,
it's basically counting on the user to provide rewrite rules to provide the
desired representation.

Long-term I'm hoping maybe we can standardize the program metadata enough,
or plan its replacement well enough, that this report can be written against
that directly. But that will take more planning about books structure, and
support from the plugin, before the report can be written that way.
2020-10-26 14:57:15 -04:00
conservancy_beancount reports: Initial budget variance skeleton. RT#12680 2020-10-26 14:57:15 -04:00
tests data: PostingMeta.detached() can be chain-called. 2020-10-26 14:52:41 -04:00
.gitignore tox: Start configuration to test on Py3.6 and Py3.7. 2020-04-06 15:25:14 -04:00
LICENSE.txt Initial commit: license, setup.py, gitignore, skeleton structure. 2020-03-05 09:33:23 -05:00
README.rst tox: Start configuration to test on Py3.6 and Py3.7. 2020-04-06 15:25:14 -04:00
setup.cfg setup: Incorporate pytest.ini. 2020-07-15 10:27:05 -04:00
setup.py reports: Initial budget variance skeleton. RT#12680 2020-10-26 14:57:15 -04:00

Beancount plugin and tools for Conservancy's books
==================================================

Installation
------------

``cd`` to this directory with your checkout and then run::

  python3 -m pip install --user --upgrade .

Of course, if you're familiar with Python development tools, you're welcome to install the module in a virtualenv, somewhere else, etc.

Running all tests
-----------------

The project comes with a Tox configuration that defines all the tests we expect to pass, across all the different environments we support. To run them all, run::

  tox

The next sections describe how to run them standalone in your own development environment, for faster iteration or simpler isolation of problems.

Running unit tests
------------------

Run::

  ./setup.py test

Type checking
-------------

Most of the code is typed, except for very dynamic loader methods. To run the type checker::

  ./setup.py typecheck

This is expected to pass just like the unit tests.

Legal
-----

Copyright © 2020  Brett Smith. Licensed under the `GNU Affero General Public License <https://www.gnu.org/licenses/agpl-3.0.html>`_, either version 3 of the License, or (at your option) any later version.