embedflow 0.1.0__tar.gz → 0.2.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (127) hide show
  1. {embedflow-0.1.0 → embedflow-0.2.0}/CHANGELOG.md +8 -0
  2. {embedflow-0.1.0 → embedflow-0.2.0}/CITATION.cff +2 -2
  3. embedflow-0.2.0/LICENSE +663 -0
  4. {embedflow-0.1.0 → embedflow-0.2.0}/MANIFEST.in +2 -1
  5. {embedflow-0.1.0 → embedflow-0.2.0}/PKG-INFO +26 -15
  6. {embedflow-0.1.0 → embedflow-0.2.0}/README.md +23 -13
  7. {embedflow-0.1.0 → embedflow-0.2.0}/README_PYPI.md +16 -8
  8. {embedflow-0.1.0 → embedflow-0.2.0}/docs/api.md +6 -2
  9. {embedflow-0.1.0 → embedflow-0.2.0}/docs/cli.md +1 -1
  10. {embedflow-0.1.0 → embedflow-0.2.0}/docs/configuration.md +11 -1
  11. {embedflow-0.1.0 → embedflow-0.2.0}/docs/economics.md +1 -1
  12. {embedflow-0.1.0 → embedflow-0.2.0}/docs/installation.md +7 -0
  13. embedflow-0.2.0/docs/integrations/pgvector.md +140 -0
  14. {embedflow-0.1.0 → embedflow-0.2.0}/docs/limitations.md +1 -1
  15. {embedflow-0.1.0 → embedflow-0.2.0}/docs/releasing.md +8 -8
  16. {embedflow-0.1.0 → embedflow-0.2.0}/embedflow/__init__.py +2 -2
  17. {embedflow-0.1.0 → embedflow-0.2.0}/embedflow/analysis.py +5 -1
  18. {embedflow-0.1.0 → embedflow-0.2.0}/embedflow/cli.py +117 -30
  19. {embedflow-0.1.0 → embedflow-0.2.0}/embedflow/config.py +40 -5
  20. embedflow-0.2.0/embedflow/indexes/__init__.py +9 -0
  21. embedflow-0.2.0/embedflow/indexes/pgvector_backend.py +685 -0
  22. {embedflow-0.1.0 → embedflow-0.2.0}/embedflow/migration/facade.py +61 -12
  23. {embedflow-0.1.0 → embedflow-0.2.0}/embedflow/migration/materializer.py +18 -6
  24. {embedflow-0.1.0 → embedflow-0.2.0}/embedflow/runtime.py +41 -6
  25. {embedflow-0.1.0 → embedflow-0.2.0}/embedflow/serving/api.py +13 -4
  26. {embedflow-0.1.0 → embedflow-0.2.0}/embedflow/serving/engine.py +8 -2
  27. {embedflow-0.1.0 → embedflow-0.2.0}/embedflow.egg-info/PKG-INFO +26 -15
  28. {embedflow-0.1.0 → embedflow-0.2.0}/embedflow.egg-info/SOURCES.txt +10 -0
  29. {embedflow-0.1.0 → embedflow-0.2.0}/embedflow.egg-info/requires.txt +8 -4
  30. embedflow-0.2.0/examples/pgvector/README.md +28 -0
  31. embedflow-0.2.0/examples/pgvector/build_index.py +57 -0
  32. embedflow-0.2.0/examples/pgvector/compose.yaml +20 -0
  33. embedflow-0.2.0/examples/pgvector/embedflow.yaml +48 -0
  34. embedflow-0.2.0/examples/pgvector/init.sql +9 -0
  35. embedflow-0.2.0/examples/pgvector/queries.jsonl +4 -0
  36. embedflow-0.2.0/examples/pgvector/run_demo.sh +11 -0
  37. {embedflow-0.1.0 → embedflow-0.2.0}/pyproject.toml +8 -6
  38. {embedflow-0.1.0 → embedflow-0.2.0}/scripts/release_gate.py +19 -2
  39. embedflow-0.2.0/scripts/validate_pgvector_10k.py +812 -0
  40. embedflow-0.1.0/LICENSE +0 -178
  41. embedflow-0.1.0/embedflow/indexes/__init__.py +0 -5
  42. {embedflow-0.1.0 → embedflow-0.2.0}/CONTRIBUTING.md +0 -0
  43. {embedflow-0.1.0 → embedflow-0.2.0}/SECURITY.md +0 -0
  44. {embedflow-0.1.0 → embedflow-0.2.0}/docs/assets/README.md +0 -0
  45. {embedflow-0.1.0 → embedflow-0.2.0}/docs/assets/candidate-gap-example.svg +0 -0
  46. {embedflow-0.1.0 → embedflow-0.2.0}/docs/assets/dashboard-screenshot.md +0 -0
  47. {embedflow-0.1.0 → embedflow-0.2.0}/docs/assets/terminal-demo.txt +0 -0
  48. {embedflow-0.1.0 → embedflow-0.2.0}/docs/concepts.md +0 -0
  49. {embedflow-0.1.0 → embedflow-0.2.0}/docs/contributing-benchmarks.md +0 -0
  50. {embedflow-0.1.0 → embedflow-0.2.0}/docs/integrations/faiss.md +0 -0
  51. {embedflow-0.1.0 → embedflow-0.2.0}/docs/integrations/qdrant.md +0 -0
  52. {embedflow-0.1.0 → embedflow-0.2.0}/docs/methodology.md +0 -0
  53. {embedflow-0.1.0 → embedflow-0.2.0}/docs/quickstart.md +0 -0
  54. {embedflow-0.1.0 → embedflow-0.2.0}/docs/registry.md +0 -0
  55. {embedflow-0.1.0 → embedflow-0.2.0}/embedflow/__main__.py +0 -0
  56. {embedflow-0.1.0 → embedflow-0.2.0}/embedflow/cache/__init__.py +0 -0
  57. {embedflow-0.1.0 → embedflow-0.2.0}/embedflow/cache/base.py +0 -0
  58. {embedflow-0.1.0 → embedflow-0.2.0}/embedflow/cache/persistent_cache.py +0 -0
  59. {embedflow-0.1.0 → embedflow-0.2.0}/embedflow/compatibility/__init__.py +0 -0
  60. {embedflow-0.1.0 → embedflow-0.2.0}/embedflow/compatibility/candidate_gap.py +0 -0
  61. {embedflow-0.1.0 → embedflow-0.2.0}/embedflow/compatibility/containment.py +0 -0
  62. {embedflow-0.1.0 → embedflow-0.2.0}/embedflow/compatibility/evaluate.py +0 -0
  63. {embedflow-0.1.0 → embedflow-0.2.0}/embedflow/compatibility/metrics.py +0 -0
  64. {embedflow-0.1.0 → embedflow-0.2.0}/embedflow/compatibility/migration_depth.py +0 -0
  65. {embedflow-0.1.0 → embedflow-0.2.0}/embedflow/compatibility/probe.py +0 -0
  66. {embedflow-0.1.0 → embedflow-0.2.0}/embedflow/compatibility/report.py +0 -0
  67. {embedflow-0.1.0 → embedflow-0.2.0}/embedflow/compatibility/t2.py +0 -0
  68. {embedflow-0.1.0 → embedflow-0.2.0}/embedflow/data/__init__.py +0 -0
  69. {embedflow-0.1.0 → embedflow-0.2.0}/embedflow/data/registry/__init__.py +0 -0
  70. {embedflow-0.1.0 → embedflow-0.2.0}/embedflow/data/registry/benchmark_profiles.jsonl +0 -0
  71. {embedflow-0.1.0 → embedflow-0.2.0}/embedflow/data/registry/checksums.sha256 +0 -0
  72. {embedflow-0.1.0 → embedflow-0.2.0}/embedflow/data/registry/migrations.jsonl +0 -0
  73. {embedflow-0.1.0 → embedflow-0.2.0}/embedflow/data/registry/registry_manifest.json +0 -0
  74. {embedflow-0.1.0 → embedflow-0.2.0}/embedflow/data/registry/research_summaries.json +0 -0
  75. {embedflow-0.1.0 → embedflow-0.2.0}/embedflow/data/registry/schema_version.json +0 -0
  76. {embedflow-0.1.0 → embedflow-0.2.0}/embedflow/frozen/T2_V1_FROZEN_SPEC.md +0 -0
  77. {embedflow-0.1.0 → embedflow-0.2.0}/embedflow/frozen/T2_V1_FROZEN_SPEC.sha256 +0 -0
  78. {embedflow-0.1.0 → embedflow-0.2.0}/embedflow/indexes/base.py +0 -0
  79. {embedflow-0.1.0 → embedflow-0.2.0}/embedflow/indexes/faiss_backend.py +0 -0
  80. {embedflow-0.1.0 → embedflow-0.2.0}/embedflow/indexes/qdrant_backend.py +0 -0
  81. {embedflow-0.1.0 → embedflow-0.2.0}/embedflow/metrics/__init__.py +0 -0
  82. {embedflow-0.1.0 → embedflow-0.2.0}/embedflow/metrics/latency.py +0 -0
  83. {embedflow-0.1.0 → embedflow-0.2.0}/embedflow/migration/__init__.py +0 -0
  84. {embedflow-0.1.0 → embedflow-0.2.0}/embedflow/migration/compatibility.py +0 -0
  85. {embedflow-0.1.0 → embedflow-0.2.0}/embedflow/migration/planner.py +0 -0
  86. {embedflow-0.1.0 → embedflow-0.2.0}/embedflow/migration/state.py +0 -0
  87. {embedflow-0.1.0 → embedflow-0.2.0}/embedflow/models/__init__.py +0 -0
  88. {embedflow-0.1.0 → embedflow-0.2.0}/embedflow/models/base.py +0 -0
  89. {embedflow-0.1.0 → embedflow-0.2.0}/embedflow/models/huggingface.py +0 -0
  90. {embedflow-0.1.0 → embedflow-0.2.0}/embedflow/registry/__init__.py +0 -0
  91. {embedflow-0.1.0 → embedflow-0.2.0}/embedflow/registry/loader.py +0 -0
  92. {embedflow-0.1.0 → embedflow-0.2.0}/embedflow/registry/matcher.py +0 -0
  93. {embedflow-0.1.0 → embedflow-0.2.0}/embedflow/registry/schema.py +0 -0
  94. {embedflow-0.1.0 → embedflow-0.2.0}/embedflow/serving/__init__.py +0 -0
  95. {embedflow-0.1.0 → embedflow-0.2.0}/embedflow/serving/factory.py +0 -0
  96. {embedflow-0.1.0 → embedflow-0.2.0}/embedflow/serving/schemas.py +0 -0
  97. {embedflow-0.1.0 → embedflow-0.2.0}/embedflow.egg-info/dependency_links.txt +0 -0
  98. {embedflow-0.1.0 → embedflow-0.2.0}/embedflow.egg-info/entry_points.txt +0 -0
  99. {embedflow-0.1.0 → embedflow-0.2.0}/embedflow.egg-info/top_level.txt +0 -0
  100. {embedflow-0.1.0 → embedflow-0.2.0}/examples/faiss/README.md +0 -0
  101. {embedflow-0.1.0 → embedflow-0.2.0}/examples/faiss/documents.jsonl +0 -0
  102. {embedflow-0.1.0 → embedflow-0.2.0}/examples/faiss/embedflow.yaml +0 -0
  103. {embedflow-0.1.0 → embedflow-0.2.0}/examples/faiss/queries.jsonl +0 -0
  104. {embedflow-0.1.0 → embedflow-0.2.0}/examples/qdrant/README.md +0 -0
  105. {embedflow-0.1.0 → embedflow-0.2.0}/examples/qdrant/build_index.py +0 -0
  106. {embedflow-0.1.0 → embedflow-0.2.0}/examples/qdrant/documents.jsonl +0 -0
  107. {embedflow-0.1.0 → embedflow-0.2.0}/examples/qdrant/embedflow.yaml +0 -0
  108. {embedflow-0.1.0 → embedflow-0.2.0}/examples/qdrant/queries.jsonl +0 -0
  109. {embedflow-0.1.0 → embedflow-0.2.0}/examples/research_analysis/README.md +0 -0
  110. {embedflow-0.1.0 → embedflow-0.2.0}/examples/research_analysis/documents.jsonl +0 -0
  111. {embedflow-0.1.0 → embedflow-0.2.0}/examples/research_analysis/embedflow.yaml +0 -0
  112. {embedflow-0.1.0 → embedflow-0.2.0}/examples/research_analysis/qrels.json +0 -0
  113. {embedflow-0.1.0 → embedflow-0.2.0}/examples/research_analysis/queries.jsonl +0 -0
  114. {embedflow-0.1.0 → embedflow-0.2.0}/frozen/T2_V1_FROZEN_SPEC.md +0 -0
  115. {embedflow-0.1.0 → embedflow-0.2.0}/frozen/T2_V1_FROZEN_SPEC.sha256 +0 -0
  116. {embedflow-0.1.0 → embedflow-0.2.0}/requirements-dev.txt +0 -0
  117. {embedflow-0.1.0 → embedflow-0.2.0}/requirements.txt +0 -0
  118. {embedflow-0.1.0 → embedflow-0.2.0}/scripts/real_qdrant_smoke.py +0 -0
  119. {embedflow-0.1.0 → embedflow-0.2.0}/scripts/run_demo.sh +0 -0
  120. {embedflow-0.1.0 → embedflow-0.2.0}/scripts/run_tests.sh +0 -0
  121. {embedflow-0.1.0 → embedflow-0.2.0}/setup.cfg +0 -0
  122. {embedflow-0.1.0 → embedflow-0.2.0}/src/__init__.py +0 -0
  123. {embedflow-0.1.0 → embedflow-0.2.0}/src/embed.py +0 -0
  124. {embedflow-0.1.0 → embedflow-0.2.0}/src/probe_features.py +0 -0
  125. {embedflow-0.1.0 → embedflow-0.2.0}/src/storage.py +0 -0
  126. {embedflow-0.1.0 → embedflow-0.2.0}/src/t2_v1.py +0 -0
  127. {embedflow-0.1.0 → embedflow-0.2.0}/src/utils.py +0 -0
