vd 0.2.2__tar.gz → 0.2.4__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 (68) hide show
  1. vd-0.2.4/.github/workflows/ci.yml +30 -0
  2. {vd-0.2.2 → vd-0.2.4}/PKG-INFO +1 -1
  3. {vd-0.2.2 → vd-0.2.4}/pyproject.toml +1 -1
  4. vd-0.2.2/.github/workflows/ci.yml +0 -209
  5. {vd-0.2.2 → vd-0.2.4}/.claude/CLAUDE.md +0 -0
  6. {vd-0.2.2 → vd-0.2.4}/.claude/skills/vd-add-backend/SKILL.md +0 -0
  7. {vd-0.2.2 → vd-0.2.4}/.claude/skills/vd-backend-choose/SKILL.md +0 -0
  8. {vd-0.2.2 → vd-0.2.4}/.claude/skills/vd-ingest/SKILL.md +0 -0
  9. {vd-0.2.2 → vd-0.2.4}/.claude/skills/vd-ops/SKILL.md +0 -0
  10. {vd-0.2.2 → vd-0.2.4}/.claude/skills/vd-quickstart/SKILL.md +0 -0
  11. {vd-0.2.2 → vd-0.2.4}/.claude/skills/vd-search/SKILL.md +0 -0
  12. {vd-0.2.2 → vd-0.2.4}/.gitattributes +0 -0
  13. {vd-0.2.2 → vd-0.2.4}/.gitignore +0 -0
  14. {vd-0.2.2 → vd-0.2.4}/LICENSE +0 -0
  15. {vd-0.2.2 → vd-0.2.4}/README.md +0 -0
  16. {vd-0.2.2 → vd-0.2.4}/misc/docs/11 -- VectorDB Selection & Setup Guide -- Provider Profiles, Decision Framework, and Installation Playbooks.md +0 -0
  17. {vd-0.2.2 → vd-0.2.4}/misc/docs/notes_for_possible_improvements.md +0 -0
  18. {vd-0.2.2 → vd-0.2.4}/misc/docs/vd_design_notes.md +0 -0
  19. {vd-0.2.2 → vd-0.2.4}/misc/docs/vd_key_takeaways.md +0 -0
  20. {vd-0.2.2 → vd-0.2.4}/misc/docs/vd_specification.md +0 -0
  21. {vd-0.2.2 → vd-0.2.4}/misc/docs/vd_use_cases.md +0 -0
  22. {vd-0.2.2 → vd-0.2.4}/misc/examples/demo_backend_discovery.py +0 -0
  23. {vd-0.2.2 → vd-0.2.4}/misc/examples/demo_comparison.py +0 -0
  24. {vd-0.2.2 → vd-0.2.4}/misc/examples/demo_config.py +0 -0
  25. {vd-0.2.2 → vd-0.2.4}/misc/examples/demo_utilities.py +0 -0
  26. {vd-0.2.2 → vd-0.2.4}/misc/examples/example_usage.py +0 -0
  27. {vd-0.2.2 → vd-0.2.4}/tests/README.md +0 -0
  28. {vd-0.2.2 → vd-0.2.4}/tests/__init__.py +0 -0
  29. {vd-0.2.2 → vd-0.2.4}/tests/conftest.py +0 -0
  30. {vd-0.2.2 → vd-0.2.4}/tests/docker-compose.yml +0 -0
  31. {vd-0.2.2 → vd-0.2.4}/tests/test_contract.py +0 -0
  32. {vd-0.2.2 → vd-0.2.4}/tests/test_core.py +0 -0
  33. {vd-0.2.2 → vd-0.2.4}/tests/test_filters.py +0 -0
  34. {vd-0.2.2 → vd-0.2.4}/tests/test_providers.py +0 -0
  35. {vd-0.2.2 → vd-0.2.4}/tests/test_time_indexed.py +0 -0
  36. {vd-0.2.2 → vd-0.2.4}/vd/__init__.py +0 -0
  37. {vd-0.2.2 → vd-0.2.4}/vd/analytics.py +0 -0
  38. {vd-0.2.2 → vd-0.2.4}/vd/backends/__init__.py +0 -0
  39. {vd-0.2.2 → vd-0.2.4}/vd/backends/_helpers.py +0 -0
  40. {vd-0.2.2 → vd-0.2.4}/vd/backends/chroma.py +0 -0
  41. {vd-0.2.2 → vd-0.2.4}/vd/backends/duckdb.py +0 -0
  42. {vd-0.2.2 → vd-0.2.4}/vd/backends/elasticsearch.py +0 -0
  43. {vd-0.2.2 → vd-0.2.4}/vd/backends/faiss.py +0 -0
  44. {vd-0.2.2 → vd-0.2.4}/vd/backends/lancedb.py +0 -0
  45. {vd-0.2.2 → vd-0.2.4}/vd/backends/memory.py +0 -0
  46. {vd-0.2.2 → vd-0.2.4}/vd/backends/milvus.py +0 -0
  47. {vd-0.2.2 → vd-0.2.4}/vd/backends/mongodb.py +0 -0
  48. {vd-0.2.2 → vd-0.2.4}/vd/backends/pgvector.py +0 -0
  49. {vd-0.2.2 → vd-0.2.4}/vd/backends/pinecone.py +0 -0
  50. {vd-0.2.2 → vd-0.2.4}/vd/backends/qdrant.py +0 -0
  51. {vd-0.2.2 → vd-0.2.4}/vd/backends/redis.py +0 -0
  52. {vd-0.2.2 → vd-0.2.4}/vd/backends/sqlite_vec.py +0 -0
  53. {vd-0.2.2 → vd-0.2.4}/vd/backends/turbopuffer.py +0 -0
  54. {vd-0.2.2 → vd-0.2.4}/vd/backends/weaviate.py +0 -0
  55. {vd-0.2.2 → vd-0.2.4}/vd/base.py +0 -0
  56. {vd-0.2.2 → vd-0.2.4}/vd/cli.py +0 -0
  57. {vd-0.2.2 → vd-0.2.4}/vd/config.py +0 -0
  58. {vd-0.2.2 → vd-0.2.4}/vd/data/providers.yaml +0 -0
  59. {vd-0.2.2 → vd-0.2.4}/vd/filters.py +0 -0
  60. {vd-0.2.2 → vd-0.2.4}/vd/health.py +0 -0
  61. {vd-0.2.2 → vd-0.2.4}/vd/io.py +0 -0
  62. {vd-0.2.2 → vd-0.2.4}/vd/migration.py +0 -0
  63. {vd-0.2.2 → vd-0.2.4}/vd/providers.py +0 -0
  64. {vd-0.2.2 → vd-0.2.4}/vd/requirements.py +0 -0
  65. {vd-0.2.2 → vd-0.2.4}/vd/search.py +0 -0
  66. {vd-0.2.2 → vd-0.2.4}/vd/text.py +0 -0
  67. {vd-0.2.2 → vd-0.2.4}/vd/time_indexed.py +0 -0
  68. {vd-0.2.2 → vd-0.2.4}/vd/util.py +0 -0
