Utility to fetch and add current ASX prices to one or more gnucash XML files
Project description
GNUCASH-ASX-FETCH
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
Built Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 18d1fa89e0c4a43a677f77fabf6ea0512f340b1a2929048df439fe202f6256df |
|
MD5 | 1600316bd51f488b4164f8af3b9a2e9c |
|
BLAKE2b-256 | 12eb3546612f447eb03fcc990c2b99a7aea8c37fd60720da6b45353e0a92c3b2 |
File details
Details for the file gnucash_asx_fetch-1.6-py3-none-any.whl
.
File metadata
- Download URL: gnucash_asx_fetch-1.6-py3-none-any.whl
- Upload date:
- Size: 5.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.11.8
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 80ea43340fd87a43db694ff629e45db512e7a9db13b30b2c991f87c958f0cd67 |
|
MD5 | acc4c2afb3d94d8e15928ef343b582c2 |
|
BLAKE2b-256 | 2f014619f8a3b48905c35817a169e4d636d7133ab5aaaab2ae9c0600ad9d2586 |