Skip to content

Commit

Permalink
Release notes (#80)
Browse files Browse the repository at this point in the history
  • Loading branch information
WillAyd authored Jan 15, 2020
1 parent d3fd36e commit 1fc3508
Show file tree
Hide file tree
Showing 6 changed files with 26 additions and 19 deletions.
14 changes: 3 additions & 11 deletions doc/source/caveats.rst
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
Usage Limitations
=================
Usage Notes
===========

Type Mapping
------------
Expand Down Expand Up @@ -43,20 +43,12 @@ pantab maps the following dtypes from pandas to the equivalent column type in Ta
Any dtype not explicitly listed in the above table will raise a ValueError if trying to write out data.

.. versionadded:: 1.0.0
If using pandas 1.0 and above, text data will be read back into a ``"string"`` dtype rather than an ``object`` dtype.
If using pandas 1.0 and above, text data will be read back into a ``string`` dtype rather than an ``object`` dtype.

.. note::

Most objects can maintain their type when "round-tripping" to/from Hyper extracts, with the exception of the float32 object as only DOUBLE is available for floating point storage in Hyper. After pandas 1.0 / pantab 1.0, object dtypes written will be read back in as string.

Missing Value Handling
----------------------
In the scientific Python community missing values are often notated as ``np.nan``, which is a float value implementing the `IEEE 754 <https://en.wikipedia.org/wiki/IEEE_754>`_ standard for missing value handling. Because NumPy stores homogenous arrays, there has been a long standing issue in pandas where integers could not store missing records, as noted in the `pandas documentation on missing values <https://pandas.pydata.org/pandas-docs/stable/user_guide/missing_data.html#working-with-missing-data>`_.

Complicating factors is the presence of the ``None`` sentinel in Python, which can often times intuitively be represented as a missing value. Unfortunately ``None`` is a Python level construct, and most of the performance of the data stack in Python is implemented in lower-level C routines that cannot take advantage of this value. The Hyper API though uses this as its missing value indicator.

Because of the various missing value indicators, serializing to/from a Hyper extract via pantab cannot be lossless. On write, ``None`` and ``np.nan`` values will both be written in as missing data to the Hyper extract. On read, missing values will be read back as ``np.nan``.

Index / Column Handling
-----------------------
A pandas DataFrame always comes with an ``Index`` used to slice / access rows. No such concept exists in Tableau, so this will be implicitly dropped when writing Hyper extracts.
Expand Down
21 changes: 21 additions & 0 deletions doc/source/changelog.rst
Original file line number Diff line number Diff line change
@@ -1,6 +1,27 @@
Changelog
^^^^^^^^^

Pantab 1.0.0 (2020-01-15)
=========================

Special thanks to `chillerno1 <https://github.com/chillerno1>`_ for contributing to this release.

Features
--------

- pantab now supports reading/writing pandas 1.0 dtypes, namely the ``boolean`` and ``string`` dtypes. (#20)

.. important::

TEXT data read from a Hyper extract will be stored in a ``string`` dtype when using pandas 1.0 or greater in combination with pantab 1.0 or greater. Older versions of either tool will read the data back into a ``object`` dtype.


Bugfixes
--------

- Fixed potential segfault on systems where not all addresses can be expressed in an unsigned long long. (#52)


Pantab 0.2.3 (2020-01-02)
=========================

Expand Down
2 changes: 1 addition & 1 deletion pantab/__init__.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
__version__ = "0.2.3"
__version__ = "1.0.0"


from ._reader import frame_from_hyper, frames_from_hyper
Expand Down
5 changes: 0 additions & 5 deletions pantab/newsfragments/20.feature

This file was deleted.

1 change: 0 additions & 1 deletion pantab/newsfragments/52.bugfix

This file was deleted.

2 changes: 1 addition & 1 deletion setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@

setup(
name="pantab",
version="0.2.3",
version="1.0.0",
description="Converts pandas DataFrames into Tableau Hyper Extracts",
long_description=long_description,
long_description_content_type="text/markdown",
Expand Down

0 comments on commit 1fc3508

Please sign in to comment.