diff --git a/README.md b/README.md index c8204dc..07bdd0e 100644 --- a/README.md +++ b/README.md @@ -2,6 +2,10 @@ This is the Python edition of [RumbleDB](https://rumbledb.org/), which brings [JSONiq](https://www.jsoniq.org) to the world of Python. +[See in action](https://colab.research.google.com/github/RumbleDB/rumble/blob/master/RumbleSandbox.ipynb)! + +The Python edition is relatively recent. In many cases, `pip install jsoniq` just works. In some other instances (e.g., another version of Spark is installed locally), it might be unstable. We welcome feedback to improve the installation experience. + JSONiq is a language considerably more powerful than SQL as it can process [messy, heterogeneous datasets](https://arxiv.org/abs/1910.11582), from kilobytes to Petabytes, with very little coding effort. Spark aficionados can also pass DataFrames to JSONiq queries and take back DataFrames. This gives them an environment in which both Spark SQL and JSONiq co-exist to manipulate the data. @@ -336,6 +340,11 @@ Even more queries can be found [here](https://colab.research.google.com/github/R # Latest updates +## Version 2.1.8 +- The order of the columns in output DataFrames were occasionally reshuffled. This new version keeps the column order more stable. +- Further improvements supporting built-in function and improved XML/XQuery 3.1 support. +- Update to Spark 4.0.3. + ## Version 2.1.7 - Extend data frame detection to the presence of JSON nulls. - Many improvements supporting built-in function and improved XML/XQuery 3.1 support. diff --git a/pyproject.toml b/pyproject.toml index 5befc6f..a5692b3 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,11 +4,11 @@ build-backend = "setuptools.build_meta" [project] name = "jsoniq" -version = "2.1.7" +version = "2.1.8" description = "Python edition of RumbleDB, a JSONiq engine" requires-python = ">=3.11" dependencies = [ - "pyspark==4.0.2", + "pyspark==4.0.3", "pandas>=2.2", "delta-spark==4.0" ] diff --git a/requirements.txt b/requirements.txt index f57f203..bc4a2fc 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,2 +1,2 @@ -pyspark==4.0.2 +pyspark==4.0.3 pandas==2.3 diff --git a/src/jsoniq/jars/rumbledb-2.1.7.jar b/src/jsoniq/jars/rumbledb-2.1.7.jar deleted file mode 100644 index 40745ef..0000000 --- a/src/jsoniq/jars/rumbledb-2.1.7.jar +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:250c001e4fa5b3b4d5dfd0795a0ae0a7dbbd172357187afc106b0473acaa24d7 -size 79699525 diff --git a/src/jsoniq/jars/rumbledb-2.1.8.jar b/src/jsoniq/jars/rumbledb-2.1.8.jar new file mode 100644 index 0000000..3a15a98 --- /dev/null +++ b/src/jsoniq/jars/rumbledb-2.1.8.jar @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1ef6213de358698daf6bd5ab43b7747ff74cda4c7d30226b1f3886f813c77f01 +size 79729772 diff --git a/src/jsoniq/session.py b/src/jsoniq/session.py index f86002d..163c9dd 100644 --- a/src/jsoniq/session.py +++ b/src/jsoniq/session.py @@ -7,7 +7,7 @@ import pandas as pd from importlib.resources import files, as_file -with as_file(files("jsoniq.jars").joinpath("rumbledb-2.1.7.jar")) as jar_path: +with as_file(files("jsoniq.jars").joinpath("rumbledb-2.1.8.jar")) as jar_path: if (os.name == 'nt'): jar_path_str = str(jar_path) else: