Plugin, library, and reports for reading Conservancy's books
Find a file
Brett Smith 404a88de1d fund: Use Balances instead of PeriodPostings.
A few motivations for this:

* This makes the fund report more maintainable, because the data structure
  is better suited to the task at hand, making it easier to follow what's
  going on.

* This helps put Balances through a little more testing with a high-level
  report.

* This makes the fund report a little faster, since totals are usually
  calculated from a smaller number of Balance objects rather than all
  Postings over a period.
2020-10-16 16:29:05 -04:00
conservancy_beancount fund: Use Balances instead of PeriodPostings. 2020-10-16 16:29:05 -04:00
tests fund: Use Balances instead of PeriodPostings. 2020-10-16 16:29:05 -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 balance_sheet: Remove transitional code for account-code column. 2020-10-06 14:33:01 -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.