Recent changes.
2015-01-18
- Added a new, optional "Commodity" directive, which can be used to
declare
commodity/currencies/instruments. The real purpose of this optional
directive is to hang per-commodity meta-data off of them. Some scripts
are
much simplified by being able to define custom attributes for each
commodity, e.g. "name", "asset-class", "currency-exposure", and such.
There
is a new function beancount.core.getters.get_commodity_map() which can
be
used to gather a map of commodity to metadata.
You otherwise don't have to add those declarations; the new directive is
entirely optional and its addition should not break any existing feature
nor input file. It is an error to insert duplicate Commodity directives
for the same commodity name. I'm mainly doing this now so I can migrate
the portfolio dashboard script from experiments into the mainline while
configuring it using metadata.
The directive is documented here:
http://furius.ca/beancount/doc/language#heading=h.a3si01ejc035
- I added a development dependency on pyflakes and validated all code on
'default' to pass a flawless pyflakes run.
2015-01-17
- I added a paragraph about Releases in the Install document. Basically, I
don't do releases: the "default" branch is stable, just clone on
"default"
and update regularly, I do all "risky" feature development in branches
and
only merge to "default" when fully stable. All major changes on
"default"
are announced in this file.
2015-01-11
- **IMPORTANT** Fixed an inconsistency with the signs of total cost
syntax,
like this:
<account> -1000 USD @@ -1123.24 CAD
It was required to use the negative sign in order to get the correct
value.
This makes no sense: per-unit cost and price amounts were unsigned, and
total
cost values were only allowed to be positive. Also, Ledger requires all
costs and prices to be positive/unsigned, which could be confusing for
Ledger users. I had no particularly good reason to require the same sign
for total cost: this was only an oversight.
So I changed this so that total price, like total cost, per-unit price,
per-unit cost, are all positive/unsigned. An error is now raised i a
price
or cost, total or per-unit, are provided negative. You need to convert
your
input files to unsigned values, like this (for the above example):
<account> -1000 USD @@ 1123.24 CAD
If you pull this change and have negative total prices, your input file
will
break. In order to circumvent the change, you may set the
BEANCOUNT_ALLOW_NEGATIVE_PRICES environment variable. I will remove this
workaround in a few months.
(This bug reported by Matthew Harris.)
- Fixed a bug when total cost {{...}} syntax was being used with a
negative
number of units: it would raise an error, although it was legal to do
so.
For example, this is legal and was raising an error:
<account> -10 MSFT {{455.24 USD}}
It probably did not show up much because few people use the total cost
method, and the tests happened only to use positive numbers of units.
- Fixed issue #5: bug in beancount.plugins.leafonly plugin when posting
to a
non-leaf account that had no Open directive. (This bug reported by
Nathan
Grigg.)
2015-01-04
- Merged the 'shell' branch into 'default', providing a new tool to
extract
information from a Beancount input file: bean-query. This is the first
revision of the SQL-like query language for Beancount. Documentation
for it
is available under http://furius.ca/beancount/doc/query.
--
---
You received this message because you are subscribed to the Google Groups
"Ledger" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.