[GNC] pricehist: a tool to fetch historical prices

Chris Berkhout chrisberkhout at gmail.com
Tue Aug 24 10:54:01 EDT 2021


Hi Derek, thanks for that note. I've clarified the non-support and risks in
the README:

https://gitlab.com/chrisberkhout/pricehist/-/blob/master/README.md

> Beware that the GnuCash project itself does not support integration at the
> database level, so there is a risk that the SQL generated by `pricehist`
> will be ineffective or even damaging for some version of GnuCash. In
> practice, this strategy has been used successfully by other projects.
> Reading the SQL and keeping regular database backups is recommended.


David, thanks for sharing. Looks nice!

Sorry for the late reply.

Cheers,
Chris

On Thu, 1 Jul 2021 at 19:39, D. <sunfish62 at yahoo.com> wrote:

> Derek,
>
> Your point is well-taken; making changes to the datafile outside of the
> API is Risky.
>
> That being said, the price db operates somewhat independently of a file's
> transactions. Adding or removing items from the price db can be done
> without disruption to transactions.
>
> I find it interesting to read this announcement; a number of years back, I
> did a very similar project in perl, which more directly reconstructed a
> book's commodity prices with monthly prices for all holdings past and
> present. I was able to rebuild my own multi year price history for a file
> with over a hundred different commodities using it. Whether it's still
> valid and still works are legitimate questions, but Chris might find it an
> interesting read.
>
> For everyone else: don't use my code.
>
> https://github.com/sunfish62/NewPriceHistory
>
> David T.
>
>
> -------- Original Message --------
> From: Derek Atkins <derek at ihtfp.com>
> Sent: Thu Jul 01 09:52:35 EDT 2021
> To: chris at chrisberkhout.com
> Cc: gnucash-user at gnucash.org
> Subject: Re: [GNC] pricehist: a tool to fetch historical prices
>
> Hi,
>
> Just note that GnuCash (and more generally, the GnuCash team) does not
> support modifications of the gnucash database outside of GnuCash.  Doing
> so may break your data file, especially as it changes over time.  If
> you're not using the GnuCash APIs to modify your data file, you "void the
> warranty".  YMMV.
>
> -derek
>
> On Thu, July 1, 2021 9:45 am, Chris Berkhout wrote:
> > Hi all,
> >
> > I've written a command-line tool to fetch daily historical prices. It
> > currently supports 5 sources of data and will generate output in 4
> > formats,
> > including SQL for a GnuCash database.
> >
> > https://gitlab.com/chrisberkhout/pricehist
> >
> > Fetching prices and immediately applying them to a GnuCash database is
> > done
> > as in the following examples:
> >
> > pricehist fetch ecb EUR/USD -s 2021-06-25 -o gnucash-sql | sqlite3
> > Accounts.gnucashpricehist fetch ecb EUR/USD -s 2021-06-25 -o
> > gnucash-sql | mysql -u username -p -D databasenamepricehist fetch ecb
> > EUR/USD -s 2021-06-25 -o gnucash-sql | psql -U username -d
> > databasename -v ON_ERROR_STOP=1
> >
> > I discuss some details of the generated SQL in the source code:
> >
> >
> https://gitlab.com/chrisberkhout/pricehist/-/blob/master/src/pricehist/outputs/gnucashsql.py
> >
> > As far as I am aware GnuCash's built-in price fetching is for current
> > prices only. The wiki documents wrapper scripts for the
> Finance::QuoteHist
> > Perl module, and the Piecash library has a Commodity.update_prices method
> > for fetching historical prices, but I hope that pricehist will make
> > fetching historical prices easy for GnuCash users who don't want to write
> > their own code for it.
> >
> > If pricehist might be useful for you please try it and let me know what
> > you
> > think. I'm still improving error handling and some other things but the
> > main functionality is done.
> >
> > Cheers,
> > Chris
> > _______________________________________________
> > gnucash-user mailing list
> > gnucash-user at gnucash.org
> > To update your subscription preferences or to unsubscribe:
> > https://lists.gnucash.org/mailman/listinfo/gnucash-user
> > If you are using Nabble or Gmane, please see
> > https://wiki.gnucash.org/wiki/Mailing_Lists for more information.
> > -----
> > Please remember to CC this list on all your replies.
> > You can do this by using Reply-To-List or Reply-All.
> >
>
>
> --
>        Derek Atkins                 617-623-3745
>        derek at ihtfp.com             www.ihtfp.com
>        Computer and Internet Security Consultant
>
> _______________________________________________
> gnucash-user mailing list
> gnucash-user at gnucash.org
> To update your subscription preferences or to unsubscribe:
> https://lists.gnucash.org/mailman/listinfo/gnucash-user
> If you are using Nabble or Gmane, please see
> https://wiki.gnucash.org/wiki/Mailing_Lists for more information.
> -----
> Please remember to CC this list on all your replies.
> You can do this by using Reply-To-List or Reply-All.
>
>


More information about the gnucash-user mailing list