bijux-vex 0.1.0__tar.gz → 0.2.1__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.
@@ -25,3 +25,13 @@ coverage.xml
25
25
 
26
26
  .DS_Store
27
27
  site
28
+
29
+ # Benchmarks
30
+ benchmarks/artifacts/
31
+
32
+ # Local runtime artifacts
33
+ session.sqlite
34
+ runs/
35
+ *.sqlite
36
+ *.faiss
37
+ *.meta.json
@@ -0,0 +1,176 @@
1
+ Metadata-Version: 2.4
2
+ Name: bijux-vex
3
+ Version: 0.2.1
4
+ Summary: Vector execution runtime with replayable determinism and audited ANN (nothing implicit).
5
+ Project-URL: Homepage, https://bijux.github.io/bijux-vex/
6
+ Project-URL: Documentation, https://bijux.github.io/bijux-vex/
7
+ Project-URL: Source, https://github.com/bijux/bijux-vex
8
+ Project-URL: Issues, https://github.com/bijux/bijux-vex/issues
9
+ Project-URL: Changelog, https://github.com/bijux/bijux-vex/blob/main/CHANGELOG.md
10
+ Project-URL: Security, https://github.com/bijux/bijux-vex/blob/main/SECURITY.md
11
+ Project-URL: Funding, https://github.com/sponsors/bijux
12
+ Author-email: Bijan Mousavi <mousavi.bijan@gmail.com>
13
+ Maintainer-email: Bijan Mousavi <mousavi.bijan@gmail.com>
14
+ License: MIT
15
+ License-File: LICENSE
16
+ Keywords: ann,audit,bijux,determinism,execution,nearest-neighbor,provenance,replay,reproducibility,vector,vector-search,vex
17
+ Classifier: Development Status :: 4 - Beta
18
+ Classifier: Intended Audience :: Developers
19
+ Classifier: License :: OSI Approved :: MIT License
20
+ Classifier: Natural Language :: English
21
+ Classifier: Operating System :: OS Independent
22
+ Classifier: Programming Language :: Python :: 3
23
+ Classifier: Programming Language :: Python :: 3 :: Only
24
+ Classifier: Programming Language :: Python :: 3.11
25
+ Classifier: Programming Language :: Python :: 3.12
26
+ Classifier: Programming Language :: Python :: 3.13
27
+ Classifier: Programming Language :: Python :: 3.14
28
+ Classifier: Topic :: Security
29
+ Classifier: Topic :: Software Development :: Libraries
30
+ Classifier: Typing :: Typed
31
+ Requires-Python: <4,>=3.11
32
+ Requires-Dist: fastapi<0.129,>=0.128
33
+ Requires-Dist: pydantic<3.0,>=2.12
34
+ Requires-Dist: typer<0.22,>=0.21
35
+ Provides-Extra: api
36
+ Requires-Dist: fastapi<0.129,>=0.128; extra == 'api'
37
+ Requires-Dist: schemathesis<5.0,>=4.0; extra == 'api'
38
+ Requires-Dist: uvicorn<1.0,>=0.30.1; extra == 'api'
39
+ Provides-Extra: config
40
+ Requires-Dist: pyyaml<7.0,>=6.0; extra == 'config'
41
+ Provides-Extra: dev
42
+ Requires-Dist: anyio<5.0,>=4.4.0; extra == 'dev'
43
+ Requires-Dist: bandit<2.0,>=1.7.10; extra == 'dev'
44
+ Requires-Dist: build<2.0,>=1.0.3; extra == 'dev'
45
+ Requires-Dist: codespell<3.0,>=2.3.0; extra == 'dev'
46
+ Requires-Dist: commitizen<5.0,>=4.0.0; extra == 'dev'
47
+ Requires-Dist: cyclonedx-bom>=4.6.0; extra == 'dev'
48
+ Requires-Dist: deptry<1.0,>=0.10.0; extra == 'dev'
49
+ Requires-Dist: hypothesis-jsonschema<1.0,>=0.23.0; extra == 'dev'
50
+ Requires-Dist: hypothesis<7.0,>=6.103.0; extra == 'dev'
51
+ Requires-Dist: interrogate<2.0,>=1.7.0; extra == 'dev'
52
+ Requires-Dist: mypy<2.0,>=1.11.2; extra == 'dev'
53
+ Requires-Dist: openapi-spec-validator<1.0,>=0.7.1; extra == 'dev'
54
+ Requires-Dist: pexpect<5.0,>=4.8.0; extra == 'dev'
55
+ Requires-Dist: pip-audit<3.0,>=2.7.3; extra == 'dev'
56
+ Requires-Dist: prance>=25.4.0.0; extra == 'dev'
57
+ Requires-Dist: pre-commit>=4.0; extra == 'dev'
58
+ Requires-Dist: pydocstyle<7.0,>=6.2.1; extra == 'dev'
59
+ Requires-Dist: pyright[nodejs]<2.0,>=1.1.320; extra == 'dev'
60
+ Requires-Dist: pytest-asyncio<2.0,>=1.0.0; extra == 'dev'
61
+ Requires-Dist: pytest-benchmark<5.0,>=4.0.0; extra == 'dev'
62
+ Requires-Dist: pytest-cov<7.0,>=6.2.1; extra == 'dev'
63
+ Requires-Dist: pytest-rerunfailures<14.0,>=13.0; extra == 'dev'
64
+ Requires-Dist: pytest-timeout<3.0,>=2.4.0; extra == 'dev'
65
+ Requires-Dist: pytest<9.0,>=8.4.1; extra == 'dev'
66
+ Requires-Dist: pytype>=2024.10.11; extra == 'dev'
67
+ Requires-Dist: radon>=6.0.0; extra == 'dev'
68
+ Requires-Dist: reuse<6.0.0,>=4.0.0; extra == 'dev'
69
+ Requires-Dist: ruff<1.0,>=0.6.8; extra == 'dev'
70
+ Requires-Dist: schemathesis<5.0,>=4.0; extra == 'dev'
71
+ Requires-Dist: towncrier<25.0,>=23.0; extra == 'dev'
72
+ Requires-Dist: twine<7.0,>=6.1.0; extra == 'dev'
73
+ Requires-Dist: types-colorama<1.0,>=0.0.14; extra == 'dev'
74
+ Requires-Dist: types-orjson<4.0,>=3.6.0; extra == 'dev'
75
+ Requires-Dist: types-pexpect<5.0,>=4.9.0; extra == 'dev'
76
+ Requires-Dist: types-psutil<7.0,>=6.0.0; extra == 'dev'
77
+ Requires-Dist: types-pyyaml<7.0,>=6.0.12; extra == 'dev'
78
+ Requires-Dist: typing-extensions<5.0,>=4.5.0; extra == 'dev'
79
+ Requires-Dist: uvicorn<1.0,>=0.30.1; extra == 'dev'
80
+ Requires-Dist: vulture<3.0,>=2.7; extra == 'dev'
81
+ Provides-Extra: docs
82
+ Requires-Dist: mkdocs-gen-files; extra == 'docs'
83
+ Requires-Dist: mkdocs-git-revision-date-localized-plugin<2.0,>=1.2.0; extra == 'docs'
84
+ Requires-Dist: mkdocs-glightbox<1.0,>=0.3; extra == 'docs'
85
+ Requires-Dist: mkdocs-include-markdown-plugin; extra == 'docs'
86
+ Requires-Dist: mkdocs-literate-nav; extra == 'docs'
87
+ Requires-Dist: mkdocs-material<10.0,>=9.5.39; extra == 'docs'
88
+ Requires-Dist: mkdocs-material[imaging]<10.0,>=9.5.39; extra == 'docs'
89
+ Requires-Dist: mkdocs-minify-plugin<1.0,>=0.7; extra == 'docs'
90
+ Requires-Dist: mkdocs-redirects<2.0,>=1.2; extra == 'docs'
91
+ Requires-Dist: mkdocs<2.0,>=1.6.1; extra == 'docs'
92
+ Requires-Dist: mkdocstrings[python]<1.0,>=0.26.1; extra == 'docs'
93
+ Provides-Extra: embeddings
94
+ Requires-Dist: sentence-transformers<3.0,>=2.7.0; extra == 'embeddings'
95
+ Provides-Extra: nd
96
+ Requires-Dist: hnswlib<1.0,>=0.8.0; extra == 'nd'
97
+ Provides-Extra: vdb
98
+ Requires-Dist: faiss-cpu<2.0,>=1.7.4; extra == 'vdb'
99
+ Requires-Dist: numpy<3.0,>=1.26; extra == 'vdb'
100
+ Requires-Dist: qdrant-client<2.0,>=1.9.0; extra == 'vdb'
101
+ Description-Content-Type: text/markdown
102
+
103
+ <p align="center">
104
+ <img src="https://raw.githubusercontent.com/bijux/bijux-vex/main/docs/assets/bijux_logo_hq.png" alt="Bijux-Vex" width="180" />
105
+ </p>
106
+
107
+ # bijux-vex
108
+
109
+ **Vector execution runtime with replayable determinism + audited ANN (nothing implicit).**
110
+
111
+ Why this exists: production vector search drifts quietly. Bijux‑Vex makes correctness explicit, and refuses when guarantees cannot be met.
112
+
113
+ If you only read one page, read this: https://bijux.github.io/bijux-vex/user/only_read_one_page/
114
+
115
+ ## Why bijux-vex
116
+
117
+ - Replayable determinism for results you can defend
118
+ - Audited, bounded ND (ANN) instead of silent approximation
119
+ - Nothing implicit: fail‑closed by design
120
+
121
+ ## Hello world (deterministic, exact)
122
+
123
+ ```bash
124
+ bijux vex ingest --doc "hello" --vector "[0.0, 1.0, 0.0]" \
125
+ --vector-store memory
126
+ bijux vex materialize --execution-contract deterministic --vector-store memory
127
+ bijux vex execute --artifact-id art-1 \
128
+ --execution-contract deterministic --execution-intent exact_validation \
129
+ --execution-mode strict --vector "[0.0, 1.0, 0.0]"
130
+ ```
131
+
132
+ ## Hello world (ND / ANN with quality)
133
+
134
+ ```bash
135
+ bijux vex materialize --execution-contract non_deterministic --index-mode ann \
136
+ --vector-store faiss --vector-store-uri ./index.faiss
137
+ bijux vex execute --artifact-id art-1 \
138
+ --execution-contract non_deterministic --execution-intent exploratory_search \
139
+ --execution-mode bounded --randomness-seed 42 --randomness-sources ann_probe \
140
+ --nd-witness sample --vector "[0.0, 1.0, 0.0]"
141
+ ```
142
+
143
+ ## Concept map (instant mental model)
144
+
145
+ ```
146
+ request → plan → execute → provenance
147
+ ├─ deterministic (exact)
148
+ └─ ND (ANN) + quality
149
+ vector store: optional + explicit
150
+ ```
151
+
152
+ ## When NOT to use this
153
+
154
+ - Not a vector DB (no implicit CRUD or query language)
155
+ - Not a RAG framework (no prompts, no orchestration)
156
+ - Not a hosted service (you run it)
157
+
158
+ ## Stability & support
159
+
160
+ - Supported Python: 3.11–3.14
161
+ - Determinism: stable and replayable
162
+ - ND (ANN): experimental but audited and bounded
163
+
164
+ ## Getting help / reporting issues
165
+
166
+ GitHub issues: https://github.com/bijux/bijux-vex/issues
167
+ Include `bijux vex debug-bundle` output when reporting a bug.
168
+
169
+ ## Quick links
170
+
171
+ - Start Here (10 minutes): https://bijux.github.io/bijux-vex/user/start_here_10_minutes/
172
+ - Start Here (human): https://bijux.github.io/bijux-vex/user/start_here_human/
173
+ - Concept Map: https://bijux.github.io/bijux-vex/user/concept_map/
174
+ - ND Production Guide: https://bijux.github.io/bijux-vex/guides/nd_production/
175
+ - Security Policy: https://github.com/bijux/bijux-vex/blob/main/SECURITY.md
176
+ - Changelog: https://github.com/bijux/bijux-vex/blob/main/CHANGELOG.md
@@ -0,0 +1,74 @@
1
+ <p align="center">
2
+ <img src="https://raw.githubusercontent.com/bijux/bijux-vex/main/docs/assets/bijux_logo_hq.png" alt="Bijux-Vex" width="180" />
3
+ </p>
4
+
5
+ # bijux-vex
6
+
7
+ **Vector execution runtime with replayable determinism + audited ANN (nothing implicit).**
8
+
9
+ Why this exists: production vector search drifts quietly. Bijux‑Vex makes correctness explicit, and refuses when guarantees cannot be met.
10
+
11
+ If you only read one page, read this: https://bijux.github.io/bijux-vex/user/only_read_one_page/
12
+
13
+ ## Why bijux-vex
14
+
15
+ - Replayable determinism for results you can defend
16
+ - Audited, bounded ND (ANN) instead of silent approximation
17
+ - Nothing implicit: fail‑closed by design
18
+
19
+ ## Hello world (deterministic, exact)
20
+
21
+ ```bash
22
+ bijux vex ingest --doc "hello" --vector "[0.0, 1.0, 0.0]" \
23
+ --vector-store memory
24
+ bijux vex materialize --execution-contract deterministic --vector-store memory
25
+ bijux vex execute --artifact-id art-1 \
26
+ --execution-contract deterministic --execution-intent exact_validation \
27
+ --execution-mode strict --vector "[0.0, 1.0, 0.0]"
28
+ ```
29
+
30
+ ## Hello world (ND / ANN with quality)
31
+
32
+ ```bash
33
+ bijux vex materialize --execution-contract non_deterministic --index-mode ann \
34
+ --vector-store faiss --vector-store-uri ./index.faiss
35
+ bijux vex execute --artifact-id art-1 \
36
+ --execution-contract non_deterministic --execution-intent exploratory_search \
37
+ --execution-mode bounded --randomness-seed 42 --randomness-sources ann_probe \
38
+ --nd-witness sample --vector "[0.0, 1.0, 0.0]"
39
+ ```
40
+
41
+ ## Concept map (instant mental model)
42
+
43
+ ```
44
+ request → plan → execute → provenance
45
+ ├─ deterministic (exact)
46
+ └─ ND (ANN) + quality
47
+ vector store: optional + explicit
48
+ ```
49
+
50
+ ## When NOT to use this
51
+
52
+ - Not a vector DB (no implicit CRUD or query language)
53
+ - Not a RAG framework (no prompts, no orchestration)
54
+ - Not a hosted service (you run it)
55
+
56
+ ## Stability & support
57
+
58
+ - Supported Python: 3.11–3.14
59
+ - Determinism: stable and replayable
60
+ - ND (ANN): experimental but audited and bounded
61
+
62
+ ## Getting help / reporting issues
63
+
64
+ GitHub issues: https://github.com/bijux/bijux-vex/issues
65
+ Include `bijux vex debug-bundle` output when reporting a bug.
66
+
67
+ ## Quick links
68
+
69
+ - Start Here (10 minutes): https://bijux.github.io/bijux-vex/user/start_here_10_minutes/
70
+ - Start Here (human): https://bijux.github.io/bijux-vex/user/start_here_human/
71
+ - Concept Map: https://bijux.github.io/bijux-vex/user/concept_map/
72
+ - ND Production Guide: https://bijux.github.io/bijux-vex/guides/nd_production/
73
+ - Security Policy: https://github.com/bijux/bijux-vex/blob/main/SECURITY.md
74
+ - Changelog: https://github.com/bijux/bijux-vex/blob/main/CHANGELOG.md
@@ -4,12 +4,26 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "bijux-vex"
7
- description = "bijux-vex: contract-driven vector execution runtime with explicit determinism semantics."
8
- readme = "README.md"
7
+ description = "Vector execution runtime with replayable determinism and audited ANN (nothing implicit)."
8
+ readme = "PYPI.md"
9
9
  requires-python = ">=3.11,<4"