@@ -0,0 +1,30 @@
1
+ # wads CI — calls the reusable workflow hosted in i2mint/wads.
2
+ #
3
+ # All configuration comes from this repo's pyproject.toml [tool.wads.ci.*].
4
+ # To customize the workflow itself (rare), replace this file with the
5
+ # full inline template `wads/data/github_ci_uv.yml` from i2mint/wads.
6
+ #
7
+ # Pinning: `@master` floats with wads. If you need version stability for
8
+ # a release-sensitive repo, change `@master` to a wads tag (e.g. `@v0.1.81`).
9
+ # CI failure does not block a published release — it blocks the publish
10
+ # step itself — so floating master is generally safe.
11
+ #
12
+ # Permissions: GitHub validates that the caller grants AT LEAST the
13
+ # permissions any job in the called workflow requests — at workflow-parse
14
+ # time, not at run-time, even if the job would be skipped via `if:`.
15
+ # The reusable workflow needs:
16
+ # contents: write for the publish job's version-bump push-back
17
+ # pages: write for the github-pages publish (if enabled)
18
+ # id-token: write for the github-pages OIDC handshake (if enabled)
19
+ # Granting these in the stub keeps it working on any caller, including
20
+ # personal-account repos where id-token is not write-by-default.
21
+ name: Continuous Integration
22
+ on: [push, pull_request]
23
+ jobs:
24
+ ci:
25
+ uses: i2mint/wads/.github/workflows/uv-ci.yml@master
26
+ permissions:
27
+ contents: write
28
+ pages: write
29
+ id-token: write
30
+ secrets: inherit
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: vd
3
- Version: 0.2.2
3
+ Version: 0.2.4
4
4
  Summary: A facade over vector databases — one interface, ~15 backends
5
5
  Project-URL: Homepage, https://github.com/i2mint/vd
