Skip to content

Releases: drhagen/tabeline

Tabeline 0.4.0

03 Nov 10:12
Compare
Choose a tag to compare

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 Arrays
    • Added is_null function
    • Made all functions propagate nulls effectively
  • Fixed a bug in the NumPy export of Arrays

Tabeline 0.3.2

13 Jul 01:04
Compare
Choose a tag to compare

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]

Tabeline 0.3.1

09 Jul 13:01
Compare
Choose a tag to compare

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.

Tabeline 0.3.0

28 Jun 11:05
Compare
Choose a tag to compare

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 DataFrames and do what you expect.

Tabeline 0.2.0

22 Apr 10:35
9275614
Compare
Choose a tag to compare

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:

Tabeline 0.1.1

22 Apr 10:29
Compare
Choose a tag to compare

This provides minor fixes to broken package metadata. There is no change in the behavior of the installed package.

Tabline 0.1.0

22 Apr 10:28
Compare
Choose a tag to compare

The initial release of Tabeline, a dplyr-inspired data table and data grammar library, wrapping Polars as its computational engine:

  • DataTable class
    • Multiple levels of grouping
  • Conversions
    • from_polars, to_polars
    • from_pandas, to_pandas
    • read_csv, write_csv
  • Basic verbs
    • select, deselect, rename
    • filter, slice0, slice1, distinct, unique
    • group, ungroup
    • summarize
    • spread, gather
    • inner_join, outer_join, left_join
  • Expression operations
    • +, -, *, /, %, **
    • abs, sqrt, log, log2, log10, exp, pow, sin, cos, tan, floor, ceil
    • is_nan
    • std, var, max, min, sum, mean, median, quantile, trapz
    • any, all
    • first, last
  • Documentation website