@@ -1,5 +1,13 @@
1
1
  # Changelog
2
2
 
3
+ ## v0.2.0 — pgvector backend
4
+
5
+ - Added a read-only pgvector backend for existing PostgreSQL vector tables.
6
+ - Added cosine, Euclidean/L2, and inner-product retrieval with safe SQL
7
+ identifier composition.
8
+ - Added pgvector table auditing, optional transaction-local HNSW/IVFFlat
9
+ settings, Docker example, and numerical/SQL-safety tests.
10
+
3
11
  ## v0.1.0 — initial public release
4
12
 
5
13
  - Candidate-compatibility analysis and Mode A evaluation workflows.
@@ -2,11 +2,11 @@ cff-version: 1.2.0
2
2
  title: "EmbedFlow: Upgrading Legacy Embeddings Without Full Upfront Re-Embedding"
3
3
  message: "If EmbedFlow contributes to your work, please cite this software release."
4
4
  type: software
5
- version: 0.1.0
5
+ version: 0.2.0
6
6
  date-released: 2026-09-06
7
7
  repository-code: "https://github.com/arnsri33/embedflow"
8
8
  url: "https://github.com/arnsri33/embedflow"
9
- license: Apache-2.0
9
+ license: AGPL-3.0-only
10
10
  authors:
11
11
  - family-names: "Srivastav"
12
12
  given-names: "Arnav"