Skip to content

feat: expose state metadata in Python API#91

Open
xuzha wants to merge 1 commit into
lance-format:mainfrom
xuzha:feat/python-state-metadata
Open

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

Conversation

@xuzha

@xuzha xuzha commented Jun 13, 2026

Copy link
Copy Markdown

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
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.

1 participant