Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release candidate for 5.1.0 #355

Merged
merged 1 commit into from
Oct 2, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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
Loading