Plugin, library, and reports for reading Conservancy's books
072937eff5
The old loading strategy didn't load options, which yielded some spurious errors. It also created awkward duplication of plugin information in the code as well as the books. Implement a new loading strategy that works by reading one of the "main files" under the books/ subdirectory and includes entries for additional FYs beyond that. This is still not ideal in a lot of ways. In particular, Beancount can't cache any results, causing any load to be slower than it theoretically could be. I expect more commits to follow. But some of them might require restructuring the books, and that should happen separately. |
||
---|---|---|
conservancy_beancount | ||
tests | ||
.gitignore | ||
LICENSE.txt | ||
pytest.ini | ||
README.rst | ||
setup.cfg | ||
setup.py | ||
tox.ini |
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.