Releases: hseshadr/edgeproc-core
Release list
edgeproc-core 0.4.2
Corrective documentation release.
- Replaces every supported source-install pin with an immutable protected-main snapshot that reports 0.4.2.
- Adds an installed-artifact contract that forces a shared-bucket collision and verifies scoped search, statistics, and deletion remain isolated.
- Declares the supported security floor as 0.4.2 and removes registry-status wording that could become stale inside packaged metadata.
0.4.1 is superseded; users should upgrade to 0.4.2 or newer. Runtime code is unchanged.
Published from tag v0.4.2 through GitHub OIDC Trusted Publishing with PyPI attestations.
edgeproc-core 0.4.1
- Backend conformance now catches tenant-isolation leaks. The shipped suite grades multi-key filters as logical AND and treats
filters={}as unscoped across search, delete, and stats. - The readable
VectorIndexcontract now states both rules, and the suite rejects a reserved partition-key collision that would make its own proof vacuous. - The exact wheel ships
edgeproc_core.vector_mgmt.conformance; a built-wheel import gate prevents the documented API from outrunning PyPI again. - The trusted-publish verification window is bounded at ten minutes, preventing ordinary registry propagation from turning a successful release red.
Install with python -m pip install edgeproc-core==0.4.1.
Full immutable detail: CHANGELOG.md at v0.4.1. PyPI: edgeproc-core 0.4.1.
edgeproc-core 0.4.0
vector_mgmt/conformance.pynow reaches PyPI — it landed 14 minutes after the 0.3.0 tag, so the README's documented import raisedModuleNotFoundErroron a clean install of 0.3.0.- Search correctness is guarded. Seven mutations that previously passed the whole suite now fail, including
reverse=Trueturning nearest-neighbour into farthest-neighbour. - Routing-key/metadata divergence fixed. A row inserted under a
partition_keywith no matching metadata was invisible to that partition's search, uncounted by its stats, and undeletable by its scoped delete. - A gate step now runs every documented README import against the built wheel.
Full detail in CHANGELOG.md.
v0.2.0
What's Changed
- feat: canonical-errors module (shared_libs_python.errors) by @hseshadr in #8
- chore(deps): bump the actions group across 1 directory with 5 updates by @dependabot[bot] in #3
- chore(deps): bump the python-deps group across 1 directory with 8 updates by @dependabot[bot] in #4
- Release v0.2.0 — canonical errors module by @hseshadr in #9
New Contributors
- @dependabot[bot] made their first contribution in #3
Full Changelog: v0.1.4...v0.2.0
v0.1.4
What's Changed
- fix: 5 correctness defects — deterministic routing, lost writes, rebuild crash, UTC contract, gated releases by @hseshadr in #5
- harden(ci+security): least-privilege publish token, kill tag→sed injection, real disclosure channel by @hseshadr in #6
- refactor: type IndexConfig.distance_metric as a Literal + changelog reconcile by @hseshadr in #7
Full Changelog: v0.1.3...v0.1.4
v0.1.3
What's Changed
- Standards alignment: poe gate, CI mirror, action floor, two-altitude README (v0.1.3) by @hseshadr in #2
New Contributors
Full Changelog: v0.1.2...v0.1.3
v0.1.2
v0.1.1 — strict-quality cleanup
Cleanup to the publish-ready strict-quality bar. No new features; no API breaks for code that consumed the existing public re-exports from shared_libs_python and shared_libs_python.vector_mgmt.
Changed
mypy --strictclean, Radon Grade A (cyclomatic ≤ 5), all functions ≤ 15 lines, noDict[str, Any]in user code.- Replaced ad-hoc
dict[str, Any]metadata/filter types withScalar/Metadatatype aliases (Scalar = str | int | float | bool | None). - Introduced
IndexFactoryProtocol replacing the previousCallable[..., Awaitable[VectorIndex]]annotation. Existing callers passing a plainasync def factory(name, config=None)continue to satisfy the Protocol structurally. IndexManager.searchrefactored via_compose_filters+_merge_top_khelpers (Grade A).TwoTierPartitionStrategy.get_partitionsrefactored via a_classify_embeddinghelper (Grade A). Behavior preserved exactly: naivedatetime.now(); missing or non-stringcreated_at→ hot; parse error → cold.- Magic-number thresholds in
IndexManager.rebuild_if_needednamed withFinal[float]. - Moved unused runtime extras (
pgvector,sqlalchemy[asyncio],numpy) from required dependencies to[project.optional-dependencies].pgvector. Default install is now lean (Pydantic only). - Added
poetasks:lint,fmt,typecheck,complexity,test,quality. - Updated
pyproject.tomlauthor to Harish Seshadri.
Removed
- Empty
shared_libs_python.vector_mgmt.indexingandshared_libs_python.vector_mgmt.reindexsubmodules (advertised by the README but contained no public symbols). - "Reindexing utilities" feature claim from the README.
Added
xenon,radon,poethepoetdev dependencies powering the strict quality gate.
Install
uv pip install git+https://github.com/hseshadr/shared-libs-python.git@v0.1.1
# or with the pgvector extra for ready-made pgvector/SQLAlchemy/NumPy stack
uv pip install "shared-libs-python[pgvector] @ git+https://github.com/hseshadr/shared-libs-python.git@v0.1.1"Full Changelog: v0.1.0...v0.1.1
v0.1.0
Full Changelog: https://github.com/hseshadr/shared-libs-python/commits/v0.1.0