update pyenvector 1.5.x#13
Open
euphoria0-0 wants to merge 8 commits into
Open
Conversation
euphoria0-0
marked this pull request as ready for review
July 24, 2026 08:18
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Follow-up to #12 — updates the integration to pyenvector 1.5.0 and exposes the new SDK capabilities. Branched from
feat/update-1.4, so this PR includes the 1.4.x commits; once this lands, #12 can be closed.pyenvector 1.5.0 integration
partition_nameonadd_texts/add_documents/delete,partition_nameson all similarity-search variants, pluscreate_partition/drop_partition/list_partitionshelpers onEnvector.Envector.update_metadata(ids, texts, metadatas)andupdate_documents(ids, documents)— wholesale replacement of the stored{"text", "metadata"}envelope by item ID via the SDK'sIndex.update_metadata. Vectors are untouched.ConnectionConfiggainskms_address/kms_secure/kms_ca_cert; when set, the client callsinit_kms_connect()afterinit_connect()(shares the indexer auth session). Keys are then KMS-managed — omitKeyConfig.key_path.pyenvector>=1.5.0inpyproject.toml.IndexSettings.metadata_encryptiontype fixed toOptional[bool]to match the SDK.Tests
FakeIndexextended with partition capture,update_metadata, and partition management.update_documentsdelegation, and partition helpers.python -m pytest -q -m "not integration"→ 31 passed.e2e 검증 & 후속 수정 (2026-07-24)
1.5.0 서버 스택(KMS no-TLS 포함)에서 e2e 검증 후 4건 수정:
secure/kms_secure기본값을None으로 변경 — SDK 기본 규칙(토큰 있을 때만 TLS)에 위임. 기존True고정값은 no-TLS 로컬 접속을 깨서 test_e2e가 접속 단계에서 실패했음NotSupportedError, mm은 SDK가 거부). README 예시도plain으로 정정KeyConfig.key_path를 Optional로 바꾸고kms_address설정 시init_index_config에 key_path를 넘기지 않음(SDK의 KMS-managed 모드 조건). 수정 전에는 KMS 키 생성까지 되고도 로컬EncKey.json을 찾다 인덱스 생성이 실패했음delete/update_metadata시 "Index not loaded" 에러 수정 — 호출 전Index.load()보장 (표준test_delete_missing_content실패 원인)검증(1.5.0 스택 + PyPI pyenvector 1.5.0): 유닛 31 passed ·
test_e2e.py(plain) passed · langchain 표준 스위트 3 passed/16 skipped/6 xpassed · KMS-managed insert→search→delete e2e OK · 파티션/metadata-update e2e OKKnown follow-ups:
partition_names미지정 검색은_default파티션만 탐색함 — README 문구("searches the whole index")와 실측 동작 불일치