Skip to content

Releases: heavyai/pymapd

Add packaging to setup.py

22 Apr 19:32
ef7a2a5
Compare
Choose a tag to compare

Missed an import for setup.py, which made pip install fail.

Breaking change: dates and columnar load

22 Apr 18:25
268acf8
Compare
Choose a tag to compare

In this release, a breaking change was made related to how OmniSci version 4.6+ handle dates on the backend. The new behavior is related to storing dates as epoch days instead of seconds. This means the following:

  • for MapD/OmniSci <= 4.6, YOU MUST USE pymapd < 0.11 (a RuntimeError is thrown if version < 4.6 detected)
  • For OmniSci 4.6+, pymapd >= 0.11 is required. No error message will be thrown if using previously released versions of pymapd (i.e. these versions are in the wild, no way to change previously downloaded versions)

Additionally, python 3.5 was dropped, as f-strings are now used within pymapd (a 3.6+ feature). pyarrow 0.13 is also now supported.

Notable PRs:

Update build files for pyarrow 0.13 (#195)
Remove python 3.5 compat (#207)
Swap itertuples for .values (#210)
Make DATEs consistent with respect to changes in Omnisci Core (#188)
Throw exception if version number <4.6 (#220)

Modify behavior of text and categorical columns

29 Mar 13:00
93db138
Compare
Choose a tag to compare

This release fixes a library design issue where string columns were previously uploaded as TEXT type in OmniSci, when the more desirable behavior is likely TEXT ENCODING DICT. Additionally, pandas categorical columns will now be uploaded as TEXT ENCODING DICT, which previously threw an error about Unhandled type error.

Finally, Int8 support was fixed when using the Arrow loader. Additionally, the prior version of the Arrow loader mutated the input data frame in certain situations. This behavior is now remedied by making a copy of the dataframe if a type conversion is needed for upload into OmniSci.

Notable PRs
Add dict encoding to all string columns for load (#186)
Trim input sql strings (#187)
Force categorical to upload as TEXT ENCODED DICT (#189)
Remove erroneous int8 cast code and fix mutating df (#193)

Tighten package lower bounds, bugfixes and cleanups

22 Mar 15:56
0413cf1
Compare
Choose a tag to compare

For 0.9.0, we set lower bounds for pandas, numpy, sqlalchemy and pytest to 1) hopefully speed up conda solving for environments and 2) lower the surface area of acceptable package versions to test against. For users of individual conda environments or virtualenv, this should generally have no adverse affects.

We also removed the ability to specify the format of the Thrift message result on the Cursor class (kwarg: columnar). This was an internal detail not expected to be needed by the end user; removing it makes the code simpler to maintain.

Finally, we fixed #68, which prevented the ability to get results from tables having columns of arrays.

Support for higher-precision timestamps

16 Mar 17:34
e0c1956
Compare
Choose a tag to compare

This release updates the support for higher-precision timestamps in pymapd.

#171

Bugfix: Installation issue on Windows

11 Mar 21:03
Compare
Choose a tag to compare

Issue with Windows and Python 3.7 around shared memory. Fix was to disable checking of shared memory functions on Windows, as shared memory via select_ipc and select_ipc_gpu not supported (shared memory functionality requires Python code to be running on same machine as OmniSci installation; OmniSci does not currently install natively on Windows, so shared memory functionality not currently possible)

Bugfix release

07 Mar 00:50
Compare
Choose a tag to compare

pymapd __version__ dunder erroneously removed in v0.8; this release adds the variable back.

Drop Python 2 support, added Arrow 0.12

06 Mar 13:43
f1d86a1
Compare
Choose a tag to compare

This release of pymapd is the first Python 3 only release (3.5 - 3.7 supported); users needing Python 2 support should use pymapd 0.7.1 but plan to upgrade as soon as possible, as no further maintenance will be provided to support Python 2.

With OmniSci 4.5, we changed the default installation ports for connecting to the core database, and this change is reflected in this release. Depending on your OmniSci implementation, you might still be using 9091 or 6274 for the binary connection. If you are having trouble connecting using pymapd, verify port and specify it explicitly using port=6274 in the connection string.

Notable PRs:
Drop support for Python 2 (#155)
Update for pyarrow 0.12 (#157)
Add Date in days conversion support (#168)
Switch references from 9091 to 6274 (#173)

Bugfix release

16 Jan 00:59
Compare
Choose a tag to compare

Fixed typo with columnar load datetime conversion (#153)

Updated RAPIDS support, pyarrow 0.11, python 3.7

10 Jan 21:50
07d27c4
Compare
Choose a tag to compare

This release is the first pymapd release switching over to the cudf library for GPU dataframes (prior releases of pymapd supported pygdf, the prior version to cudf). Also supported are pyarrow 0.11.0 for select_ipc as well as Python 3.7.

Note that if you install cudf, cudf requires pyarrow 0.10.0 and pymapd will downgrade pyarrow to allow installation.

Finally, the need for Cython to compile pymapd has been removed, which should hopefully fix any outstanding issues when installing from pip.

Notable changes:
Fix bug with loading Pandas dataframe row-wise (#133)
Allow ints and string inputs for TIMESTAMP columns (#138)
ENH: migrate to cudf (#139)
Update IPC code to remove Cython (#148)
Add support for pyarrow 0.11 and python3.7, remove python 3.4 (#151)