Tabeline

Latest version: v0.5.0

Safety actively analyzes 714860 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 2

0.5.0

Add support for Python 3.13
- Upgrade to pyarrow 18
- Removed the Python version ceiling because that was no longer required

Upgrade to Polars 1.0. While some old bugs were fixed, some new bugs were introduced.
- Fix: NaNs now compare equal
- Fix: Empty Array objects are now allowed
- Change: Many of the exceptions that bubble up from Polars are different
- Bug: Many functions applied to arrays of all nulls now panic
- Bug: Integer to a negative integer now panics instead of converts to float

0.4.0

The main feature of this release is the addition of null support. It also adds Python 3.12 support, which necessitated changing the bounds of dependencies.

* Add Python 3.12 support
* Upgrade to pyarrow 14 (first version with Python 3.12 support) for export to Arrow
* Upgrade to Pandas 2 (2.1 is the first version with Python 3.12 support) for Pandas export
* Upgrade to Polars 0.19
* Put `<3.13` ceiling on Python support. This was needed because NumPy 1.26 (the first version with Python 3.12 support) put a ceiling on its Python support, and in Poetry, this ceiling is viral.
* Add support for nulls
* Add `DataType` enum and apply to `Array`s
* Added `is_null` function
* Made all functions propagate nulls effectively
* Fixed a bug in the NumPy export of `Array`s

0.3.2

One big feature and one small feature:

- `DataFrame` indexing thourgh `df[rows, columns]`
- If `int`, `str`, returns a Python scalar
- If `columns` is a `str`, return a `tabeline.Array` which is basically an array
- If `rows` is an `int`, return a `tabeline.Record` which is basically a dictionary
- If both request multiple items, return a new `tabeline.DataFrame`
- `DataFrame.to_dict(self)` returns a `dict[str, Array]`

0.3.1

This adds a handful of functions that can be used in expressions:

* Casting functions
* `to_boolean(x)`: Convert `x` from a boolean, a float, or an integer, to a boolean
* `to_integer(x)`: Convert `x` from a boolean, a float, or an integer to an integer or parse a string as an integer
* `to_float(x)`: Convert `x` from a boolean, a float, or an integer to a float or parse a string as a float
* `to_string(x)`: Deparse `x` to a string
* `is_finite(x)`: True if `x` value is a floating point finite number
* `same(x)`: One value of `x` if all values of `x` are the same, otherwise error

Duplicate columns in various operations are now properly detected and given a nice error message.

0.3.0

This adds a handful of functions to expressions:

* `arcsin`, `arccos`, `arctan`
* `interp`
* `if_else`

This also adds `concatenate_rows` and `concatenate_columns` as Python functions that take multiple `DataFrame`s and do what you expect.

0.2.0

This release makes two major changes to Tabeline:

- `group` was renamed to `group_by` to be more consistent with the surrounding ecosystem.
- `group` was kept as an alias for backwards compatibility
- `DataTable` was renamed to `DataFrame` to be more consistent with the surrounding ecosystem
- `DataTable` was kept as an alias for backwards compatibility

In addition, there were some minor changes:

- The required version of Polars was advanced from 0.13 to 0.17.
- Support for Python 3.11 was added.
- A [Contributing](https://tabeline.drhagen.com/contributing/) page was added to the [documentation website](https://tabeline.drhagen.com/)

Page 1 of 2

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.