* Disclaimer * I have never actually run smart importer. Looking at the README on GitHub for smart importer it looks like you need to use the return object of apply_hooks in your CONFIG list.
CONFIG = [ apply_hooks(MyBankImporter(account='Assets:MyBank:MyAccount'), [PredictPostings()]) ] In your config you apply the hooks but are not using the returned object. Hope that helps. On Tuesday, 11 May 2021 at 04:06:33 UTC+1 [email protected] wrote: > Hi, > > I'm trying to get smart_importer to work and not sure what I'm doing > wrong. > > *1*. I successfully have done all the required beancount setup and > created by own bank importer and ran it on two months of data. > *2.* I then manually labelled about 2 months of data from one of my > banks. > *3.* I installed smart_importer using "pip install smart_importer" > > (base) MacBook-Air:beandata jonathan$ pip show smart_importer > > Name: smart-importer > > Version: 0.3 > > Summary: Augment Beancount importers with machine learning functionality. > > Home-page: https://github.com/beancount/smart_importer > > Author: Johannes Harms > > Author-email: UNKNOWN > > License: MIT > > Location: /Users/jonathan/opt/miniconda3/lib/python3.8/site-packages > > Requires: scikit-learn, beancount, numpy, scipy > > *4.* I created a new config file I called Jonathan_smart.import > > > base) MacBook-Air:beandata jonathan$ more jonathan_smart.import > > #!/usr/bin/env python3 > > """Import configuration.""" > > > import sys > > from os import path > > > sys.path.insert(0, path.join(path.dirname(__file__))) > > > from beancount_reds_importers import vanguard > > from myimporters.bfsfcu import bfsfcu_bank > > from myimporters.anz import anz_bank > > from fund_info import * > > from smart_importer import apply_hooks, PredictPayees, PredictPostings > > > myBank_smart_importer =my_bank.Importer({ > > 'main_account' : 'Assets:US:Banks:Checking:myBank', > > 'account_number' : ''xxx'', > > 'transfer' : > 'Assets:US:Zero-Sum-Accounts:Transfers:Bank-Account', > > 'income' : 'Income:US:Interest:myBank', > > 'fees' : 'Expenses:US:Bank-Fees:myBank', > > 'rounding_error' : 'Equity:US:Rounding-Errors:Imports', > > }) > > > apply_hooks(myBank_smart_importer, [PredictPayees(), PredictPostings()]) > > CONFIG = [myBank_smart_importer, ...(other importers)] > > > *5*. I was following the README documentation that said write > bean-extract -f to invoke it on existing data. So I tried the following.* > Is this right?* > > bean-extract jonathan_smart.import ~/staging/new_bank_data.qfx -f > journal/myledger.beancount > ~/staging/dud.txt > > Cannot train the machine learning model because the training data is empty. > > Cannot train the machine learning model because the training data is empty. > > > The output is just like the normal output without all the smart_importer > stuff. Seems I'm doing something wrong as the staging/dud.txt doesn't have > any predictions. > > > Appreciate any assistance on this! > > > thanks, > > Jonathan > -- 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/3bfb5180-3479-426b-abd9-43f191f4988dn%40googlegroups.com.