6
6
  License: mit
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "vd"
7
- version = "0.2.2"
7
+ version = "0.2.4"
8
8
  description = "A facade over vector databases — one interface, ~15 backends"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.10"
@@ -1,209 +0,0 @@
1
- name: Continuous Integration (uv)
2
- # MIGRATION NOTE: PyPI auth changed: set secrets.PYPI_PASSWORD to a PyPI API token (uv publish uses UV_PUBLISH_TOKEN, mapped from PYPI_PASSWORD)
3
- # MIGRATION NOTE: Old CI references setup.cfg - ensure project is migrated to pyproject.toml first (use: wads-migrate setup-to-pyproject)
4
- on: [push, pull_request]
5
-
6
- # Note: Environment variables (PROJECT_NAME and vars from [tool.wads.ci.env])
7
- # are set by the read-ci-config action in the setup job and made available
8
- # to all subsequent jobs via GITHUB_ENV
9
-
10
- jobs:
11
- # First job: Read configuration from pyproject.toml
12
- setup:
13
- name: Read Configuration
14
- runs-on: ubuntu-latest
15
- outputs:
16
- project-name: ${{ steps.config.outputs.project-name }}
17
- python-versions: ${{ steps.config.outputs.python-versions }}
18
- pytest-args: ${{ steps.config.outputs.pytest-args }}
19
- coverage-enabled: ${{ steps.config.outputs.coverage-enabled }}
20
- exclude-paths: ${{ steps.config.outputs.exclude-paths }}
21
- test-on-windows: ${{ steps.config.outputs.test-on-windows }}
22
- build-sdist: ${{ steps.config.outputs.build-sdist }}
23
- build-wheel: ${{ steps.config.outputs.build-wheel }}
24
- metrics-enabled: ${{ steps.config.outputs.metrics-enabled }}
25
- metrics-config-path: ${{ steps.config.outputs.metrics-config-path }}
26
- metrics-storage-branch: ${{ steps.config.outputs.metrics-storage-branch }}
27
- metrics-python-version: ${{ steps.config.outputs.metrics-python-version }}
28
- metrics-force-run: ${{ steps.config.outputs.metrics-force-run }}
29
-
30
- steps:
31
- - uses: actions/checkout@v6
32
-
33
- - name: Set up uv
34
- uses: astral-sh/setup-uv@v7
35
-
36
- - name: Set up Python
37
- run: uv python install 3.11
38
-
39
- - name: Read CI Config
40
- id: config
41
- uses: i2mint/wads/actions/read-ci-config@master
42
- with:
43
- pyproject-path: .
44
-
45
- # Second job: Validation using the config
46
- validation:
47
- name: Validation
48
- if: "!contains(github.event.head_commit.message, '[skip ci]')"
49
- needs: setup
50
- runs-on: ubuntu-latest
51
- strategy:
52
- matrix:
53
- python-version: ${{ fromJson(needs.setup.outputs.python-versions) }}
54
-
55
- steps:
56
- - uses: actions/checkout@v6
57
-
58
- - name: Set up uv
59
- uses: astral-sh/setup-uv@v7
60
- with:
61
- enable-cache: true
62
-
63
- - name: Set up Python ${{ matrix.python-version }}
64
- uses: i2mint/wads/actions/setup-python-uv@master
65
- with:
66
- python-version: ${{ matrix.python-version }}
67
-
68
- - name: Install System Dependencies
69
- uses: i2mint/wads/actions/install-system-deps@master
70
- with:
71
- pyproject-path: .
72
-
73
- - name: Install Dependencies
74
- uses: i2mint/wads/actions/install-deps-uv@master
75
-
76
- - name: Format Source Code
77
- run: uvx ruff format .
78
-
79
- - name: Lint Validation
80
- run: uvx ruff check --output-format=github ${{ needs.setup.outputs.project-name }}
81
-
82
- - name: Run Tests
83
- uses: i2mint/wads/actions/run-tests-uv@master
84
- with:
85
- root-dir: ${{ needs.setup.outputs.project-name }}
86
- pytest-args: ${{ needs.setup.outputs.pytest-args }}
87
- exclude-paths: ${{ needs.setup.outputs.exclude-paths }}
88
- coverage: ${{ needs.setup.outputs.coverage-enabled }}
89
-
90
- - name: Track Code Metrics
91
- if: needs.setup.outputs.metrics-enabled == 'true'
92
- uses: i2mint/umpyre/actions/track-metrics@master
93
- continue-on-error: true
94
- with:
95
- github-token: ${{ secrets.GITHUB_TOKEN }}
96
- config-path: ${{ needs.setup.outputs.metrics-config-path }}
97
- storage-branch: ${{ needs.setup.outputs.metrics-storage-branch }}
98
- python-version: ${{ needs.setup.outputs.metrics-python-version }}
99
- force-run: ${{ needs.setup.outputs.metrics-force-run }}
100
-
101
- # Optional Windows testing (if enabled in config)
102
- windows-validation:
103
- name: Windows Tests
104
- if: "!contains(github.event.head_commit.message, '[skip ci]') && needs.setup.outputs.test-on-windows == 'true'"
105
- needs: setup
106
- runs-on: windows-latest
107
- continue-on-error: true
108
-
109
- steps:
110
- - uses: actions/checkout@v6
111
-
112
- - name: Set up uv
113
- uses: astral-sh/setup-uv@v7
114
- with:
115
- enable-cache: true
116
-
117
- - name: Set up Python
118
- uses: i2mint/wads/actions/setup-python-uv@master
119
- with:
120
- python-version: ${{ fromJson(needs.setup.outputs.python-versions)[0] }}
121
-
122
- - name: Install System Dependencies
123
- uses: i2mint/wads/actions/install-system-deps@master
124
- with:
125
- pyproject-path: .
126
-
127
- - name: Install Dependencies
128
- uses: i2mint/wads/actions/install-deps-uv@master
129
-
130
- - name: Run Tests
131
- uses: i2mint/wads/actions/run-tests-uv@master
132
- with:
133
- root-dir: ${{ needs.setup.outputs.project-name }}
134
-
135
- # Publishing job
136
- publish:
137
- name: Publish
138
- permissions:
139
- contents: write
140
- if: "!contains(github.event.head_commit.message, '[skip ci]') && (github.ref == 'refs/heads/master' || github.ref == 'refs/heads/main')"
141
- needs: [setup, validation]
142
- runs-on: ubuntu-latest
143
-
144
- steps:
145
- - uses: actions/checkout@v6
146
- with:
147
- fetch-depth: 0
148
- token: ${{ secrets.GITHUB_TOKEN }}
149
-
150
- - name: Set up uv
151
- uses: astral-sh/setup-uv@v7
152
-
153
- - name: Set up Python
154
- uses: i2mint/wads/actions/setup-python-uv@master
155
- with:
156
- python-version: ${{ fromJson(needs.setup.outputs.python-versions)[0] }}
157
- create-venv: "false"
158
-
159
- - name: Format Source Code
160
- run: uvx ruff format .
161
-
162
- - name: Update Version Number
163
- id: version
164
- uses: i2mint/isee/actions/bump-version-number@master
165
-
166
- - name: Build Distribution
167
- uses: i2mint/wads/actions/build-dist-uv@master
168
- with:
169
- sdist: ${{ needs.setup.outputs.build-sdist }}
170
- wheel: ${{ needs.setup.outputs.build-wheel }}
171
-
172
- - name: Publish to PyPI
173
- uses: i2mint/wads/actions/pypi-publish-uv@master
174
- with:
175
- pypi-token: ${{ secrets.PYPI_PASSWORD }}
176
-
177
- - name: Force SSH for git remote
178
- run: git remote set-url origin git@github.com:${{ github.repository }}.git
179
-
180
- - name: Commit Changes
181
- uses: i2mint/wads/actions/git-commit@master
182
- with:
183
- commit-message: "**CI** Formatted code + Updated version to ${{ env.VERSION }} [skip ci]"
184
- ssh-private-key: ${{ secrets.SSH_PRIVATE_KEY }}
185
- push: true
186
-
187
- - name: Tag Repository
188
- uses: i2mint/wads/actions/git-tag@master
189
- with:
190
- tag: ${{ env.VERSION }}
191
- message: "Release version ${{ env.VERSION }}"
192
- push: true
193
-
194
- # Optional GitHub Pages
195
- github-pages:
196
- name: Publish GitHub Pages
197
- permissions:
198
- contents: write
199
- pages: write
200
- id-token: write
201
- if: "!contains(github.event.head_commit.message, '[skip ci]') && github.ref == format('refs/heads/{0}', github.event.repository.default_branch)"
202
- needs: publish
203
- runs-on: ubuntu-latest
204
-
205
- steps:
206
- - uses: i2mint/epythet/actions/publish-github-pages@master
207
- with:
208
- github-token: ${{ secrets.GITHUB_TOKEN }}
209
- ignore: "tests/,scrap/,examples/"
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes