Skip to main content

Utility to fetch and add current ASX prices to one or more gnucash XML files

Project description

GNUCASH-ASX-FETCH

PyPi AUR

This is a command line utility to fetch and update ASX share prices to one or more GnuCash XML files. It takes multiple path arguments: one of more GnuCash files, or directories. If a directory is given then it updates all the GnuCash files in that directory. It can not update any GnuCash files that are currently open so will generate an error message for those files. A new price entry is added for each ASX share existing in the file each time you run it. Open the GnuCash price database editor for a file to view, edit, or remove the new entries added.

For example, to update the share prices of all the ASX shares in all the GnuCash files in the current directory type:

$ gnucash-asx-fetch .

:warning: This utility overwrites your GnuCash file[s] so be sure to save copies at least the first time you try using it.

Note it only updates GnuCash XML files, not GnuCash sqlite files. It silently skips GnuCash backup and log files. This utility should work on any modern Linux platform and has been developed against GnuCash v4.4.

See the latest documentation and code at https://github.com/bulletmark/gnucash-asx-fetch.

MOTIVATION

GnuCash uses the Finance::Quote module to update share prices but I have found it fragile over the short time I have been using GnuCash. E.g. At the time I created this utility, ASX price fetches via Finance::Quote have not worked for more than 3 months as per this bug.

Fetching prices from ASX is actually quite easy and this utility uses a simple approach. By merely requiring the user to not have the file open at the time the prices are updated, it can avoid the awkward interface with Finance::Quote and GnuCash completely, and merely write directly to the XML file.

If you like this utility then you may be interested in another utility I created to facilitate working with multiple GnuCash files.

USAGE

Type gnucash-asx-fetch -h to view the usage summary:

usage: gnucash-asx-fetch [-h] [-i] [-q] [-d] path [path ...]

Utility to fetch and add current ASX share prices to one or more gnucash XML
files.

positional arguments:
  path               directories or files to update

options:
  -h, --help         show this help message and exit
  -i, --ignore-open  silently ignore any files currently open
  -q, --quiet        suppress message output
  -d, --dry-run      do not update any file[s]

INSTALLATION

Arch Linux users can install gnucash-asx-fetch from the AUR.

Python 3.7 or later is required. Note gnucash-asx-fetch is on PyPI so just ensure that pipx is installed then type the following:

$ pipx install gnucash-asx-fetch

To upgrade:

$ pipx upgrade gnucash-asx-fetch

LICENSE

Copyright (C) 2020 Mark Blakeney. This program is distributed under the terms of the GNU General Public License. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License at http://www.gnu.org/licenses/ for more details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

gnucash_asx_fetch-1.8.tar.gz (5.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

gnucash_asx_fetch-1.8-py3-none-any.whl (5.3 kB view details)

Uploaded Python 3

File details

Details for the file gnucash_asx_fetch-1.8.tar.gz.

File metadata

  • Download URL: gnucash_asx_fetch-1.8.tar.gz
  • Upload date:
  • Size: 5.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.7.18

File hashes

Hashes for gnucash_asx_fetch-1.8.tar.gz
Algorithm Hash digest
SHA256 a4821eb5d62746238393dbc6c0c32cefd6bff107bde8dd6fb137df8434b5e2c0
MD5 e5bc16c235a375d74adf12f59ad118ef
BLAKE2b-256 954b4dd8b84faecff351f76f89805ec866e5a683f10c560b5525da9f8614e23f

See more details on using hashes here.

File details

Details for the file gnucash_asx_fetch-1.8-py3-none-any.whl.

File metadata

File hashes

Hashes for gnucash_asx_fetch-1.8-py3-none-any.whl
Algorithm Hash digest
SHA256 ce94af4ee6079edb735188e75a22c895932af4cf01597715e63380e127cfbf1b
MD5 89189efe0564519b226113cc8f854e81
BLAKE2b-256 078f84e973f299d6b8ced4789ae6fd3113e139e19b96aa1b366543236d9ef452

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page