Hi!
I am interested in using LedgerHub for regularly pulling in online banking transactions. Many questions come to my mind, which I did not find answered on beancounts homepage [1], design doc [2], and source code [3]:
* Current Status: What is the status of LedgerHub?
Do you rather consider it to be experimental, or ready to be used in some sense?
* Version / Releases: I cannot find any release of ledgerhub, nor any release branch or tags in the mercurial repo. Are users intended to run the latest version from the repo? From a user's perspective, I would prefer to see versioned releases, ideally packaged and registered as a python package so I can simply run "pip install ledgerhub".
* Installation: The "TODO" file mentions a workarounds for installing libmagic on Mac OS X. Is this workaround still required?
* Documentation, How to Get Started: How can I start using LedgerHub to import files that I downloaded from my bank? Judging from the source code, there seem to be two possible ways: I found the notion of import scripts, and I found commandline APIs. Are these equivalent ways of using ledgerhub? Note: If LedgerHub is ready for use, I am willing to try it out and to help improve documentation along the way.
* Importers: I was surprised to find a number of bank-specific importers in the "lib/python/ledgerhub/importers" directory. Instead, I would have expected general-purpose solutions for importing CSV, OFX etc, and only lightweight configurations for specific banks.
So, in order to configure LedgerHub for the CSV files that I download from my banks would I also have to write - similarly complicated - importers? (Given my limited python skills, I tend to think this would not be worth the effort).
* Directory structure: Where should the source files (e.g., CSV) and the ledgerhub output (e.g., *.beancount, *.ledger) be saved? Are there any best practices / recommendations regarding the directory structure? Should I append the output to a main ledger file, or rather import it using an import directive?
* Duplicates: The ledgerhub design doc [1] mentions ledgerhub's capability of identifying duplicate transactions. How do I tell ledgerhub about pre-existing transactions?
* Ledger-Cli vs. Beancount Syntax: Can ledgerhub write (when importing) and read (for duplicate detection) both ledger and beancount syntax? Is the beancount syntax more stable / better supported than the ledger syntax, suggesting I should switch from ledger to beancount in order to use ledgerhub?
...many questions by a novice user ;-)
thank you for your attention and consideration!
Johannes
[1] http://furius.ca/ledgerhub/
[2] https://docs.google.com/document/d/11u1sWv7H7Ykbc7ayS4M9V3yKqcuTY7LJ3n1tgnEN2Hk/edit
[3] https://hg.furius.ca/public/ledgerhub/file/51a415845777/doc
--
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+...@googlegroups.com.
To post to this group, send email to bean...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/beancount/f299b6bd-a5c4-49ef-bcf2-95dfd00b0d0d%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--
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+...@googlegroups.com.
To post to this group, send email to bean...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/beancount/4e48e5fc-b519-4648-b304-7cbad2b8d353%40googlegroups.com.
--
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+...@googlegroups.com.
To post to this group, send email to bean...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/beancount/4e48e5fc-b519-4648-b304-7cbad2b8d353%40googlegroups.com.
I was successfull in installing ledgerhub, so I can now execute the ledgerhub* scripts. (They print help messages when I invoke them).
I made some small improvements to the setup.py script. Feel free to pull them from:
https://bitbucket.org/johannesjh/ledgerhub
But I am having a hard time writing an import configuration. I tried to use and/or adapt the example file provided in "examples/importing.import". But the file only gives me error messages stating that python cannot resolve some of the imports: E.g., line 11: "from ledgerhub.driver import import_main", and in line 18: "from ledgerhub.importers.generic import ofx". ...are those import statements correct? I cannot find any definitions of import_main in the entire project.
thank you,
Johannes
--
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+...@googlegroups.com.
To post to this group, send email to bean...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/beancount/4e48e5fc-b519-4648-b304-7cbad2b8d353%40googlegroups.com.
Thank you for updating the example script!
1. Improved Setup Script
I changed the setup.py script to use setuptools instead of distutils because I still got import-not-found errors (which appear to be fixed by the new setup.py script). Feel free to pull from:
https://bitbucket.org/johannesjh/ledgerhub
Note that the new setup.py script obsoletes the scripts in the "bin" folder. I guess we can delete them now?
2. MIME-type Problems
Using the new setup script, I can now successfully run the example import scripts (both "examples/importing.import" and "examples/other/example.import"). But MIME-type detection does not seem to work properly, so the file to be imported is not found. (Possibly and probably because I am working on MacOS instead of on Linux).
$ python3
Python 3.4.1 (default, Aug 24 2014, 21:32:40)
[GCC 4.2.1 Compatible Apple LLVM 5.1 (clang-503.0.40)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import magic
>>> magic.from_file("examples/Downloads/ofx.qfx", mime=True)
b'text/plain'
...the above output shows that qfx files are recognized as b'text/plain' by python_magic.
Any idea how I could fix this?
Note: There seem to be ways of teaching MacOS about a new Mime Type. E.g., see
http://superuser.com/questions/421792/how-to-associate-mime-type-with-a-handler-in-os-x
Using the above answer and tool, I can configure which application opens which mime type, but I cannot associate a file extension with a mime type.
=> I guess I should rather rely on file extensions (instead of MIME-types) in ledgerhub's import script?
thx,
Johannes
--
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+...@googlegroups.com.
To post to this group, send email to bean...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/beancount/354e5aa3-134b-4c98-85d1-687c205a7604%40googlegroups.com.
I changed the setup.py script to use setuptools instead of distutils because I still got import-not-found errors (which appear to be fixed by the new setup.py script). Feel free to pull from:
https://bitbucket.org/johannesjh/ledgerhub
Note that the new setup.py script obsoletes the scripts in the "bin" folder. I guess we can delete them now?I don't think that's a good idea... I went with the least common denominator to avoid the setuptools dependency.Can you detail what was failing?
About removing the bin scripts: I don't understand why you do this. Why can't you just copy the files I provide under bin/?
I changed the setup.py script to use setuptools instead of distutils because I still got import-not-found errors (which appear to be fixed by the new setup.py script). Feel free to pull from:
https://bitbucket.org/johannesjh/ledgerhub
Note that the new setup.py script obsoletes the scripts in the "bin" folder. I guess we can delete them now?I don't think that's a good idea... I went with the least common denominator to avoid the setuptools dependency.Can you detail what was failing?
Ok, I reproduced the problem. I uninstalled all ledgerhub files, checked out the old source, and ran "python3 setup.py install".
Then, running ./examples/importing.import then gives me:
Traceback (most recent call last):
File "./examples/importing.import", line 18, in <module>
from ledgerhub.importers.generic import ofx
ImportError: No module named 'ledgerhub.importers.generic'
...last time I saw this error, I guessed that maybe the setup.py script does not properly install the required module. So I started looking into recommendations regarding setup.py scripts. I found that the recommended way seems to be to use setuptools instead of distutils, e.g., see the python packaging user guide [1] and the pypa example project [2]. Since using setuptools solved my problem, I was happy to use it.