- bumping dependencies to fix security issues
- fix ability to get to TXN from Invoice (and Lot) [Jared Kipe]
- fix migration to SA1.4 (fix #165) [kapinga]
- fix ledger export to quote account name in case of special characters (fix #215) [sdementen]
- fix ledger export to exclude "check commodity" when commodity is not a currency [sdementen]
- fix python 3.12 support (fix #212) [teeberg]
- fix yahoo import due to null values (fix #202) [JCPvanHooren]
- fix changes from yahoo API (fix user-agent to "", remove recovery of crumble)
- fix tzlocal>=2.3 issue with change of tz type returned by tzlocal.get_localzone() (fix #180 #185)
- move to github actions
- remove contrib.napoleon as included in sphinx as of 1.3
- change pytest.yield_fixture to pytest.fixture
- remove unused code
- fix issue when deleting splits (fix #155)
- reformat files with black
- add at_date parameter to Account.get_balance (tx @rvijayc, @gregwalters)
- fix ledger export truncation of prices (fix #158)
- fix ledger export to order transactions by date (fix #159)
- allow tags with zero quantity by fixing unit price calculation (fix #153, tx @croth1)
- allow tags with zero quantity of value by fixing validation control (fix #154, tx @stoklund)
- use template0 when creating new books in postgres (vs template1 before) to fix encoding issues
- add examples for deleting an account and exporting transactions to a CSV file
- requires sqlalchemy < 1.4 (fix #149)
- fix example with wrong post_date type
- update currency_ISO
- update use of deprecated function in xml (fix #147, tx @bxbrenden)
- add example of program to modify an existing transaction
- import requests from functions using it to avoid making it a required dependency (fix #90)
- adapt setup.py to avoid depending on SQLAlchemy-Utils 0.36.8 (fix #91)
- updated gnucash projects page: https://piecash.readthedocs.io/en/latest/doc/github_links.html
- add a check_exists flag to allow bypassing check existence of DB on opening (fix #91, tx @williamjacksn)
- fix use of ISO date for ledger export (fix #115 by @MisterY)
- add field is_credit and is_debit to split (fix #105)
- fix get_balance sign when recursing + add natural_sign keyword to specify if sign should be reverse or not
- add support for Gnucash 4.1 (fix #136)
- fix table names not matching in case (fix #137)
- fix test suite to support 3.8
- deprecate python 3.5
- quandl will retrieve API KEY from environment variable QUANDL_API_KEY (if defined)
- yahoo will use exchangeTimezoneName for timezone (vs exchangeTimezoneShortName before), thanks @geoffwright240
- add possibility to export accounts with their short name in ledger (fix #123)
- drop support of py27 and py34 (fix #53)
- support gnucash 3.0.x format (code + test and book migration)
- set autoflush to False for open_book (was only done for create_book before) (fix #93)
- remove tz info when serialising DateTime to SQL (issue with postgresql doing some TZ conversion)
- add basic support for Jobs
Mostly refactoring: - refactor common parts of vendor, customer and employee into person - add 'on_book_add' protocol called when object is added to a book - set autoflush to False to prevent weird behavior when using slots (that retrigger a query in the middle of a flush) - refactor slots - align sql schema 100% with 2.6.21 (based on sqlite reference) - support business slots
- internal refactoring of setup.py
- add optional packages
- move to pipenv
- improve documentation
- fix missing extra blank between account name and amount in ledger export (fix #86)
- add a documentation section about piecash on android
- fix yahoo finance quote retrieval
- indicate correct reconcile state in ledger output (fix #77)
- add piecash CLI (refactor of scripts)
- add book.invoices to retrieve all invoices in a book
- expose gnucash rationals as decimals in Entry and Invoice
- fix issue #65 about "template" (scheduled transactions) appearing in ledger export
- fix issue #64 about escaping in double quote mnemonic with non alpha characters
- fix issue #19 allowing to pass the check_same_thread flag for sqlite
- add argument recurse to get_balance (fix #73)
- handle currency conversion in get_balance
- add Commodity.currency_conversion to get a conversion factor between a commodity and a currency
- fix bug in pc-export
- fix definition of account get_balance to use quantities (and not values) (@sdementen)
- fix bug when providing a float instead of a Decimal to a numeric value (@gregorias)
- support new format for date for 2.7/2.8 (@MisterY, @sdementen)
- fix bug where transactions based on deleted scheduled transactions cause exceptions (@spookylukey)
- fix bug (#58) where large Decimals where raising an sql exception instead of a ValueError exception (@sdementen)
- add Recurrence to global imports + add documentation to Recurrence (@MisterY)
- add script pc-export to export customers and vendors from a gnucash book (@sdementen)
- upgrade CI (appveyor and travis) to 2.7/3.4/3.5/3.6
- upgrade dependencies
- df_splits: allow user to specify additional fields to extract (@NigelCleland)
- improve documentation (@Brian-K-Smith)
- rely on yahoo-finance to retrieve share information and share prices
- use only ISO currency static data (remove support for looking on the web)
- normalise post_date to 11:00AM
- add support for python 3.5
- add preload method on book to allow preloading all objects at once
- add children argument to Account constructor
- add a new example (used as answer to http://stackoverflow.com/questions/17055318/create-transaction-in-gnucash-in-response-to-an-email/ )
- add a new example showing how to export Split information to pandas DataFrames
- fix an error handling in retrieving currency exchanges in quandl
- fix py3 bugs in dataframe functions
- fix type and source of Pricers to be compatible with GnuCash
- add a Price when entering a commodity Split
- set microsecond to 0 for all datetime
- add pandas for requirements-dev
- add tests for deletion of transaction and for dataframe functions
- refactor the validation mechanism to work well with autoflush=True
- add support to GLIST in KVP
- add new matching rule for GUID slots
- rename slot 'default_currency' to 'default-currency'
- add tests for single_transaction factory
- update ipython example with pandas dataframes
- first draft of splits_df and prices_df methods that bring the book data into pandas DataFrames
- add an ipython notebook to show the new dataframes methods
- save default_currency of a book in a slot (when book created by piecash) or use locale to retrieve the default_currency
- improve error handling for quandl queries (currency exchange rates)
- fix bug with unicode on MySQL
- ported to SQLAlchemy-1.0
- set autoflush=true on the SA session
- improved coverage above 90% for all modules
- setup coveralls.io and requires.io
- fix bugs discovered by improved testing
- use AppVeyor for Windows continuous integration and for .exe freezing
- fix bugs in tests suite where files were not properly closed
- add Book.close function to close properly files
- depend on enum-compat instead of directly enum34
- add simple script to import/export prices from a gnucash book
- fix issue #8 re enum34
- updated sqlalchemy dep to use latest 0.9 series
- implementing support for creating Customer, Vendor and Employee objects as well as taxtables
- get 100% coverage on transaction module (except for scheduled transactions)
- account.full_name returns now unicode string
- get 100% coverage on book and account module
- fix repr and str representations of all objects to be compatible py2 and py3
- fix version requirement for SA (<0.9.9) and SA-utils
- improve doc on installation on windows through conda
- add .gitattributes to exclude html from githug language detection algorithm
- update github project list
- refactor sqlite isolation level code
- fix setup.py to avoid sqlalchemy 0.9.9 (buggy version)
- fix requirements.txt to avoid sqlalchemy 0.9.9 (buggy version)
- remove some remaining print in code
- fix requirements to include ipython==2.3.1
- fix bug in doc (was using ledger_str instead of ledger)
- refactor ledger functionalities
- bug fixing
- read backup functionality (ie backup when opening a book in RW)
- Merge the GncSession and Book objects
- extract factory function into a factories module
- add reference to google groups
- disable acquiring lock on file
- fix: qif scripts was not included in package
- add a basic QIF exporter script as piecash_toqif
- implemented "Trading accounts"
- improved documentation
- other small api enhancements/changes
- add a ledger_str method to transaction to output transaction in the ledger-cli format
- add label to Decimal field in sqlalchemy expr
- add backup option when opening sqlite file in RW (enabled by default)
- renamed tx_guid to transaction_guid in Split field
- fix technical bug in validation of transaction
- add keywords to setup.py
- add notes to Transaction (via slot)
- removed standalone exe from git/package (as too large)
- add sign property on account
- raise NotImplementedError when creating an object is not "safe" (ie not __init__ and validators)
- renamed slot_collection to slots in kvp handling
- renamed field of Version + add explicit __init__
- updated test to add explicit __init__ when needed
- reordering of field definitions to match gnucash order (finished)
- add autoincr
- reordering of field definitions to match gnucash order (to complete)
- added back the order table in the declarations
- add support for schedule_transactions and lots (in terms of access to data, not business logic)
- improved doc
- reworked documentation
- moved Lot and ScheduledTransaction to transaction module + improved them
- improve slots support
- fixed minor bugs
- fixed changelog/what's new documentation
- improve relationship in business model
- fix account.placeholder validation in transaction/splits
- made all relationships dual (with back_populates instead of backref)
- fix bug in piecash_ledger (remove testing code)
- improve documentation of core objects
- fix dependencies for developers (requests)
- regenerate the github list of projects
- improve bumpr integration
- renamed modules in piecash packages
- updated doc
.. py:currentmodule:: piecash.model_core.commodity
- ported to python 3.4
- refactored lot of classes
- improved documentation
- added helper functions: