Skip to content

feat: expose state metadata in Python API#91

Merged
beinan merged 1 commit into
lance-format:mainfrom
xuzha:feat/python-state-metadata
Jun 15, 2026
Merged

feat: expose state metadata in Python API#91
beinan merged 1 commit into
lance-format:mainfrom
xuzha:feat/python-state-metadata

Conversation

@xuzha

@xuzha xuzha commented Jun 13, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Add optional state_metadata support to Python Context.add and add_many.
  • Convert Python metadata mappings into the existing Rust StateMetadata fields.
  • Add round-trip tests for full and partial state metadata writes.

Testing

  • uv run --extra tests pytest tests/test_search.py tests/test_state_metadata.py
  • uv run --extra tests ruff check python tests
  • uv run --extra dev pyright
  • RUSTC=/Users/xuzhang6/Library/Caches/puccinialin/rustup/toolchains/stable-aarch64-apple-darwin/bin/rustc /Users/xuzhang6/Library/Caches/puccinialin/rustup/toolchains/stable-aarch64-apple-darwin/bin/cargo test --manifest-path python/Cargo.toml

Notes

  • Full uv run --extra tests pytest currently has existing failures in compaction/persistence/S3 tests unrelated to this change.
  • cargo fmt could not be run locally because the available cached Rust toolchain does not include rustfmt.

@xuzha xuzha marked this pull request as ready for review June 14, 2026 19:59
@xuzha xuzha force-pushed the feat/python-state-metadata branch from bb5f5b5 to e8c4f47 Compare June 14, 2026 22:00
@beinan beinan merged commit fee9e7d into lance-format:main Jun 15, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants