Skip to content

Commit 5a37520

Browse files
release: 0.5.3
1 parent 0df1b3d commit 5a37520

File tree

4 files changed

+36
-3
lines changed

4 files changed

+36
-3
lines changed

docs/docs/content/CHANGELOG.md

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,39 @@ All notable changes to Rayforce-Py will be documented in this file.
66
You can also subscribe for release notifications by joining our [:simple-zulip: Zulip](https://rayforcedb.zulipchat.com/#narrow/channel/549008-Discuss)!
77

88

9+
## **`0.5.3`**
10+
11+
### New Features
12+
13+
- **SQL Query Support**: Query tables using familiar SQL syntax with the new `Table.sql()` method. Supports `SELECT`, `UPDATE`, `INSERT`, and `UPSERT` (via `ON CONFLICT`) statements. Requires optional `sqlglot` dependency. See [SQL documentation](./documentation/plugins/sql.md) for details.
14+
15+
```python
16+
# SELECT with WHERE, GROUP BY, ORDER BY
17+
result = table.sql("SELECT dept, AVG(salary) FROM self WHERE age > 25 GROUP BY dept")
18+
19+
# UPDATE with expressions
20+
result = table.sql("UPDATE self SET salary = salary * 1.1 WHERE rating > 4")
21+
22+
# INSERT
23+
result = table.sql("INSERT INTO self (id, name) VALUES (1, 'Alice'), (2, 'Bob')")
24+
25+
# UPSERT (insert or update)
26+
result = table.sql("INSERT INTO self (id, name) VALUES (1, 'Updated') ON CONFLICT (id) DO UPDATE")
27+
```
28+
29+
- **Vector type inference**: `Vector` now automatically infers the element type from the first item when `ray_type` is not specified.
30+
31+
```python
32+
# Before: ray_type was required
33+
v = Vector([1, 2, 3], ray_type=I64)
34+
35+
# Now: type is inferred automatically
36+
v = Vector([1, 2, 3]) # Infers I64 from first element
37+
```
38+
39+
2026-01-17 | **[🔗 PyPI](https://pypi.org/project/rayforce-py/0.5.3/)** | **[🔗 GitHub](https://github.com/RayforceDB/rayforce-py/releases/tag/0.5.3)**
40+
41+
942
## **`0.5.2`**
1043

1144
### New Features

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
44

55
[project]
66
name = "rayforce_py"
7-
version = "0.5.2"
7+
version = "0.5.3"
88
description = "Python bindings for RayforceDB"
99
readme = "README.md"
1010
authors = [{name = "Karim"}]

rayforce/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010

1111
FFI.init_runtime()
1212

13-
version = "0.5.2"
13+
version = "0.5.3"
1414

1515
if sys.platform == "linux":
1616
lib_name = "_rayforce_c.so"

setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ def has_ext_modules(self):
99

1010
setup(
1111
name="rayforce_py",
12-
version="0.5.2",
12+
version="0.5.3",
1313
packages=find_packages(),
1414
package_data={
1515
"rayforce": ["*.so", "*.dylib", "*.pyi", "bin/rayforce"],

0 commit comments

Comments
 (0)