Plugin, library, and reports for reading Conservancy's books
Find a file
Brett Smith e2dda7ae0c query: Let the user interrupt interactive queries.
This makes it easier to iterate on a query because you don't have to restart
the program and reload the books if something goes sideways.
2021-04-01 09:57:42 -04:00
conservancy_beancount query: Let the user interrupt interactive queries. 2021-04-01 09:57:42 -04:00
tests reports: BaseODS puts each line of strings in a P tag. 2021-03-15 13:19:03 -04:00
.gitignore setup: Switch to PEP 517 build system. 2021-03-31 16:42:29 -04:00
AGPLv3.txt Clarify and organize license info including additional permission. 2021-01-08 16:58:04 -05:00
LICENSE.txt setup: New release for pdfforms tools. 2021-01-09 10:11:56 -05:00
MANIFEST.in typing: Add PEP 561 py.typed file 2021-03-31 16:41:32 -04:00
pyproject.toml setup: Switch to PEP 517 build system. 2021-03-31 16:42:29 -04:00
README.rst setup: Switch to PEP 517 build system. 2021-03-31 16:42:29 -04:00
setup.cfg query: Let the user interrupt interactive queries. 2021-04-01 09:57:42 -04:00
setup.py setup: Switch to PEP 517 build system. 2021-03-31 16:42:29 -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::

  pytest

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

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

  mypy conservancy_beancount

This is expected to pass just like the unit tests.

Legal
-----

Refer to ``LICENSE.txt`` for details.