Skip to content

Commit

Permalink
Release candidate for 5.1.0 (#355)
Browse files Browse the repository at this point in the history
  • Loading branch information
WillAyd authored Oct 2, 2024
1 parent 93f4001 commit 2128554
Show file tree
Hide file tree
Showing 4 changed files with 58 additions and 3 deletions.
55 changes: 55 additions & 0 deletions doc/source/changelog.rst
Original file line number Diff line number Diff line change
@@ -1,6 +1,61 @@
Changelog
^^^^^^^^^

Pantab 5.1.0rc0 (XXXX-XX-XX)
=========================


New Features
------------

Control Hyper Database Version
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Hyper files provide a "database version" that controls features and backwards compatability. To support many of the new features in pantab 5.0.0 this value was set to a database version of "4".

However, this had the unintended consquence of making pantab-creeated files incompatible with older tools. To fix this, we have set the default version to 2 and added a ``process_params`` argument to the pantab API which allows you to override this setting.

.. code-block:: python
import pandas as pd
import pantab as pt
# single precision float support requires database version 4+
df = pd.DataFrame(
{"float32": pd.Series([3.14], dtype="float32")}
)
pt.frame_to_hyper(
df,
"example.hyper",
table="test",
process_params={"default_database_version": "4"}
)
Ultimately there is not one default value that will work for all users. For details specific to this parameter and its effects, please refer to Tableau's `default_database_version <https://tableau.github.io/hyper-db/docs/hyper-api/hyper_process/#default_database_version>`_ parameter documentation.

tableauhyperapi Package is Now an Optional Dependency
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Historically we have required users to install the tableauhyperapi Python package alongside pantab. However, this can cause issues when a user installs a version of the tableauhyperapi package that is incompatible with the binaries provided already by pantab. There is no great way to prevent this via Python packaging, and it can yield subtle or even outright bugs, especially on Windows platforms.

Aside from the packaging difficulties, dropping this dependency now makes pantab a much smaller installation. Depending on your platform, this may save you anywhere from 60-80 MB of disk space per installation.

If you decide to still install both, pantab will continue to work alongside the tableauhyperapi and can continue to accept the TableName / Name objects from that library. However, for Windows users in particular, we advise against installing both packages.


Other Features
--------------

- Implemented write support for binary view types, which polars uses by default for strings (#340)
- Implemented write support for dictionary-encoded strings (aka categoricals)
- Improved performance and reduced memory usage (#343)

Bug Fixes
---------

- Fixed a bug where leading decimal places were not being transmitted properly (#342)

Pantab 5.0.0 (2024-08-21)
=========================

Expand Down
2 changes: 1 addition & 1 deletion doc/source/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
project = "pantab"
copyright = "2019-2024, Will Ayd, innobi, LLC"
author = "Will Ayd, innobi, LLC"
release = "5.0.0"
release = "5.1.0rc0"


# -- General configuration ---------------------------------------------------
Expand Down
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ build-backend = "scikit_build_core.build"

[project]
name = "pantab"
version = "5.0.0"
version = "5.1.0rc0"
description = "Converts pandas DataFrames into Tableau Hyper Extracts and back"
license = {file = "LICENSE.txt"}
readme = "README.md"
Expand Down
2 changes: 1 addition & 1 deletion src/pantab/__init__.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
__version__ = "5.0.0"
__version__ = "5.1.0rc0"


from pantab._reader import frame_from_hyper, frame_from_hyper_query, frames_from_hyper
Expand Down

0 comments on commit 2128554

Please sign in to comment.