Re: Python API segmentation faults

2016-04-24 Thread Manuel Amador (Rudd-O)
On 04/21/2016 04:28 AM, John Wiegley wrote:
>> Manuel Amador (Rudd-O)  writes:
>> Old report is available as one of my pull requests in the ledger/ledger
>> Github repo. Which, by the way, remains unmerged.
> Sorry about that; merged now.

Thanks.

-- 
Rudd-O
http://rudd-o.com/

-- 

--- 
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 ledger-cli+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: Python API segmentation faults

2016-04-24 Thread Manuel Amador (Rudd-O)
On 04/21/2016 05:20 AM, Metin Akat wrote:
> This is a bug report that shows how/when/why it crashes: 
> http://bugs.ledger-cli.org/show_bug.cgi?id=1163
> The same thing happens (for me) when I access it via Python
> It only happens with larger files (mine has ~20k transactions).
>

YES!  This is exactly my crash.

My file has grown to about ~10K lines.  If I am to do more than one
query operation using the bindings, Ledger crashes.  Sometimes a single
query operation is enough (I can whip up some demo code, but I need to
anonymize my file).

Furthermore, I have a separate issue.  With my file, the first Python
bindings query operation returns fine, but rereading the file and
issuing the exact same query barfs, saying some records do not balance
at all (by minuscule amounts, every time).  Really problematic.  I
believe it might be because later transactions in the file increase the
precision of the U.S. dollar, so the second time around that the file is
queried / loaded, the original transactions which balanced fine (with
the precision as-it-was-known-in-their-position-in-the-file) no longer
balance correctly.  In my opinion, this should be considered broken
behavior.

-- 
Rudd-O
http://rudd-o.com/

-- 

--- 
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 ledger-cli+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: Charts software for ledger?

2016-04-24 Thread Manuel Amador (Rudd-O)
On 04/22/2016 02:28 PM, Martin Blais wrote:
> On Wed, Apr 20, 2016 at 6:55 PM, Manuel Amador (Rudd-O)
> > wrote:
>
> On 04/20/2016 09:00 PM, Craig Earls wrote:
> > Since i have never gotten python to work without segfaults i cant answer
>
> After writing a small app that iterates through Ledger
> transactions and
> plots them, it has become exceedingly clear that you were right. 
> Simply
> going over a query() result causes it to crash or to come up with
> absurd
> errors like "Year must be between 1400...1".  Furthermore, for
> some
> reason now my GUI apps that used to work throw out balance errors.
>
> Really shoddy quality.  Can't wait to switch to Beancount. 
>
>
> That's not a constructive way to help.

I wasn't trying to help.  I was venting.

Not that I am unhelpful.  On the contrary, I help the project by sending
patches of whatever stuff I /can/ code, and I also try to help the
project by writing utilities and forming an ecosystem around the project
(this is the primary way in which I try to contribute, because I /do/
like the ideas and principles behind the project).  But, as it so
happens, C++ is not one of those things I can do, and the (obviously
long-standing) bug in the Python bindings is preventing me from growing
that ecosystem I spoke of.

And, as you can see from other replies, I'm not the only one who feels
badly about the Python bindings crashing and burning.  Who knows how
many programs to support Ledger did /not/ get written because of this
quality issue?  We won't know.

But, I /do/ know I am going to cease development of my own
ecosystem-enhancing utilities until the issue is resolved (which I hope
someone else does because, as I have explained, I do not know how). 
After all, what's the point of writing a program which is going to
segfault on the user (including me)?

-- 
Rudd-O
http://rudd-o.com/

-- 

--- 
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 ledger-cli+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: Question about Automated transactions

2016-04-24 Thread Richard Lawrence
Hi Phil,

'Phil Gee' via Ledger  writes:

> I'm back again with a question. I really, really love what I can do with 
> automated transactions. However, I run into one problem: Suppose I have a 
> credit card whose debt I track in Liabilities:CreditCard. Generally its 
> rather nice to see how my equity is in the current month. That I can do 
> with ledger assets liabilities. Each month I pay my current credit card 
> debt, i.e. I know that after this payments that Liabilities:CreditCard 
> won't affect this months' equity. However, running ledger assets liabilities 
> would be affected by all credit card payments done afterwards. I would like 
> to split Liabilities:CreditCard in Liabilities:CreditCard:Current and 
> Liabilities:CreditCard:Next. In Liabilities:CreditCard:Current I would have 
> all payments which are due this month, in Liabilities:CreditCard:Next all 
> payments due next month. 

> It would be great to have an automated transaction which transfers the 
> content of Liabilities:CreditCard:Next to Liabilities:CreditCard:Current 
> when my paycheck arrives.

Not sure if this helps, but here's what I do to solve a similar problem,
without automated transactions or splitting the account.

When I schedule a payment for a CC account, I use the auxiliary date
field to back-date the payment to the date of the bill.  For example, if
the billing cycle ends on 4/13, the payment is due 5/13, and I schedule
the payment for 5/9, the transaction looks like:

2016/05/09=2016/04/13 CC payment
Liabilities:CreditCard $200.00
Assets:Checking

Then I run credit card reports with the --effective/--aux-date flag.
This has the effect, in the register report for the CC account, of
showing the balance going to zero at the billing cycle boundaries
(assuming I pay the full balance).  Thus, the running total at the end
of this report shows the correct balance on the card for every
transaction since the billing cycle turned over, even though the payment
is technically in the future.

Meanwhile, the balance and register reports for the checking account
(without the --effective flag) reflect the scheduled payment, unless I
set an end date that is not in the future.  This makes it easy to tell
how much money I actually have in the account (via -e today), and also
how much money in the account is not already allocated (no end date),
i.e., what my equity is.

Hope that helps!

Best,
Richard

-- 

--- 
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 ledger-cli+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Question about Automated transactions

2016-04-24 Thread 'Phil Gee' via Ledger
Hi, 

I'm back again with a question. I really, really love what I can do with 
automated transactions. However, I run into one problem: Suppose I have a 
credit card whose debt I track in Liabilities:CreditCard. Generally its 
rather nice to see how my equity is in the current month. That I can do 
with ledger assets liabilities. Each month I pay my current credit card 
debt, i.e. I know that after this payments that Liabilities:CreditCard 
won't affect this months' equity. However, running ledger assets liabilities 
would be affected by all credit card payments done afterwards. I would like 
to split Liabilities:CreditCard in Liabilities:CreditCard:Current and 
Liabilities:CreditCard:Next. In Liabilities:CreditCard:Current I would have 
all payments which are due this month, in Liabilities:CreditCard:Next all 
payments due next month. 

It would be great to have an automated transaction which transfers the 
content of Liabilities:CreditCard:Next to Liabilities:CreditCard:Current 
when my paycheck arrives. I started with 


= /Income:Salary/
* Liabilities:CreditCard:Current 1.0
* Liabilities:CreditCard:Next -1.0

but that obviously would lead to a transfer of an amount which is equal to 
Income:Salary. 

-- 

--- 
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 ledger-cli+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.