{ "info": { "author": "Jorgen Schaefer", "author_email": "forcer@forcix.cx", "bugtrack_url": null, "classifiers": [], "description": "# GNU Cash XML Library\n\n`gnucashxml` is a [Python][] library to parse [GNU Cash][] XML files.\nThis allows writing reporting utilities that do not rely on the GNU\nCash libraries themselves, or require the main program to run at all.\nTested with GNU Cash 2.4.10.\n\nThe library supports extracting the account tree, including all\ntransactions and splits. It does not support scheduled transactions,\nprice tables, and likely none but the most basic commodities. In\nparticular, writing of XML files is not supported.\n\n[python]: http://www.python.org/\n[gnu cash]: http://www.gnucash.org/\n\n## Usage\n\nThe interface is intended to allow quickly writing reports using\nPython. It reuses as many Python data structures as possible. Whenever\ndates or times are used, the standard library `datetime` is used. All\naccount and transaction balances are represented as the standard\n`Decimal` type.\n\nThe three main concepts in GNU Cash are accounts, transactions, and\nsplits. A transaction consists of a number of splits that specify from\nwhich account or to which account commodities are transferred by this\ntransaction. All splits within a transaction together are balanced.\n\nThe main classes provided by `gnucashxml` mirror these concepts. A\n`Book` is the main class containing everything else. A `Commodity` is\nwhat is stored in an account, for example, Euros or Dollars. An\n`Account` is part of a tree structure and contains splits. `Splits`\nagain are part of `Transactions`.\n\nThese classes all have a `slots` member, which is a simple dictionary\nfor extra information. GNU Cash information such as \"hidden\" are\nrecorded here.\n\n## Example\n\n```Python\nimport gnucashxml\n\nbook = gnucashxml.from_filename(\"test.gnucash\")\n\nincome_total = 0\nexpense_total = 0\nfor account, subaccounts, splits in book.walk():\n if account.actype == 'INCOME':\n income_total += sum(split.value for split in account.splits)\n elif account.actype == 'EXPENSE':\n expense_total += sum(split.value for split in account.splits)\n\nprint \"Total income : {:9.2f}\".format(income_total * -1)\nprint \"Total expense: {:9.2f}\".format(expense_total)\n```\n\n", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/jorgenschaefer/gnucashxml", "keywords": null, "license": "UNKNOWN", "maintainer": null, "maintainer_email": null, "name": "gnucashxml", "package_url": "https://pypi.org/project/gnucashxml/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/gnucashxml/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/jorgenschaefer/gnucashxml" }, "release_url": "https://pypi.org/project/gnucashxml/1.0/", "requires_dist": null, "requires_python": null, "summary": "Parse GNU Cash XML files", "version": "1.0" }, "last_serial": 703113, "releases": { "1.0": [ { "comment_text": "", "digests": { "md5": "c985a19e947d5d16e7f7784a9c93882f", "sha256": "381d411e26861aa9d7f46e0c5f4c9cad211088f95df4f59e97892a88b068a046" }, "downloads": -1, "filename": "gnucashxml-1.0.tar.gz", "has_sig": false, "md5_digest": "c985a19e947d5d16e7f7784a9c93882f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4893, "upload_time": "2012-10-30T10:47:48", "url": "https://files.pythonhosted.org/packages/1e/98/d33753bf18674fc9160f3e1204234f6867b4bd0eed4d88c93fa797ac326e/gnucashxml-1.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "c985a19e947d5d16e7f7784a9c93882f", "sha256": "381d411e26861aa9d7f46e0c5f4c9cad211088f95df4f59e97892a88b068a046" }, "downloads": -1, "filename": "gnucashxml-1.0.tar.gz", "has_sig": false, "md5_digest": "c985a19e947d5d16e7f7784a9c93882f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4893, "upload_time": "2012-10-30T10:47:48", "url": "https://files.pythonhosted.org/packages/1e/98/d33753bf18674fc9160f3e1204234f6867b4bd0eed4d88c93fa797ac326e/gnucashxml-1.0.tar.gz" } ] }