vaultzero 0.1.0__tar.gz → 0.1.2__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.
- {vaultzero-0.1.0 → vaultzero-0.1.2}/.gitignore +7 -0
- {vaultzero-0.1.0 → vaultzero-0.1.2}/PKG-INFO +18 -16
- {vaultzero-0.1.0 → vaultzero-0.1.2}/README.md +9 -8
- {vaultzero-0.1.0 → vaultzero-0.1.2}/pyproject.toml +26 -13
- {vaultzero-0.1.0 → vaultzero-0.1.2}/LICENSE +0 -0
- {vaultzero-0.1.0 → vaultzero-0.1.2}/tests/__init__.py +0 -0
- {vaultzero-0.1.0 → vaultzero-0.1.2}/tests/unit/__init__.py +0 -0
- {vaultzero-0.1.0 → vaultzero-0.1.2}/tests/unit/golden_vectors.json +0 -0
- {vaultzero-0.1.0 → vaultzero-0.1.2}/tests/unit/test_crypto.py +0 -0
- {vaultzero-0.1.0 → vaultzero-0.1.2}/tests/unit/test_sdk_and_mcp.py +0 -0
- {vaultzero-0.1.0 → vaultzero-0.1.2}/vaultzero/__init__.py +0 -0
- {vaultzero-0.1.0 → vaultzero-0.1.2}/vaultzero/client/__init__.py +0 -0
- {vaultzero-0.1.0 → vaultzero-0.1.2}/vaultzero/client/_net.py +0 -0
- {vaultzero-0.1.0 → vaultzero-0.1.2}/vaultzero/client/crypto.py +0 -0
- {vaultzero-0.1.0 → vaultzero-0.1.2}/vaultzero/client/embeddings.py +0 -0
- {vaultzero-0.1.0 → vaultzero-0.1.2}/vaultzero/client/mcp_server.py +0 -0
- {vaultzero-0.1.0 → vaultzero-0.1.2}/vaultzero/client/sdk.py +0 -0
|
@@ -67,3 +67,10 @@ dmypy.json
|
|
|
67
67
|
|
|
68
68
|
# JetBrains IDE
|
|
69
69
|
.idea/
|
|
70
|
+
|
|
71
|
+
# Internal note-taking. Draft listing text, submission checklists and "do not say this"
|
|
72
|
+
# reminders are working material, not something a visitor to a public repo should read:
|
|
73
|
+
# it reads as a company talking to itself about how to present itself. The published
|
|
74
|
+
# wording lives in README.md and server.json, which are what directories actually read.
|
|
75
|
+
.listing-copy.md
|
|
76
|
+
listing-copy.md
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: vaultzero
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.2
|
|
4
4
|
Summary: MCP server for a privacy-first agent memory vault: memories are encrypted on the client before they reach the server.
|
|
5
5
|
Project-URL: Homepage, https://vaultzero.cc
|
|
6
6
|
Project-URL: Documentation, https://github.com/xo0ps/VaultZero-Client#readme
|
|
@@ -14,29 +14,30 @@ Keywords: agent-memory,ai-agents,encryption,end-to-end-encryption,llm,long-term-
|
|
|
14
14
|
Classifier: Development Status :: 3 - Alpha
|
|
15
15
|
Classifier: Intended Audience :: Developers
|
|
16
16
|
Classifier: License :: OSI Approved :: MIT License
|
|
17
|
+
Classifier: Programming Language :: Python :: 3
|
|
18
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
19
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
20
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
17
21
|
Classifier: Programming Language :: Python :: 3.13
|
|
18
22
|
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
|
|
19
23
|
Classifier: Topic :: Security :: Cryptography
|
|
20
|
-
Requires-Python:
|
|
24
|
+
Requires-Python: >=3.10
|
|
25
|
+
Requires-Dist: cryptography>=43
|
|
26
|
+
Requires-Dist: httpx>=0.28
|
|
27
|
+
Requires-Dist: mcp<2,>=1.6
|
|
21
28
|
Provides-Extra: client
|
|
22
|
-
Requires-Dist: cryptography>=43; extra == 'client'
|
|
23
|
-
Requires-Dist: httpx>=0.28; extra == 'client'
|
|
24
|
-
Requires-Dist: mcp<2,>=1.6; extra == 'client'
|
|
25
29
|
Provides-Extra: dev
|
|
26
30
|
Requires-Dist: pytest-asyncio>=0.25; extra == 'dev'
|
|
27
31
|
Requires-Dist: pytest>=8.3; extra == 'dev'
|
|
28
32
|
Requires-Dist: ruff>=0.8; extra == 'dev'
|
|
29
33
|
Provides-Extra: mcp
|
|
30
|
-
Requires-Dist: cryptography>=43; extra == 'mcp'
|
|
31
|
-
Requires-Dist: httpx>=0.28; extra == 'mcp'
|
|
32
|
-
Requires-Dist: mcp<2,>=1.6; extra == 'mcp'
|
|
33
34
|
Description-Content-Type: text/markdown
|
|
34
35
|
|
|
35
36
|
# VaultZero Client
|
|
36
37
|
|
|
37
38
|
[](LICENSE)
|
|
38
39
|
[](https://modelcontextprotocol.io)
|
|
39
|
-
[](https://www.python.org)
|
|
40
41
|
|
|
41
42
|
**An MCP server that gives an AI agent long-term memory it cannot read.** VaultZero is a
|
|
42
43
|
privacy-first memory vault: this package embeds and encrypts every memory on your machine
|
|
@@ -65,10 +66,10 @@ cannot become a command.
|
|
|
65
66
|
|
|
66
67
|
### Install
|
|
67
68
|
|
|
68
|
-
Requires Python 3.
|
|
69
|
+
Requires Python 3.10 or newer.
|
|
69
70
|
|
|
70
71
|
```bash
|
|
71
|
-
pip install
|
|
72
|
+
pip install vaultzero # or: uv tool install vaultzero
|
|
72
73
|
```
|
|
73
74
|
|
|
74
75
|
### Configure a client
|
|
@@ -78,7 +79,7 @@ pip install "vaultzero[mcp]" # or: uv tool install "vaultzero[mcp]"
|
|
|
78
79
|
"mcpServers": {
|
|
79
80
|
"vaultzero": {
|
|
80
81
|
"command": "uvx",
|
|
81
|
-
"args": ["
|
|
82
|
+
"args": ["vaultzero-mcp"],
|
|
82
83
|
"env": {
|
|
83
84
|
"VZ_BASE_URL": "https://api.vaultzero.cc",
|
|
84
85
|
"VZ_CREDENTIAL": "<your 64-hex-character bearer credential>",
|
|
@@ -155,14 +156,15 @@ tests/unit/ golden vectors and unit tests for the client
|
|
|
155
156
|
|
|
156
157
|
## Installing the SDK
|
|
157
158
|
|
|
158
|
-
Requires Python 3.
|
|
159
|
+
Requires Python 3.10 or newer.
|
|
159
160
|
|
|
160
161
|
```bash
|
|
161
|
-
pip install
|
|
162
|
+
pip install vaultzero
|
|
162
163
|
```
|
|
163
164
|
|
|
164
|
-
The
|
|
165
|
-
|
|
165
|
+
The dependencies (`cryptography`, `httpx`, `mcp`) are installed with the package: this is an
|
|
166
|
+
MCP server first, so there is no extra to remember. It installs the `vaultzero-mcp` console
|
|
167
|
+
script and makes `vaultzero.client.sdk.VaultZeroClient` importable.
|
|
166
168
|
|
|
167
169
|
## SDK usage
|
|
168
170
|
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
[](LICENSE)
|
|
4
4
|
[](https://modelcontextprotocol.io)
|
|
5
|
-
[](https://www.python.org)
|
|
6
6
|
|
|
7
7
|
**An MCP server that gives an AI agent long-term memory it cannot read.** VaultZero is a
|
|
8
8
|
privacy-first memory vault: this package embeds and encrypts every memory on your machine
|
|
@@ -31,10 +31,10 @@ cannot become a command.
|
|
|
31
31
|
|
|
32
32
|
### Install
|
|
33
33
|
|
|
34
|
-
Requires Python 3.
|
|
34
|
+
Requires Python 3.10 or newer.
|
|
35
35
|
|
|
36
36
|
```bash
|
|
37
|
-
pip install
|
|
37
|
+
pip install vaultzero # or: uv tool install vaultzero
|
|
38
38
|
```
|
|
39
39
|
|
|
40
40
|
### Configure a client
|
|
@@ -44,7 +44,7 @@ pip install "vaultzero[mcp]" # or: uv tool install "vaultzero[mcp]"
|
|
|
44
44
|
"mcpServers": {
|
|
45
45
|
"vaultzero": {
|
|
46
46
|
"command": "uvx",
|
|
47
|
-
"args": ["
|
|
47
|
+
"args": ["vaultzero-mcp"],
|
|
48
48
|
"env": {
|
|
49
49
|
"VZ_BASE_URL": "https://api.vaultzero.cc",
|
|
50
50
|
"VZ_CREDENTIAL": "<your 64-hex-character bearer credential>",
|
|
@@ -121,14 +121,15 @@ tests/unit/ golden vectors and unit tests for the client
|
|
|
121
121
|
|
|
122
122
|
## Installing the SDK
|
|
123
123
|
|
|
124
|
-
Requires Python 3.
|
|
124
|
+
Requires Python 3.10 or newer.
|
|
125
125
|
|
|
126
126
|
```bash
|
|
127
|
-
pip install
|
|
127
|
+
pip install vaultzero
|
|
128
128
|
```
|
|
129
129
|
|
|
130
|
-
The
|
|
131
|
-
|
|
130
|
+
The dependencies (`cryptography`, `httpx`, `mcp`) are installed with the package: this is an
|
|
131
|
+
MCP server first, so there is no extra to remember. It installs the `vaultzero-mcp` console
|
|
132
|
+
script and makes `vaultzero.client.sdk.VaultZeroClient` importable.
|
|
132
133
|
|
|
133
134
|
## SDK usage
|
|
134
135
|
|
|
@@ -4,12 +4,12 @@ build-backend = "hatchling.build"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "vaultzero"
|
|
7
|
-
version = "0.1.
|
|
7
|
+
version = "0.1.2"
|
|
8
8
|
# This string is what MCP directories show next to the listing, so it names the thing a
|
|
9
9
|
# prospective user is looking for (an MCP server) before the architecture behind it.
|
|
10
10
|
description = "MCP server for a privacy-first agent memory vault: memories are encrypted on the client before they reach the server."
|
|
11
11
|
readme = "README.md"
|
|
12
|
-
requires-python = ">=3.
|
|
12
|
+
requires-python = ">=3.10"
|
|
13
13
|
license = { text = "MIT" }
|
|
14
14
|
authors = [{ name = "VaultZero contributors" }]
|
|
15
15
|
keywords = [
|
|
@@ -27,25 +27,38 @@ classifiers = [
|
|
|
27
27
|
"Development Status :: 3 - Alpha",
|
|
28
28
|
"Intended Audience :: Developers",
|
|
29
29
|
"License :: OSI Approved :: MIT License",
|
|
30
|
+
"Programming Language :: Python :: 3",
|
|
31
|
+
"Programming Language :: Python :: 3.10",
|
|
32
|
+
"Programming Language :: Python :: 3.11",
|
|
33
|
+
"Programming Language :: Python :: 3.12",
|
|
30
34
|
"Programming Language :: Python :: 3.13",
|
|
31
35
|
"Topic :: Scientific/Engineering :: Artificial Intelligence",
|
|
32
36
|
"Topic :: Security :: Cryptography",
|
|
33
37
|
]
|
|
34
|
-
dependencies = []
|
|
35
38
|
|
|
36
|
-
|
|
37
|
-
#
|
|
38
|
-
|
|
39
|
+
# This package IS an MCP server, so its runtime dependencies are hard dependencies. They were
|
|
40
|
+
# previously behind a `client` extra with an `mcp` extra that re-exported it, which broke the
|
|
41
|
+
# one thing directories do: render an install command from `server.json`. A manifest can name
|
|
42
|
+
# a package but cannot express `vaultzero[mcp]`, so `uvx vaultzero` resolved a package with no
|
|
43
|
+
# dependencies, the console script failed to import, and Glama reported "does not currently
|
|
44
|
+
# have a deployable release" while the package was in fact published and working.
|
|
45
|
+
#
|
|
46
|
+
# The cost is that `pip install vaultzero` (SDK-only use) also pulls cryptography and mcp.
|
|
47
|
+
# For a package whose entire headline is the MCP server, that is the right trade.
|
|
48
|
+
dependencies = [
|
|
39
49
|
"cryptography>=43",
|
|
40
50
|
"httpx>=0.28",
|
|
41
51
|
"mcp>=1.6,<2",
|
|
42
52
|
]
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
#
|
|
46
|
-
mcp
|
|
47
|
-
|
|
48
|
-
]
|
|
53
|
+
|
|
54
|
+
[project.optional-dependencies]
|
|
55
|
+
# `client` and `mcp` listed everything they needed before this change. They are kept, empty,
|
|
56
|
+
# so the strings `vaultzero[client]` and `vaultzero[mcp]` still resolve: they appear in
|
|
57
|
+
# published READMEs, in this repo's history, and in other people's requirements files, and a
|
|
58
|
+
# self-referential alias (`vaultzero = ["vaultzero"]`) is a dependency cycle that pip and uv
|
|
59
|
+
# both reject. An empty extra is the compatible way to keep the names working.
|
|
60
|
+
client = []
|
|
61
|
+
mcp = []
|
|
49
62
|
dev = [
|
|
50
63
|
"pytest>=8.3",
|
|
51
64
|
"pytest-asyncio>=0.25",
|
|
@@ -86,7 +99,7 @@ asyncio_default_test_loop_scope = "session"
|
|
|
86
99
|
|
|
87
100
|
[tool.ruff]
|
|
88
101
|
line-length = 100
|
|
89
|
-
target-version = "
|
|
102
|
+
target-version = "py310"
|
|
90
103
|
|
|
91
104
|
[tool.ruff.lint]
|
|
92
105
|
select = ["E", "F", "W", "I", "B", "UP", "S", "ASYNC"]
|
|
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
|