Releases: drhagen/tabeline
Tabeline 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
Tabeline 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 toArray
s - Added
is_null
function - Made all functions propagate nulls effectively
- Add
- Fixed a bug in the NumPy export of
Array
s
Tabeline 0.3.2
One big feature and one small feature:
DataFrame
indexing thourghdf[rows, columns]
- If
int
,str
, returns a Python scalar - If
columns
is astr
, return atabeline.Array
which is basically an array - If
rows
is anint
, return atabeline.Record
which is basically a dictionary - If both request multiple items, return a new
tabeline.DataFrame
- If
DataFrame.to_dict(self)
returns adict[str, Array]
Tabeline 0.3.1
This adds a handful of functions that can be used in expressions:
- Casting functions
to_boolean(x)
: Convertx
from a boolean, a float, or an integer, to a booleanto_integer(x)
: Convertx
from a boolean, a float, or an integer to an integer or parse a string as an integerto_float(x)
: Convertx
from a boolean, a float, or an integer to a float or parse a string as a floatto_string(x)
: Deparsex
to a string
is_finite(x)
: True ifx
value is a floating point finite numbersame(x)
: One value ofx
if all values ofx
are the same, otherwise error
Duplicate columns in various operations are now properly detected and given a nice error message.
Tabeline 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.
Tabeline 0.2.0
This release makes two major changes to Tabeline:
group
was renamed togroup_by
to be more consistent with the surrounding ecosystem.group
was kept as an alias for backwards compatibility
DataTable
was renamed toDataFrame
to be more consistent with the surrounding ecosystemDataTable
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 page was added to the documentation website
Tabeline 0.1.1
This provides minor fixes to broken package metadata. There is no change in the behavior of the installed package.
Tabline 0.1.0
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