10
10
  license = { text = "MIT" }
11
11
  authors = [{ name = "Bijan Mousavi", email = "mousavi.bijan@gmail.com" }]
12
- keywords = ["vector", "determinism", "bijux", "vex", "execution"]
12
+ maintainers = [{ name = "Bijan Mousavi", email = "mousavi.bijan@gmail.com" }]
13
+ keywords = [
14
+ "ann",
15
+ "audit",
16
+ "bijux",
17
+ "determinism",
18
+ "execution",
19
+ "nearest-neighbor",
20
+ "provenance",
21
+ "replay",
22
+ "reproducibility",
23
+ "vector",
24
+ "vector-search",
25
+ "vex",
26
+ ]
13
27
  dynamic = ["version"]
14
28
  classifiers = [
15
29
  "Development Status :: 4 - Beta",
@@ -22,6 +36,8 @@ classifiers = [
22
36
  "Programming Language :: Python :: 3.12",
23
37
  "Programming Language :: Python :: 3.13",
24
38
  "Programming Language :: Python :: 3.14",
39
+ "Typing :: Typed",
40
+ "Operating System :: OS Independent",
25
41
  "Topic :: Software Development :: Libraries",
26
42
  "Topic :: Security",
27
43
  ]
@@ -38,7 +54,32 @@ api = [
38
54
  "uvicorn>=0.30.1,<1.0",
39
55
  "schemathesis>=4.0,<5.0",
40
56
  ]
41
- llm = [
57
+ config = [
58
+ "PyYAML>=6.0,<7.0",
59
+ ]
60
+ embeddings = [
61
+ "sentence-transformers>=2.7.0,<3.0",
62
+ ]
63
+ nd = [
64
+ "hnswlib>=0.8.0,<1.0",
65
+ ]
66
+ vdb = [
67
+ "faiss-cpu>=1.7.4,<2.0",
68
+ "numpy>=1.26,<3.0",
69
+ "qdrant-client>=1.9.0,<2.0",
70
+ ]
71
+ docs = [
72
+ "mkdocs>=1.6.1,<2.0",
73
+ "mkdocs-material>=9.5.39,<10.0",
74
+ "mkdocstrings[python]>=0.26.1,<1.0",
75
+ "mkdocs-git-revision-date-localized-plugin>=1.2.0,<2.0",
76
+ "mkdocs-include-markdown-plugin",
77
+ "mkdocs-gen-files",
78
+ "mkdocs-literate-nav",
79
+ "mkdocs-redirects>=1.2,<2.0",
80
+ "mkdocs-minify-plugin>=0.7,<1.0",
81
+ "mkdocs-glightbox>=0.3,<1.0",
82
+ "mkdocs-material[imaging]>=9.5.39,<10.0",
42
83
  ]
43
84
  dev = [
44
85
  "types-PyYAML>=6.0.12,<7.0",
@@ -76,18 +117,6 @@ dev = [
76
117
  "pip-audit>=2.7.3,<3.0",
77
118
  "commitizen>=4.0.0,<5.0",
78
119
 
79
- "mkdocs>=1.6.1,<2.0",
80
- "mkdocs-material>=9.5.39,<10.0",
81
- "mkdocstrings[python]>=0.26.1,<1.0",
82
- "mkdocs-git-revision-date-localized-plugin>=1.2.0,<2.0",
83
- "mkdocs-include-markdown-plugin",
84
- "mkdocs-gen-files",
85
- "mkdocs-literate-nav",
86
- "mkdocs-redirects>=1.2,<2.0",
87
- "mkdocs-minify-plugin>=0.7,<1.0",
88
- "mkdocs-glightbox>=0.3,<1.0",
89
- "mkdocs-material[imaging]>=9.5.39,<10.0",
90
-
91
120
  "prance>=25.4.0.0",
92
121
  "openapi-spec-validator>=0.7.1,<1.0",
93
122
  "schemathesis>=4.0,<5.0",
@@ -103,9 +132,21 @@ dev = [
103
132
 
104
133
  [project.urls]
105
134
  Homepage = "https://bijux.github.io/bijux-vex/"
106
- Repository = "https://github.com/bijux/bijux-vex"
107
135
  Documentation = "https://bijux.github.io/bijux-vex/"
136
+ Source = "https://github.com/bijux/bijux-vex"
108
137
  Issues = "https://github.com/bijux/bijux-vex/issues"
138
+ Changelog = "https://github.com/bijux/bijux-vex/blob/main/CHANGELOG.md"
139
+ Security = "https://github.com/bijux/bijux-vex/blob/main/SECURITY.md"
140
+ Funding = "https://github.com/sponsors/bijux"
141
+
142
+ [project.entry-points."bijux_vex.vectorstores"]
143
+ example = "bijux_vex.plugins.example:register_vectorstore"
144
+
145
+ [project.entry-points."bijux_vex.embeddings"]
146
+ example = "bijux_vex.plugins.example:register_embedding"
147
+
148
+ [project.entry-points."bijux_vex.runners"]
149
+ example = "bijux_vex.plugins.example:register_runner"
109
150
 
110
151
  [tool.hatch.version]
111
152
  source = "vcs"
@@ -28,7 +28,7 @@ version_tuple: VERSION_TUPLE
28
28
  commit_id: COMMIT_ID
29
29
  __commit_id__: COMMIT_ID
30
30
 
31
- __version__ = version = '0.1.0'
32
- __version_tuple__ = version_tuple = (0, 1, 0)
31
+ __version__ = version = '0.2.1'
32
+ __version_tuple__ = version_tuple = (0, 2, 1)
33
33
 
34
34
  __commit_id__ = commit_id = None
bijux_vex-0.1.0/PKG-INFO DELETED
@@ -1,185 +0,0 @@
1
- Metadata-Version: 2.4
2
- Name: bijux-vex
3
- Version: 0.1.0
4
- Summary: bijux-vex: contract-driven vector execution runtime with explicit determinism semantics.
5
- Project-URL: Homepage, https://bijux.github.io/bijux-vex/
6
- Project-URL: Repository, https://github.com/bijux/bijux-vex
7
- Project-URL: Documentation, https://bijux.github.io/bijux-vex/
8
- Project-URL: Issues, https://github.com/bijux/bijux-vex/issues
9
- Author-email: Bijan Mousavi <mousavi.bijan@gmail.com>
10
- License: MIT
11
- License-File: LICENSE
12
- Keywords: bijux,determinism,execution,vector,vex
13
- Classifier: Development Status :: 4 - Beta
14
- Classifier: Intended Audience :: Developers
15
- Classifier: License :: OSI Approved :: MIT License
16
- Classifier: Natural Language :: English
17
- Classifier: Programming Language :: Python :: 3
18
- Classifier: Programming Language :: Python :: 3 :: Only
19
- Classifier: Programming Language :: Python :: 3.11
20
- Classifier: Programming Language :: Python :: 3.12
21
- Classifier: Programming Language :: Python :: 3.13
22
- Classifier: Programming Language :: Python :: 3.14
23
- Classifier: Topic :: Security
24
- Classifier: Topic :: Software Development :: Libraries
25
- Requires-Python: <4,>=3.11
26
- Requires-Dist: fastapi<0.129,>=0.128
27
- Requires-Dist: pydantic<3.0,>=2.12
28
- Requires-Dist: typer<0.22,>=0.21
29
- Provides-Extra: api
30
- Requires-Dist: fastapi<0.129,>=0.128; extra == 'api'
31
- Requires-Dist: schemathesis<5.0,>=4.0; extra == 'api'
32
- Requires-Dist: uvicorn<1.0,>=0.30.1; extra == 'api'
33
- Provides-Extra: dev
34
- Requires-Dist: anyio<5.0,>=4.4.0; extra == 'dev'
35
- Requires-Dist: bandit<2.0,>=1.7.10; extra == 'dev'
36
- Requires-Dist: build<2.0,>=1.0.3; extra == 'dev'
37
- Requires-Dist: codespell<3.0,>=2.3.0; extra == 'dev'
38
- Requires-Dist: commitizen<5.0,>=4.0.0; extra == 'dev'
39
- Requires-Dist: cyclonedx-bom>=4.6.0; extra == 'dev'
40
- Requires-Dist: deptry<1.0,>=0.10.0; extra == 'dev'
41
- Requires-Dist: hypothesis-jsonschema<1.0,>=0.23.0; extra == 'dev'
42
- Requires-Dist: hypothesis<7.0,>=6.103.0; extra == 'dev'
43
- Requires-Dist: interrogate<2.0,>=1.7.0; extra == 'dev'
44
- Requires-Dist: mkdocs-gen-files; extra == 'dev'
45
- Requires-Dist: mkdocs-git-revision-date-localized-plugin<2.0,>=1.2.0; extra == 'dev'
46
- Requires-Dist: mkdocs-glightbox<1.0,>=0.3; extra == 'dev'
47
- Requires-Dist: mkdocs-include-markdown-plugin; extra == 'dev'
48
- Requires-Dist: mkdocs-literate-nav; extra == 'dev'
49
- Requires-Dist: mkdocs-material<10.0,>=9.5.39; extra == 'dev'
50
- Requires-Dist: mkdocs-material[imaging]<10.0,>=9.5.39; extra == 'dev'
51
- Requires-Dist: mkdocs-minify-plugin<1.0,>=0.7; extra == 'dev'
52
- Requires-Dist: mkdocs-redirects<2.0,>=1.2; extra == 'dev'
53
- Requires-Dist: mkdocs<2.0,>=1.6.1; extra == 'dev'
54
- Requires-Dist: mkdocstrings[python]<1.0,>=0.26.1; extra == 'dev'
55
- Requires-Dist: mypy<2.0,>=1.11.2; extra == 'dev'
56
- Requires-Dist: openapi-spec-validator<1.0,>=0.7.1; extra == 'dev'
57
- Requires-Dist: pexpect<5.0,>=4.8.0; extra == 'dev'
58
- Requires-Dist: pip-audit<3.0,>=2.7.3; extra == 'dev'
59
- Requires-Dist: prance>=25.4.0.0; extra == 'dev'
60
- Requires-Dist: pre-commit>=4.0; extra == 'dev'
61
- Requires-Dist: pydocstyle<7.0,>=6.2.1; extra == 'dev'
62
- Requires-Dist: pyright[nodejs]<2.0,>=1.1.320; extra == 'dev'
63
- Requires-Dist: pytest-asyncio<2.0,>=1.0.0; extra == 'dev'
64
- Requires-Dist: pytest-benchmark<5.0,>=4.0.0; extra == 'dev'
65
- Requires-Dist: pytest-cov<7.0,>=6.2.1; extra == 'dev'
66
- Requires-Dist: pytest-rerunfailures<14.0,>=13.0; extra == 'dev'
67
- Requires-Dist: pytest-timeout<3.0,>=2.4.0; extra == 'dev'
68
- Requires-Dist: pytest<9.0,>=8.4.1; extra == 'dev'
69
- Requires-Dist: pytype>=2024.10.11; extra == 'dev'
70
- Requires-Dist: radon>=6.0.0; extra == 'dev'
71
- Requires-Dist: reuse<6.0.0,>=4.0.0; extra == 'dev'
72
- Requires-Dist: ruff<1.0,>=0.6.8; extra == 'dev'
73
- Requires-Dist: schemathesis<5.0,>=4.0; extra == 'dev'
74
- Requires-Dist: towncrier<25.0,>=23.0; extra == 'dev'
75
- Requires-Dist: twine<7.0,>=6.1.0; extra == 'dev'
76
- Requires-Dist: types-colorama<1.0,>=0.0.14; extra == 'dev'
77
- Requires-Dist: types-orjson<4.0,>=3.6.0; extra == 'dev'
78
- Requires-Dist: types-pexpect<5.0,>=4.9.0; extra == 'dev'
79
- Requires-Dist: types-psutil<7.0,>=6.0.0; extra == 'dev'
80
- Requires-Dist: types-pyyaml<7.0,>=6.0.12; extra == 'dev'
81
- Requires-Dist: typing-extensions<5.0,>=4.5.0; extra == 'dev'
82
- Requires-Dist: uvicorn<1.0,>=0.30.1; extra == 'dev'
83
- Requires-Dist: vulture<3.0,>=2.7; extra == 'dev'
84
- Provides-Extra: llm
85
- Description-Content-Type: text/markdown
86
-
87
- # bijux-vex — vector execution engine with explicit determinism
88
-
89
- [![PyPI - Version](https://img.shields.io/pypi/v/bijux-vex.svg)](https://pypi.org/project/bijux-vex/)
90
- [![PyPI - Python Version](https://img.shields.io/pypi/pyversions/bijux-vex.svg)](https://pypi.org/project/bijux-vex/)
91
- [![Typing: typed (PEP 561)](https://img.shields.io/badge/typing-typed-4F8CC9.svg)](https://peps.python.org/pep-0561/)
92
- [![License: MIT](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/bijux/bijux-vex/raw/main/LICENSES/MIT.txt)
93
- [![Documentation](https://img.shields.io/badge/docs-GitHub%20Pages-brightgreen)](https://bijux.github.io/bijux-vex/)
94
- [![CI Status](https://github.com/bijux/bijux-vex/actions/workflows/ci.yml/badge.svg)](https://github.com/bijux/bijux-vex/actions)
95
-
96
- bijux-vex executes vector workloads under **contracts**. Deterministic runs are replayable; non-deterministic runs are bounded, audited, and comparable.
97
- Nothing is implicit: no silent defaults, retries, or randomness.
98
-
99
- ## What bijux-vex is
100
- Vector execution engine with explicit determinism contracts. Deterministic paths are bit-stable and replayable; non-deterministic paths (ANN) are supported but **experimental** and always emit approximation + randomness provenance.
101
-
102
- ## What bijux-vex is not
103
- - Not a vector DB or storage layer.
104
- - Not an embedding or RAG framework.
105
- - Not a serving platform with SLAs.
106
-
107
- ## Quick links
108
- - Start here (single onboarding path): [user/start_here.md](user/start_here.md)
109
- - Docs home: https://bijux.github.io/bijux-vex/
110
- - Concepts: [overview/concepts.md](overview/concepts.md)
111
- - API: [api/index.md](api/index.md) and [`api/v1/schema.yaml`](https://github.com/bijux/bijux-vex/blob/main/api/v1/schema.yaml) (canonical contract)
112
- - Examples: [examples/overview.md](examples/overview.md)
113
- - Changelog: [changelog.md](changelog.md)
114
- - Not a vector DB: [user/not_a_vdb.md](user/not_a_vdb.md)
115
-
116
- ## Reading order (guaranteed)
117
- 1) Start with [user/start_here.md](user/start_here.md) for the problem, fit, and next steps.
118
- 2) Then [overview/concepts.md](overview/concepts.md) for execution vs storage and determinism vs non-determinism.
119
- 3) Then [spec/system_contract.md](spec/system_contract.md) and [spec/execution_contracts.md](spec/execution_contracts.md) for the normative rules.
120
- 4) Run [examples/overview.md](examples/overview.md) for deterministic and ANN flows.
121
- 5) Consult [api/index.md](api/index.md) and [`api/v1/schema.yaml`](https://github.com/bijux/bijux-vex/blob/main/api/v1/schema.yaml) when integrating.
122
- Everything else is reference or maintainer material.
123
-
124
- ## Start here
125
- Read `docs/user/start_here.md`. It explains the problem, when to use bijux-vex, deterministic vs non-deterministic execution, and where to go next.
126
-
127
- ## Minimal example (CLI, 10 lines)
128
- ```sh
129
- bijux vex create --name demo
130
- bijux vex ingest --documents doc.txt --vectors [[0,1,0]]
131
- bijux vex artifact --artifact-id exact --contract deterministic
132
- bijux vex execute --artifact-id exact --vector [0,1,0] --top-k 1 --contract deterministic
133
- bijux vex artifact --artifact-id ann --contract non_deterministic
134
- bijux vex execute --artifact-id ann --vector [0,1,0] --top-k 1 --contract non_deterministic --randomness-profile seed=1
135
- bijux vex explain --artifact-id exact --result-id <vector_id>
136
- bijux vex compare --artifact-id exact --other-id ann
137
- ```
138
-
139
- ## Execution truth table (canonical)
140
- | Contract | Support level | Replayable | Output stability | Provenance / audit | Notes |
141
- | --- | --- | --- | --- | --- | --- |
142
- | deterministic | stable | yes (bit-identical) | stable | full chain + fingerprints | frozen ABI; breaking changes require major bump |
143
- | non_deterministic | stable_bounded | no (envelope only) | outcome-variable (bounded divergence) | approximation + randomness metadata required | experimental surface; may fail if ANN backend unavailable |
144
-
145
- ## Stability guarantees
146
- - Supported Python: 3.11–3.13 (CI + metadata aligned).
147
- - Package version: dynamic from git tags via hatch-vcs.
148
- - Public API version: **v1.x** (frozen; breaking changes require major bump).
149
- - Deterministic execution surface and ABI are frozen; breaking changes require a major bump.
150
- - ND/ANN execution is **experimental** and may change; it can legally fail when no ANN backend is available.
151
- - Determinism gates, ANN contracts, and provenance schema are enforced in conformance tests; regressions fail CI.
152
- - Testing policy: tox runs multi-version tests; lint/quality/security/typing gates run only on the lowest supported Python (3.11) for cost/time efficiency.
153
-
154
- ## No synonym drift
155
- We use one term per concept: **replayable** (deterministic, bit-identical), **audited** (non-deterministic with envelopes), **stable** (supported and frozen), **outcome-variable** (bounded divergence). Avoid “reproducible” or “supported” as stand-ins.
156
-
157
- ## Public surfaces
158
- - **CLI (Typer)**: `create`, `ingest`, `materialize`, `execute`, `explain`, `replay`, `compare`, `list-artifacts`.
159
- - **API (FastAPI)**: versioned under `bijux_vex.api.v1` with frozen OpenAPI (`api/v1/openapi.v1.json`), endpoints mirror CLI verbs.
160
- - **Core types**: `ExecutionContract`, `ExecutionRequest`, `ExecutionArtifact`, `ExecutionResources`, `ApproximationReport`, `RandomnessProfile`.
161
-
162
- ## Non-goals checksum
163
- X - Not a VDB or search service.
164
- X - Not an ML/embedding framework.
165
- X - Not a serving layer with SLAs.
166
- X - Not a “best-effort” ANN wrapper—contracts must be explicit.
167
-
168
- ## Why strict
169
- Aggressive invariants, terminal failures, and refusal to fallback exist to keep provenance honest and prevent silent divergence; permissive modes are intentionally rejected.
170
-
171
- ## Assumptions
172
- - Trusted runtime and honest backend declaration.
173
- - Data is non-adversarial unless stated in tests.
174
- - Users read the “Start here” path before touching API/CLI.
175
-
176
- ## When contracts are violated
177
- - Deterministic: execution refuses to run; replay fails closed.
178
- - Non-deterministic: fails fast if ANN unavailable or metadata missing; never silently falls back to deterministic.
179
- - Budget or capability breaches raise typed errors; no hidden retries or approximations.
180
-
181
- ## Contributing & release
182
- - Keep invariants terminal; ND without metadata is forbidden.
183
- - Run `make lint quality security test` before any PR.
184
- - Release process: see `docs/maintainer/release_process.md`; tags drive package versions, SBOM, and wheels.
185
- - Licensing: code under MIT; docs/config under CC0. See `docs/legal/licensing.md`.
bijux_vex-0.1.0/README.md DELETED
@@ -1,99 +0,0 @@
1
- # bijux-vex — vector execution engine with explicit determinism
2
-
3
- [![PyPI - Version](https://img.shields.io/pypi/v/bijux-vex.svg)](https://pypi.org/project/bijux-vex/)
4
- [![PyPI - Python Version](https://img.shields.io/pypi/pyversions/bijux-vex.svg)](https://pypi.org/project/bijux-vex/)
5
- [![Typing: typed (PEP 561)](https://img.shields.io/badge/typing-typed-4F8CC9.svg)](https://peps.python.org/pep-0561/)
6
- [![License: MIT](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/bijux/bijux-vex/raw/main/LICENSES/MIT.txt)
7
- [![Documentation](https://img.shields.io/badge/docs-GitHub%20Pages-brightgreen)](https://bijux.github.io/bijux-vex/)
8
- [![CI Status](https://github.com/bijux/bijux-vex/actions/workflows/ci.yml/badge.svg)](https://github.com/bijux/bijux-vex/actions)
9
-
10
- bijux-vex executes vector workloads under **contracts**. Deterministic runs are replayable; non-deterministic runs are bounded, audited, and comparable.
11
- Nothing is implicit: no silent defaults, retries, or randomness.
12
-
13
- ## What bijux-vex is
14
- Vector execution engine with explicit determinism contracts. Deterministic paths are bit-stable and replayable; non-deterministic paths (ANN) are supported but **experimental** and always emit approximation + randomness provenance.
15
-
16
- ## What bijux-vex is not
17
- - Not a vector DB or storage layer.
18
- - Not an embedding or RAG framework.
19
- - Not a serving platform with SLAs.
20
-
21
- ## Quick links
22
- - Start here (single onboarding path): [user/start_here.md](user/start_here.md)
23
- - Docs home: https://bijux.github.io/bijux-vex/
24
- - Concepts: [overview/concepts.md](overview/concepts.md)
25
- - API: [api/index.md](api/index.md) and [`api/v1/schema.yaml`](https://github.com/bijux/bijux-vex/blob/main/api/v1/schema.yaml) (canonical contract)
26
- - Examples: [examples/overview.md](examples/overview.md)
27
- - Changelog: [changelog.md](changelog.md)
28
- - Not a vector DB: [user/not_a_vdb.md](user/not_a_vdb.md)
29
-
30
- ## Reading order (guaranteed)
31
- 1) Start with [user/start_here.md](user/start_here.md) for the problem, fit, and next steps.
32
- 2) Then [overview/concepts.md](overview/concepts.md) for execution vs storage and determinism vs non-determinism.
33
- 3) Then [spec/system_contract.md](spec/system_contract.md) and [spec/execution_contracts.md](spec/execution_contracts.md) for the normative rules.
34
- 4) Run [examples/overview.md](examples/overview.md) for deterministic and ANN flows.
35
- 5) Consult [api/index.md](api/index.md) and [`api/v1/schema.yaml`](https://github.com/bijux/bijux-vex/blob/main/api/v1/schema.yaml) when integrating.
36
- Everything else is reference or maintainer material.
37
-
38
- ## Start here
39
- Read `docs/user/start_here.md`. It explains the problem, when to use bijux-vex, deterministic vs non-deterministic execution, and where to go next.
40
-
41
- ## Minimal example (CLI, 10 lines)
42
- ```sh
43
- bijux vex create --name demo
44
- bijux vex ingest --documents doc.txt --vectors [[0,1,0]]
45
- bijux vex artifact --artifact-id exact --contract deterministic
46
- bijux vex execute --artifact-id exact --vector [0,1,0] --top-k 1 --contract deterministic
47
- bijux vex artifact --artifact-id ann --contract non_deterministic
48
- bijux vex execute --artifact-id ann --vector [0,1,0] --top-k 1 --contract non_deterministic --randomness-profile seed=1
49
- bijux vex explain --artifact-id exact --result-id <vector_id>
50
- bijux vex compare --artifact-id exact --other-id ann
51
- ```
52
-
53
- ## Execution truth table (canonical)
54
- | Contract | Support level | Replayable | Output stability | Provenance / audit | Notes |
55
- | --- | --- | --- | --- | --- | --- |
56
- | deterministic | stable | yes (bit-identical) | stable | full chain + fingerprints | frozen ABI; breaking changes require major bump |
57
- | non_deterministic | stable_bounded | no (envelope only) | outcome-variable (bounded divergence) | approximation + randomness metadata required | experimental surface; may fail if ANN backend unavailable |
58
-
59
- ## Stability guarantees
60
- - Supported Python: 3.11–3.13 (CI + metadata aligned).
61
- - Package version: dynamic from git tags via hatch-vcs.
62
- - Public API version: **v1.x** (frozen; breaking changes require major bump).
63
- - Deterministic execution surface and ABI are frozen; breaking changes require a major bump.
64
- - ND/ANN execution is **experimental** and may change; it can legally fail when no ANN backend is available.
65
- - Determinism gates, ANN contracts, and provenance schema are enforced in conformance tests; regressions fail CI.
66
- - Testing policy: tox runs multi-version tests; lint/quality/security/typing gates run only on the lowest supported Python (3.11) for cost/time efficiency.
67
-
68
- ## No synonym drift
69
- We use one term per concept: **replayable** (deterministic, bit-identical), **audited** (non-deterministic with envelopes), **stable** (supported and frozen), **outcome-variable** (bounded divergence). Avoid “reproducible” or “supported” as stand-ins.
70
-
71
- ## Public surfaces
72
- - **CLI (Typer)**: `create`, `ingest`, `materialize`, `execute`, `explain`, `replay`, `compare`, `list-artifacts`.
73
- - **API (FastAPI)**: versioned under `bijux_vex.api.v1` with frozen OpenAPI (`api/v1/openapi.v1.json`), endpoints mirror CLI verbs.
74
- - **Core types**: `ExecutionContract`, `ExecutionRequest`, `ExecutionArtifact`, `ExecutionResources`, `ApproximationReport`, `RandomnessProfile`.
75
-
76
- ## Non-goals checksum
77
- X - Not a VDB or search service.
78
- X - Not an ML/embedding framework.
79
- X - Not a serving layer with SLAs.
80
- X - Not a “best-effort” ANN wrapper—contracts must be explicit.
81
-
82
- ## Why strict
83
- Aggressive invariants, terminal failures, and refusal to fallback exist to keep provenance honest and prevent silent divergence; permissive modes are intentionally rejected.
84
-
85
- ## Assumptions
86
- - Trusted runtime and honest backend declaration.
87
- - Data is non-adversarial unless stated in tests.
88
- - Users read the “Start here” path before touching API/CLI.
89
-
90
- ## When contracts are violated
91
- - Deterministic: execution refuses to run; replay fails closed.
92
- - Non-deterministic: fails fast if ANN unavailable or metadata missing; never silently falls back to deterministic.
93
- - Budget or capability breaches raise typed errors; no hidden retries or approximations.
94
-
95
- ## Contributing & release
96
- - Keep invariants terminal; ND without metadata is forbidden.
97
- - Run `make lint quality security test` before any PR.
98
- - Release process: see `docs/maintainer/release_process.md`; tags drive package versions, SBOM, and wheels.
99
- - Licensing: code under MIT; docs/config under CC0. See `docs/legal/licensing.md`.
File without changes