Skip to main content

A pythonic interface to GnuCash SQL documents.

Project description

Join the chat at https://gitter.im/sdementen/piecash https://github.com/sdementen/piecash/workflows/CI/badge.svg https://readthedocs.org/projects/piecash/badge/?version=master https://img.shields.io/pypi/v/piecash.svg https://img.shields.io/pypi/pyversions/piecash.svg https://img.shields.io/pypi/dd/piecash.svg https://coveralls.io/repos/sdementen/piecash/badge.svg?branch=master&service=github

Piecash provides a simple and pythonic interface to GnuCash files stored in SQL (sqlite3, Postgres and MySQL).

Documentation:

http://piecash.readthedocs.org.

Gitter:

https://gitter.im/sdementen/piecash

Github:

https://github.com/sdementen/piecash

PyPI:

https://pypi.python.org/pypi/piecash

It is a pure python package, tested on python 3.6 to 3.9, that can be used as an alternative to:

  • the official python bindings (as long as no advanced book modifications and/or engine calculations are needed). This is specially useful on Windows where the official python bindings may be tricky to install or if you want to work with python 3.

  • XML parsing/reading of XML GnuCash files if you prefer python over XML/XLST manipulations.

piecash test suite runs successfully on Windows and Linux on the three supported SQL backends (sqlite3, Postgres and MySQL). piecash has also been successfully run on Android (sqlite3 backend) thanks to Kivy buildozer and python-for-android.

It allows you to:

  • open existing GnuCash documents and access all objects within

  • modify objects or add new objects (accounts, transactions, prices, …)

  • create new GnuCash documents from scratch

Scripts are also available to:

A simple example of a piecash script:

with open_book("example.gnucash") as book:
    # get default currency of book
    print( book.default_currency )  # ==> Commodity<CURRENCY:EUR>

    # iterating over all splits in all books and print the transaction description:
    for acc in book.accounts:
        for sp in acc.splits:
            print(sp.transaction.description)

The project has reached beta stage.

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

piecash-1.2.1.tar.gz (769.2 kB view details)

Uploaded Source

File details

Details for the file piecash-1.2.1.tar.gz.

File metadata

  • Download URL: piecash-1.2.1.tar.gz
  • Upload date:
  • Size: 769.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.9.13

File hashes

Hashes for piecash-1.2.1.tar.gz
Algorithm Hash digest
SHA256 7f9c5c7342df3b9cd1457adf4b82fea430f14fa93be17e52c7dd41c02abf7104
MD5 ce834601f422fce8c0d682b01988ab12
BLAKE2b-256 6ae05ceb393d6f765b09f8b97fb054260bcfb32d2d04a524b781e5f140e87e82

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