Changelogs » Tablib

Tablib

1.0.0

Breaking changes

- Dropped Python 2 support
- Dependencies are now all optional. To install `tablib` as before with all
possible supported formats, run `pip install tablib[all]`

Improvements

- Formats can now be dynamically registered through the
`tablib.formats.registry.refister` API (256).
- Tablib methods expecting data input (`detect_format`, `import_set`,
`Dataset.load`, `Databook.load`) now accepts file-like objects in addition
to raw strings and bytestrings (440).

Bugfixes

- Fixed a crash when exporting an empty string with the ReST format (368)
- Error cells from imported .xls files contain now the error string (202)

0.14.0

Deprecations

- The 0.14.x series will be the last to support Python 2

Breaking changes

- Dropped Python 3.4 support

Improvements

- Added Python 3.7 and 3.8 support
- The project is now maintained by the Jazzband team, https://jazzband.co
- Improved format autodetection and added autodetection for the odf format.
- Added search to all documentation pages
- Open xlsx workbooks in read-only mode (316)
- Unpin requirements
- Only install backports.csv on Python 2

Bugfixes

- Fixed `DataBook().load` parameter ordering (first stream, then format).
- Fixed a regression for xlsx exports where non-string values were forced to
strings (314)
- Fixed xlsx format detection (which was often detected as `xls` format)

0.13.0

- Added reStructuredText output capability (336)
- Added Jira output capability
- Stopped calling openpyxl deprecated methods (accessing cells, removing sheets)
(openpyxl minimal version is now 2.4.0)
- Fixed a circular dependency issue in JSON output (332)
- Fixed Unicode error for the CSV export on Python 2 (215)
- Removed usage of optional `ujson` (311)
- Dropped Python 3.3 support

0.12.1

- Favor `Dataset.export(<format>)` over `Dataset.<format>` syntax in docs
- Make Panda dependency optional

0.12.0

- Add initial Panda DataFrame support
- Dropped Python 2.6 support

0.11.5

- Use `yaml.safe_load` for importing yaml.

0.11.4

- Use built-in `json` package if available
- Support Python 3.5+ in classifiers

Bugfixes

- Fixed textual representation for Dataset with no headers
- Handle decimal types

0.11.3 insecure

- Release fix.

0.11.2 insecure

Bugfixes

- Fix export only formats.
- Fix for xlsx output.

0.11.1 insecure

Bugfixes

- Fixed packaging error on Python 3.

0.11.0 insecure

New Formats!

- Added LaTeX table export format (`Dataset.latex`).
- Support for dBase (DBF) files (`Dataset.dbf`).

Improvements

- New import/export interface (`Dataset.export()`, `Dataset.load()`).
- CSV custom delimiter support (`Dataset.export('csv', delimiter='$')`).
- Adding ability to remove duplicates to all rows in a dataset (`Dataset.remove_duplicates()`).
- Added a mechanism to avoid `datetime.datetime` issues when serializing data.
- New `detect_format()` function (mostly for internal use).
- Update the vendored unicodecsv to fix `None` handling.
- Only freeze the headers row, not the headers columns (xls).

Breaking Changes

- `detect()` function removed.

Bugfixes

- Fix XLSX import.
- Bugfix for `Dataset.transpose().transpose()`.

0.10.0 insecure

* Unicode Column Headers
* ALL the bugfixes!

0.9.11 insecure

* Bugfixes

0.9.10 insecure

* Bugfixes

0.9.9 insecure

* Dataset API Changes
* `stack_rows` => `stack`, `stack_columns` => `stack_cols`
* column operations have their own methods now (`append_col`, `insert_col`)
* List-style `pop()`
* Redis-style `rpush`, `lpush`, `rpop`, `lpop`, `rpush_col`, and `lpush_col`

0.9.8 insecure

* OpenDocument Spreadsheet support (.ods)
* Full Unicode TSV support

0.9.7 insecure

* Full XLSX Support!
* Pickling Bugfix
* Compat Module

0.9.6 insecure

* `seperators` renamed to `separators`
* Full unicode CSV support

0.9.5 insecure

* Python 3.1, Python 3.2 Support (same code base!)
* Formatter callback support
* Various bug fixes

0.9.4 insecure

* Python 2.5 Support!
* Tox Testing for 2.5, 2.6, 2.7
* AnyJSON Integrated
* OrderedDict support
* Caved to community pressure (spaces)

0.9.3 insecure

* Databook duplication leak fix.
* HTML Table output.
* Added column sorting.

0.9.2 insecure

* Transpose method added to Datasets.
* New frozen top row in Excel output.
* Pickling support for Datasets and Rows.
* Support for row/column stacking.

0.9.1 insecure

* Minor reference shadowing bugfix.

0.9.0 insecure

* Massive documentation update!
* Tablib.org!
* Row tagging and Dataset filtering!
* Column insert/delete support
* Column append API change (header required)
* Internal Changes (Row object and use thereof)

0.8.5

* New import system. All dependencies attempt to load from site-packages,
then fallback on tenderized modules.

0.8.4 insecure

* Updated XLS output: Only wrap if '\\n' in cell.

0.8.3 insecure

* Ability to append new column passing a callable
as the value that will be applied to every row.

0.8.2 insecure

* Added alignment wrapping to written cells.
* Added separator support to XLS.

0.8.1 insecure

* Packaging Fix

0.8.0 insecure

* New format plugin system!
* Imports! ELEGANT Imports!
* Tests. Lots of tests.

0.7.1 insecure

* Reverting methods back to properties.
* Windows bug compensated in documentation.

0.7.0 insecure

* Renamed DataBook Databook for consistency.
* Export properties changed to methods (XLS filename / StringIO bug).
* Optional Dataset.xls(path='filename') support (for writing on windows).
* Added utf-8 on the worksheet level.

0.6.4 insecure

* Updated unicode export for XLS.
* More exhaustive unit tests.

0.6.3 insecure

* Added Dataset.append() support for columns.

0.6.2 insecure

* Fixed Dataset.append() error on empty dataset.
* Updated Dataset.headers property w/ validation.
* Added Testing Fixtures.

0.6.1 insecure

* Packaging hotfixes.

0.6.0

* Public Release.
* Export Support for XLS, JSON, YAML, and CSV.
* DataBook Export for XLS, JSON, and YAML.
* Python Dict Property Support.