On Fri, Feb 12, 2021 at 12:00 PM kuba....@gmail.com <kuba.ja...@gmail.com>
wrote:

> Hi all,
>
> I'd like to unpack the comment from Dan regarding additions to the CSV
> importer
>
>
>
>
>
> *Also, if anything, I expect the CSV importer in beangulp to
> becomesimpler, and not to gain new features. It was intended as an example
> todemonstrate how to write an importer and grow into something with a
> knowfor every aspect, and it deviated from its original scope.*
> *https://groups.google.com/g/beancount/c/YhBQEh7xVdk
> <https://groups.google.com/g/beancount/c/YhBQEh7xVdk>*
>
> So is there a definite plan to remove functionality, or in fact the CSV
> importer from bean gulp moving forward?
>
> The feature I would like to add is the support for a currency column as I
> have some transactions from PayPal that are in multiple currencies which at
> the moment all come out as my default currency.
>
> But I would like to understand whether I should be putting my effort into
> the beangulp importer or whether it would make more sense for me to create
> my own CSV importer moving forward.
>

It's unclear.
I built a CSV importer as an example - that was the original purpose - and
then I started using it, and since it works, well, more people started
using it, and now it's a thing and it has a bunch of options.
But it's a thing without unit testing. I don't feel enthralled about
supporting code without tests on my off time.  I'm not even sure all the
options are compatible with each other.

So in beangulp we should either
a) clearly mark it as an example and make it as lame as possible (so that
nearly everyone would want not to use it), or
b) blanket it with unit tests specifically crafted for all the myriad
options it has grown to accept over time and commit to supporting it.

I think (b) would be favored, but it requires a moderate amount of work.

The ultimate CSV importer is something that could totally live within
Beangulp, or even acquire its own repo (no strong preference there). I
imagine a better CSV importer, one that automatically and intelligently
sniff out the semantics of columns in the majority of cases and produce a
Beancount file without any configuration, but that is also explicitly
configurable if desired. In fact, the sniffing code should be its own
library, and it should also be reused for importing Google Sheets
spreadsheets, which are so incredibly useful for collaboration with other
people unfamiliar with Beancount (they can input postings in there).

I think the OFX example should eventually migrate outside or be deleted.

In any case, Beangulp will not grow to include various random importers; I
tried that a long time ago (LedgerHub) and there wasn't enough interest.
It's also not clear how much reuse between users there is. I think we could
create a repo like that, with an incredibly liberal PR acceptance
policy, but the problem is that the easiest testing requires user files, so
it'll become implicitly broken by nature. So perhaps many individual
importers living in various repos is best.  It would be nice if we can
create a unique tag so that they're easy to find, e.g., if you're looking
for an existing importer for a particular bank and what-not, or a registry
somewhere (a file in Beangulp? A Google Doc with a list?).

-- 
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 beancount+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beancount/CAK21%2BhOok9XxZKZepaUU1Wov049q6%2B7w-DsAt_T1v_s1xwfBVw%40mail.gmail.com.

Reply via email to