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.6 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.6.tar.gz (5.4 kB view details)

Uploaded Source

Built Distribution

gnucash_asx_fetch-1.6-py3-none-any.whl (5.2 kB view details)

Uploaded Python 3

File details

Details for the file gnucash-asx-fetch-1.6.tar.gz.

File metadata

  • Download URL: gnucash-asx-fetch-1.6.tar.gz
  • Upload date:
  • Size: 5.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.11.8

File hashes

Hashes for gnucash-asx-fetch-1.6.tar.gz
Algorithm Hash digest
SHA256 18d1fa89e0c4a43a677f77fabf6ea0512f340b1a2929048df439fe202f6256df
MD5 1600316bd51f488b4164f8af3b9a2e9c
BLAKE2b-256 12eb3546612f447eb03fcc990c2b99a7aea8c37fd60720da6b45353e0a92c3b2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for gnucash_asx_fetch-1.6-py3-none-any.whl
Algorithm Hash digest
SHA256 80ea43340fd87a43db694ff629e45db512e7a9db13b30b2c991f87c958f0cd67
MD5 acc4c2afb3d94d8e15928ef343b582c2
BLAKE2b-256 2f014619f8a3b48905c35817a169e4d636d7133ab5aaaab2ae9c0600ad9d2586

See more details on using hashes here.

Supported by

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