Skip to main content

Portfolio tools for GnuCash

Project description

# gnucash-portfolio

A collection of tools for managing an investment portfolio in GnuCash

User-oriented documentation is at http://portfolio.alensiljak.tk

## Introduction

The purpose of the project is to provide tools that help in managing an investment portfolio in a GnuCash book. The code is written in Python.

## Development Environment

The development environment should include the following:

  • Python IDE (vscode or pycharm)

  • Python 3.6

  • node + npm

All the libraries are listed in requirements.txt.

## Set-Up

To install the required development and runtime dependencies, run

` pip install -r requirements.txt `

in the root and app directory since requirements.txt is in the project root.

The local/development versions of any library can be registered with

pip install -e <path>

i.e.

pip install -e .

### Configuration

Go to config directory and copy the config.json.template file into config.json. Adjust any values as needed. This file can also be edited by going to the Settings option in the web app (webgui).

## Testing

See tests directory and documentation and tests there. Simply run

pytest

to run all tests.

### Lint

pylint can be used to check for errors. You can check the code by doing the following:

  • run utilslint_app.cmd from project root directory,

  • run lint tasks from vscode,

  • run pylint gnucash_portfolio to check the library.

Pay attention to the Error and Fatal lines. See utils/lint_app.cmd script for coloring output.

Ref: [PyLint Output](https://docs.pylint.org/en/1.6.0/output.html)

# Reports

An approach using gnucash_utilities project is found in the /reports directory.

The basic idea here is to have GnuCash open a custom report, which runs a Python script, which generates an HTML output. Gnucash_utilities project provides utilities that generate the Scheme links in the user profile directory. You need to create the Python scripts, which return the HTML output generated with Jinja templates (or any other).

This approach has been abandoned due to the performance benefit of using the web app directly for all data input and output.

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_portfolio-1.6.2.tar.gz (31.3 kB view details)

Uploaded Source

Built Distribution

gnucash_portfolio-1.6.2-py3-none-any.whl (53.7 kB view details)

Uploaded Python 3

File details

Details for the file gnucash_portfolio-1.6.2.tar.gz.

File metadata

  • Download URL: gnucash_portfolio-1.6.2.tar.gz
  • Upload date:
  • Size: 31.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/41.0.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.2

File hashes

Hashes for gnucash_portfolio-1.6.2.tar.gz
Algorithm Hash digest
SHA256 795ccfe4a839b0754613410fa55bec6c01fb3b3a104e1e10688fb6e5a38d6476
MD5 25310b690dfcc946626f46c03a951041
BLAKE2b-256 c43c5adada59d23f03e98fbf1ecc1ee2942d9bd508159fc8da93bff8e6ad71e5

See more details on using hashes here.

File details

Details for the file gnucash_portfolio-1.6.2-py3-none-any.whl.

File metadata

  • Download URL: gnucash_portfolio-1.6.2-py3-none-any.whl
  • Upload date:
  • Size: 53.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/41.0.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.2

File hashes

Hashes for gnucash_portfolio-1.6.2-py3-none-any.whl
Algorithm Hash digest
SHA256 e7ee3ec7d68aa36e59274ca119273bf49112c1bb481bdfc765064f065cf66e37
MD5 3f4c6dc42d3a1538da88844348dda957
BLAKE2b-256 fbfa384b72929f5caae76de0f6a75dbd178c17fd8c176df8f4cd068cecabd836

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