Here, just for you:
https://github.com/beancount/beanlabs/blob/master/beanlabs/scripts/scan.py#L38


On Sat, Nov 27, 2021 at 10:35 AM Martin Blais <[email protected]> wrote:

> Check out what I do in this script:
>
> https://github.com/beancount/beanlabs/blob/master/beanlabs/compensation/net-worth-over-time.py#L223
>
> It could be made nicer, an iterator could be created that yields the state
> at a given list of timestamps, so all the aggregation would be abstracted
> away.
>
>
>
> On Sat, Nov 27, 2021 at 5:10 AM Stefano Zacchiroli <[email protected]>
> wrote:
>
>> On Fri, Nov 26, 2021 at 09:08:18AM -0500, Martin Blais wrote:
>> >
>> https://github.com/beancount/beancount/blob/master/beancount/ops/summarize.py#L589
>>
>> Thanks a lot Martin, I didn't know about
>> beancount.ops.summarize.balance_by_accounts(), and now that I know it
>> helped me simplify some code I had around.
>>
>> While I'm at it, the code in question compute the average daily balance
>> in a given account for a given year and currency (which matters for
>> fiscal reasons in Italy, don't ask...). The core of it looks like this:
>>
>>     # XXX naive approach: we re-calculate realizations from the beginning
>> of the ledger
>>     # to each day in the target year. It is acceptably fast, so we didn't
>> bother making
>>     # it more efficient than this (for now).
>>     for day in tqdm(list(year_days(year))):
>>         inventory = balance_by_account(entries, date=day)[0][account]
>>         amount = inventory.get_currency_units(currency)
>>         balances.append(amount.number)
>>
>> As per comment, it is good enough (takes ~20 seconds on my main ledger),
>> but it's not great. What would be the best way/internal API to implement
>> this "right", i.e., with a running balance that is updated with daily
>> batches of entries?
>>
>> TIA,
>> Cheers
>> --
>> Stefano Zacchiroli . [email protected] . upsilon.cc/zack          _. ^ ._
>> Full professor of Computer Science              o     o   o     \/|V|\/
>> Télécom Paris, Polytechnic Institute of Paris     o     o o    </>   <\>
>> Co-founder & CTO Software Heritage            o o o     o       /\|^|/\
>> Former Debian Project Leader & OSI Board Director               '" V "'
>>
>> --
>> You received this message because you are subscribed to the Google Groups
>> "Beancount" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to [email protected].
>> To view this discussion on the web visit
>> https://groups.google.com/d/msgid/beancount/20211127101046.tw5yy4x6b4ooxvmp%40upsilon.cc
>> .
>>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Beancount" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beancount/CAK21%2BhMVC7C57ghyWyQwa0oHf6Q4eZP2CG60R3JkhiurxuYk_g%40mail.gmail.com.

Reply via email to