13 Commits

Author SHA1 Message Date
Ethan Urbanski 481fddeffd chore: tighten duplicate argument validation in create() and vacuum() (#4299)
# Description
Tighten the Python compatibility handling in `DeltaTable.create()` and
`DeltaTable.vacuum()` ensuring duplicate values are rejected when legacy
positional arguments are mixed with keywords.

# Related Issue(s)
<!---
For example:

- closes #106
--->

# Documentation

<!---
Share links to useful documentation
--->

Signed-off-by: Ethan Urbanski <ethan@urbanskitech.com>
2026-03-20 10:31:59 +01:00
Bhavana Sundar c85075e427 fix(python): make commit control args keyword-only across mutating APIs (#4283)
# Description

Added `deprecate_positional_commit_args` to `_util.py` as a helper that
preserves legacy positional behavior per method, emits a
DeprecationWarning, rejects invalid usage, and normalizes to canonical
commit_properties-first order.

Wired into all public mutating APIs across `table.py`,
`writer/convert_to.py`, and `transaction.py`. `write_deltalake` params
reordered to canonical order (already keyword-only, no shim needed).
`restore` left untouched (already keyword-only).

Unit tests added in `tests/test_util.py`.
# Related Issue(s)

- closes #4252 

Notes:
- `_internal.pyi stubs are already in canonical order
- `create()` and `vacuum()` handle legacy positional args inline (they
had extra trailing params beyond the commit args, so the shared helper
is bypassed for those two)
Follow-up PR will make all APIs keyword-only and remove the
compatibility path

AI disclosure: I used Claude as a coding assistant to help map out
affected methods. I reviewed every modification, ran the full test suite
locally, and understand each change made.

---------

Signed-off-by: Bhavana Sundar <bhavana7899@gmail.com>
Co-authored-by: Ethan Urbanski <ethanurbanski@gmail.com>
2026-03-18 23:49:12 -04:00
R. Tyler Croy d4d75cc06d feat: enable deletion vector features for working with tables
This relaxes the strictness of some of our deletion vector checks, even
if we cannot produce deletion vectors at the moment, the datafusion work
happening in `main` and the underlying kernel supports reading them now.

Closes #3994

Signed-off-by: R. Tyler Croy <rtyler@brokenco.de>
2026-01-19 15:27:44 -08:00
R. Tyler Croy 49424e5897 chore: enable python tests to pass again
Signed-off-by: R. Tyler Croy <rtyler@brokenco.de>
2025-12-14 09:30:15 -08:00
Sam Meyer-Reed 6a4f2497dd Add test for attemping to create DeltaTable with invalid path
Signed-off-by: Sam Meyer-Reed <smeyerreed@gmail.com>
2025-07-14 23:46:51 +00:00
Ion Koutsouris 92e75bb217 refactor: move from pyarrow to arro3
Signed-off-by: Ion Koutsouris <15728914+ion-elgreco@users.noreply.github.com>
2025-05-24 19:55:57 +00:00
Robert Pack 3941c0ce71 test: update or disable tests with unsupported features
Signed-off-by: Robert Pack <robstar.pack@gmail.com>
2025-04-11 18:17:02 +00:00
Ion Koutsouris 4154e7907c chore: organize imports
Signed-off-by: Ion Koutsouris <15728914+ion-elgreco@users.noreply.github.com>
2025-03-02 17:08:11 +00:00
Ion Koutsouris 6ecf09ebd9 refactor: use more CommitProperties, PostCommitHookproreties, move to transaction module
Signed-off-by: Ion Koutsouris <15728914+ion-elgreco@users.noreply.github.com>
2025-03-02 17:08:11 +00:00
Ion Koutsouris 507c3a3176 feat(python, rust): add set table properties operation (#2264)
# Description
- Adds `set table properties` operation
- Some logic is shared for the create operation

# Related Issue(s)
- closes https://github.com/delta-io/delta-rs/issues/1663
- fixes https://github.com/delta-io/delta-rs/issues/2247

---------

Co-authored-by: R. Tyler Croy <rtyler@brokenco.de>
2024-05-16 14:58:37 -07:00
Ion Koutsouris f12834e22f fix(python,rust): missing remove actions during create_or_replace (#2437)
# Description
The overwrite mode never added the remove actions, which causes your
table to get in an invalid state.
2024-04-22 17:02:00 +00:00
ion-elgreco 4276b4d27d fix + add tests 2024-01-07 12:49:20 -08:00
Ion Koutsouris 20214a5aba feat(python): expose create to DeltaTable class (#1932)
Allows one to create a table without writing. 

(created a new one, I keep messing up these rebases..)

- closes https://github.com/delta-io/delta-rs/issues/1892
2023-12-02 18:19:59 +00:00