- Resolve some python deprecations
- Support python 3.8
- Python 2.7 no longer fully supported
- Create setup.cfg to build universal wheel
- Create set of functional programming tools
- Added Python 3.5 compatibility
- Set up CI and coverage
- Fixed spreadsheets.xlsx_to_reader Python 3.4 compatibility
- Fixed numbers.convert_int exception test for Python 3.4 compatibility
- Fixed case where error handling's _uie_matches masked real exception by creating one
- Added Python 3.4 compatibility.
- Remove blazeutils.xlrd. It had been deprecated and the objects moved to .spreadsheets.
- changed how the version string is determined in __init__.py
- archive old changelog notes
- add xlsx_to_strio() and WriterX.mwrite()
- fix wrong dates for 0.4.0 and 0.4.1 releases in changelog
- add roundsecs argument to dates.trim_mils
updates to spreadsheets module including .xlsx file support
- xlsx_to_reader(): converts xlsxwriter.Workbook instance to xlrd reader
- WriterX: like Writer but for xlsxwriter Worksheets, API is slightly different and won't have any faculties for style management like Writer does.
- Reader: gets a .from_xlsx() method
- http_headers(): utility function to help when sending files as HTTP response
- fix packaging issue
- testing.raises() gets support for custom exception validators, docstring updated w/ usage
- decorators.curry() use a different approach so multiple curried functions can be used
- add decorators.hybrid_method() ala SQLAlchemy
- add decorators.memoize() primarily for SQLAlchemy method caching
- BC break: .decorators now uses 'wrapt' so that is a new dependency