Pensyve
Universal memory runtime for AI agents. Framework-agnostic, protocol-native, offline-first.
Agents use Pensyve to remember across sessions, learn from outcomes, and share knowledge — all backed by a Rust core engine with zero cloud dependencies required.
Why Pensyve
Most AI agents lose all context between sessions. Pensyve gives them durable, intelligent memory:
- Three memory types — Episodic (what happened), Semantic (what is known), Procedural (what works)
- Multimodal content — Text, code, images, tool outputs, structured data
- 8-signal fusion retrieval — Vector similarity, BM25 lexical, graph proximity, intent classification, recency, access frequency, confidence, type boost
- Learns from outcomes — Bayesian tracking on action→outcome procedures automatically surfaces what works
- Forgetting curve — FSRS-based memory decay with retrieval-induced reinforcement (memories you use get stronger)
- Consolidation — Background "dreaming" promotes repeated episodic facts to semantic knowledge
- Offline-first — SQLite storage, ONNX embeddings, optional local LLM extraction. No API keys needed.
- Scales to Postgres — Feature-gated Postgres backend with pgvector for multi-node deployments
- Cross-encoder reranking — BGE reranker on top-k results for precision
- Access control — RBAC memory mesh with owner/writer/reader roles and private/shared/public visibility
Install
pip install pensyve # Python (PyPI)
npm install pensyve # TypeScript (npm)
go get github.com/major7apps/pensyve/pensyve-go/v3@latest # Go
Or use the MCP server directly with Claude Code, Cursor, or any MCP client — see MCP Setup.
Quick Start
Prerequisites (building from source)
Install
git clone https://github.com/major7apps/pensyve.git && cd pensyve
# Set up Python environment and install deps
uv sync --extra dev
# Build the Python SDK (compiles Rust → native Python module)
uv run maturin develop --release -m pensyve-python/Cargo.toml
# Verify
uv run python -c "import pensyve; print(pensyve.__version__)"
5-Line Demo
import pensyve
p = pensyve.Pensyve()
with p.episode(p.entity("agent", kind="agent"), p.entity("user")) as ep:
ep.message("user", "I prefer dark mode and use vim keybindings")
print(p.recall("what editor setup does the user prefer?"))
Interfaces
Pensyve exposes its core engine through multiple interfaces — use whichever fits your stack.
Python SDK
Direct in-process access via PyO3. Zero network overhead.
import pensyve
p = pensyve.Pensyve(namespace="my-agent")
entity = p.entity("user", kind="user")
# Remember a fact
p.remember(entity=entity, fact="User prefers Python", confidence=0.95)
# Recall memories (flat list)
results = p.recall("programming language", entity=entity)
# Recall memories clustered by source session — the canonical entry point
# for "memory as input to an LLM reader" workflows. Each SessionGroup
# corresponds to one conversation episode and is sorted chronologically.
groups = p.recall_grouped("programming language", limit=50)
for g in groups:
for m in g.memories:
print(f"[{g.session_time}] {m.content}")
# Record an episode
with p.episode(entity) as ep:
ep.message("user", "Can you fix the login bug?")
ep.message("agent", "Fixed — the session token was expiring early")
ep.outcome("success")
# Consolidate (promote repeated facts, decay unused memories)
p.consolidate()
# Forget everything about an entity
result = p.forget(entity)
print(result["forgotten_count"], result.get("snapshot_path"))
forget writes a snapshot before it deletes
Pensyve.forget(entity) permanently deletes every memory about the entity. Before
it deletes, it writes the rows it is about to remove to a snapshot file, so a
forget issued by mistake can be recovered from. This is the same behaviour the
MCP server and the REST gateway have.
- The snapshot is written to
<path>/snapshots/<namespace id>/, where<path>is the storage directory thePensyveobject was opened on. SetPENSYVE_SNAPSHOT_DIRto use a different root. The variable is read when thePensyveobject is constructed. - The result is
{"forgotten_count": n, "snapshot_path": "..."}.snapshot_pathis absent when the entity had no memories, because nothing is written then. - If the snapshot cannot be written (for example the directory is read-only or
the disk is full),
forgetraisesRuntimeErrorand deletes nothing. - Snapshots are pruned per namespace.
PENSYVE_SNAPSHOT_RETENTION_DAYS(default30, at most36500) bounds their age andPENSYVE_SNAPSHOT_MAX_PER_NAMESPACE(default50, at most1000000) bounds their number.0turns a bound off. A value that is not a whole number, or is above its maximum, is ignored with a warning and the default applies. - A snapshot holds the full content of the deleted memories. On Unix the files are created readable by their owner only. Deleting a snapshot file is how you make a forget permanent before retention removes it.
Before version 5.0.0 the Python forget deleted without writing a snapshot. If
you run it in a process whose storage directory is not writable for new files,
forget now fails instead of deleting.
MCP Server
Works with Claude Code, Cursor, and any MCP-compatible client.
cargo install --path pensyve-mcp
{
"mcpServers": {
"pensyve": {
"command": "./target/release/pensyve-mcp",
"env": { "PENSYVE_PATH": "~/.pensyve/default" }
}
}
}
Tools exposed: recall, remember, episode_start, episode_end, forget, inspect
Claude Code Plugin
Full cognitive memory layer for Claude Code — install from the marketplace or manually.
pensyve-plugin/
├── 6 slash commands /remember, /recall, /forget, /inspect, /consolidate, /memory-status
├── 4 skills session-memory, memory-informed-refactor, context-loader, memory-review
├── 2 agents memory-curator (background), context-researcher (on-demand)
└── 4 hooks SessionStart, Stop, PreCompact, UserPromptSubmit
See integrations/claude-code/README.md for details.
REST API
Rust/Axum gateway serving REST + MCP with auth, rate limiting, and usage metering.
cargo build --release --bin pensyve-mcp-gateway
./target/release/pensyve-mcp-gateway # listens on 0.0.0.0:3000
# Remember
curl -X POST http://localhost:3000/v1/remember \
-H "Content-Type: application/json" \
-d '{"entity": "seth", "fact": "Seth prefers Python", "confidence": 0.95}'
# Recall
curl -X POST http://localhost:3000/v1/recall \
-H "Content-Type: application/json" \
-d '{"query": "programming language", "entity": "seth"}'
Endpoints: POST /v1/entities, POST /v1/episodes/{start,message,end}, POST /v1/recall, POST /v1/remember, POST /v1/inspect, GET /v1/stats, DELETE /v1/entities/{name}, POST /v1/consolidate, GET /v1/health, GET /metrics
TypeScript SDK
HTTP client with timeout, retry, and structured errors.
import { Pensyve } from "pensyve";
const p = new Pensyve({
baseUrl: "http://localhost:3000",
timeoutMs: 10000,
retries: 2,
});
await p.remember({ entity: "seth", fact: "Likes TypeScript", confidence: 0.9 });
const memories = await p.recall("programming", { entity: "seth" });
Go SDK
Context-aware HTTP client with structured errors.
import pensyve "github.com/major7apps/pensyve/pensyve-go/v3"
client := pensyve.NewClient(pensyve.Config{BaseURL: "http://localhost:3000"})
ctx := context.Background()
client.Remember(ctx, "seth", "Likes Go", 0.9)
memories, _ := client.Recall(ctx, "programming", nil)
CLI
cargo build --bin pensyve-cli
# Recall memories
./target/debug/pensyve-cli recall "editor preferences" --entity user
# Show stats
./target/debug/pensyve-cli stats
# Inspect an entity
./target/debug/pensyve-cli inspect --entity user
Architecture
Data Model
Namespace (isolation boundary)
└── Entity (agent | user | team | tool)
├── Episodes (bounded interaction sequences)
│ └── Messages (role + content)
└── Memories
├── Episodic — what happened (timestamped, multimodal content type)
├── Semantic — what is known (SPO triples with temporal validity)
└── Procedural — what works (action→outcome with Bayesian reliability)
Retrieval Pipeline
- Embed query via ONNX (Alibaba-NLP/gte-base-en-v1.5, 768 dims)
- Classify intent — Question/Action/Recall/General (keyword heuristics)
- Vector search — cosine similarity against stored embeddings
- BM25 search — FTS5 lexical matching
- Graph traversal — petgraph BFS from query entity
- Fusion scoring — weighted sum of 8 signals (vector, BM25, graph, intent, recency, access, confidence, type boost)
- Cross-encoder reranking — BGE reranker on top-20 candidates
- FSRS reinforcement — retrieved memories get stability boost
Project Structure
pensyve/
├── pensyve-core/ Rust engine (rlib) — storage, embedding, retrieval, graph, decay, mesh, observability
├── pensyve-python/ Python SDK via PyO3 (cdylib)
├── pensyve-mcp/ MCP server binary (stdio, rmcp)
├── pensyve-cli/ CLI binary (clap)
├── pensyve-ts/ TypeScript SDK (bun) — timeout, retry, PensyveError
├── pensyve-go/ Go SDK — context-aware HTTP client
├── pensyve-wasm/ WASM build — standalone minimal in-memory Pensyve
├── pensyve_server/ Shared Python utilities — usage quotas, extraction
├── integrations/ All integrations — IDE plugins, framework adapters, code harnesses
│ ├── claude-code/ Claude Code plugin (commands, skills, agents, hooks)
│ ├── vscode/ VS Code sidebar extension
│ ├── openclaw-plugin/ OpenClaw native memory plugin (TypeScript)
│ ├── opencode-plugin/ OpenCode native memory plugin (TypeScript)
│ ├── cursor/ Cursor MCP setup guide
│ ├── cline/ Cline MCP setup guide
│ ├── windsurf/ Windsurf MCP setup guide
│ ├── continue/ Continue MCP setup guide
│ ├── vscode-copilot/ VS Code Copilot Chat MCP setup guide
│ ├── langchain/ LangChain/LangGraph Python (PensyveStore + legacy PensyveMemory)
│ ├── langchain-ts/ LangChain.js/LangGraph.js TypeScript (PensyveStore)
│ ├── crewai/ CrewAI (PensyveStorage + standalone PensyveCrewMemory)
│ └── autogen/ Microsoft AutoGen multi-agent memory
├── tests/python/ Python integration tests
├── benchmarks/ LongMemEval_S evaluation + weight tuning
└── docs/ Architecture, roadmap, design specs, implementation plans
Development
First-Time Setup
# Install dependencies (creates .venv automatically)
uv sync --extra dev
# Build the native Python module (required before running any Python code)
uv run maturin develop --release -m pensyve-python/Cargo.toml
# Verify the module loads
uv run python -c "import pensyve; print(pensyve.__version__)"
Note: The
pensyvePython package is a native Rust extension built with PyO3. You must runuv run maturin developbeforepytestor any Python import ofpensyve, otherwise you will getModuleNotFoundError: No module named 'pensyve'.
Build & Test
make build # Compile Rust + build PyO3 module
make test # Run all tests (Rust + Python)
make lint # clippy + ruff + pyright
make format # cargo fmt + ruff format
make check # lint + test (CI gate)
To run test suites individually:
cargo test --workspace # Rust tests
uv run maturin develop --release -m pensyve-python/Cargo.toml # Build PyO3 module first
uv run pytest tests/python/ -v # Python tests
cd pensyve-ts && bun test # TypeScript tests
cd pensyve-go && go test ./... # Go tests
Additional SDKs
cd pensyve-ts && bun test # TypeScript (38 tests)
cd pensyve-go && go test ./... # Go (17 tests)
cd pensyve-wasm && cargo check # WASM (standalone)
Benchmarks
# Synthetic recall smoke test (planted facts, no external dataset required)
python benchmarks/synthetic/run.py --generate --evaluate --verbose
Competitive Landscape
| Feature | Pensyve | Mem0 | Zep | Honcho |
|---|---|---|---|---|
| Offline-first (no cloud required) | Yes | No | No | No |
| Procedural memory (learns from outcomes) | Yes | No | No | No |
| Multi-signal fusion scoring | 8 signals | 1 | 3 | 1 |
| Retrieval-induced reinforcement (FSRS) | Yes | No | No | No |
| Intent-aware retrieval | Yes | No | No | No |
| Multimodal content types | Yes | Text only | Text only | Text only |
| RBAC memory mesh | Yes | No | No | No |
| Cross-platform local LLM extraction | Yes | No | Cloud only | Cloud only |
| MCP server | Yes | No | No | Plugin |
| Claude Code plugin | Yes | No | No | No |
| VS Code extension | Yes | No | No | No |
| Framework integrations | 5 | 3 | 1 | 1 |
| Postgres backend | Yes (feature-gated) | Yes | Yes | Yes |
| Go SDK | Yes | No | No | No |
| WASM build | Yes | No | No | No |
| Open source engine | Apache 2.0 | Yes | Partial | Yes |
License
Metadata
Release files for pensyve 5.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pensyve-5.0.0.tar.gz | 828.4 kB | Details |
Built distributions (wheels)
Total release size: 268.1 MB
Release files / pensyve-5.0.0.tar.gz
| Download URL | pensyve-5.0.0.tar.gz |
|---|---|
| Size | 828.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
68f11a2a6d4921bbb2de8bd28f7f4e41e88a313748e21c28456f223b611058ae
|
|
BLAKE2b-256 checksum How to use checksums |
4f820f4e09c41d816c22083ad55981b7f50ceaac3bd9a832aeacc77931f2af09
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / pensyve-5.0.0-cp313-cp313-win_amd64.whl
| Download URL | pensyve-5.0.0-cp313-cp313-win_amd64.whl |
|---|---|
| Size | 13.6 MB |
| Tags | CPython 3.13 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
4dec235164d8dffcd2cab159cf58917b199bfdd29229a7631b7eedb19db509e6
|
|
BLAKE2b-256 checksum How to use checksums |
e380f87b627c778de45cfa1487e4c2a8ddc1d4c35f2317bc6b23e9ab52becae0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / pensyve-5.0.0-cp313-cp313-manylinux_2_28_x86_64.whl
| Download URL | pensyve-5.0.0-cp313-cp313-manylinux_2_28_x86_64.whl |
|---|---|
| Size | 18.6 MB |
| Tags | CPython 3.13 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
392825854d20cb79cee173a924f048b097668a1cfcae0220af20bc94c384f3a8
|
|
BLAKE2b-256 checksum How to use checksums |
87db00e83a48ce412cff9dc049f8240b3ef7ef48ea58b0cf9b61156dd5b335d3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / pensyve-5.0.0-cp313-cp313-manylinux_2_28_aarch64.whl
| Download URL | pensyve-5.0.0-cp313-cp313-manylinux_2_28_aarch64.whl |
|---|---|
| Size | 19.8 MB |
| Tags | CPython 3.13 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
b3b89a97d88d35f92bc844d2f5df08901e02c1db5f15622568625fe2ec9ead44
|
|
BLAKE2b-256 checksum How to use checksums |
14fc92edace55bbb09af8b1bb5a0491b596503f3bceeaf4c1d3346f1dba7a8f4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / pensyve-5.0.0-cp313-cp313-macosx_11_0_arm64.whl
| Download URL | pensyve-5.0.0-cp313-cp313-macosx_11_0_arm64.whl |
|---|---|
| Size | 14.9 MB |
| Tags | CPython 3.13 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
90a0d9ab0151e98463f171ac90ec030248863109d6a60f531ec131b32156e1e8
|
|
BLAKE2b-256 checksum How to use checksums |
5700c7bcb2c729ef8a6021d96c746a8b2eb394cdec6199eb1977100857900c42
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / pensyve-5.0.0-cp312-cp312-win_amd64.whl
| Download URL | pensyve-5.0.0-cp312-cp312-win_amd64.whl |
|---|---|
| Size | 13.6 MB |
| Tags | CPython 3.12 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
c9688e29fa0d1fd288151a4fba9418d6dabe077f0048f872f8b074ebf6db75c0
|
|
BLAKE2b-256 checksum How to use checksums |
63ebe3d5c9725fd1d58d92cbf1be567d237f04661c07f376c2ce58a8391ad86f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / pensyve-5.0.0-cp312-cp312-manylinux_2_28_x86_64.whl
| Download URL | pensyve-5.0.0-cp312-cp312-manylinux_2_28_x86_64.whl |
|---|---|
| Size | 18.6 MB |
| Tags | CPython 3.12 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
f705b9eab3b24ff88ffa104c49262ad094719634c9d7cea94336515c5ed0060c
|
|
BLAKE2b-256 checksum How to use checksums |
c27c48d871087e6a7633f16bba9c825d4d9ea8a7de430ee93950025f4c074760
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / pensyve-5.0.0-cp312-cp312-manylinux_2_28_aarch64.whl
| Download URL | pensyve-5.0.0-cp312-cp312-manylinux_2_28_aarch64.whl |
|---|---|
| Size | 19.8 MB |
| Tags | CPython 3.12 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
2222f87f17d7a63a8a4133ac71c2f5cf021245e06a494d01c3d0efe10dc2dda8
|
|
BLAKE2b-256 checksum How to use checksums |
1f4ab9f3a218afe2b5a6390afdefcad29aa56dad3f2c9bdd666270a26b958d18
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / pensyve-5.0.0-cp312-cp312-macosx_11_0_arm64.whl
| Download URL | pensyve-5.0.0-cp312-cp312-macosx_11_0_arm64.whl |
|---|---|
| Size | 14.9 MB |
| Tags | CPython 3.12 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
fa645d74c3a54cd0f053fb62a20f2d45f40f72a29a6904fef6478dbdb69d9751
|
|
BLAKE2b-256 checksum How to use checksums |
d81b911affa1b1d5b471624ac3d69ed543b9944ad56f7cfbce9aa6ee615455d8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / pensyve-5.0.0-cp311-cp311-win_amd64.whl
| Download URL | pensyve-5.0.0-cp311-cp311-win_amd64.whl |
|---|---|
| Size | 13.6 MB |
| Tags | CPython 3.11 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
d84662e5ec1ce472f56669d0799f596b4d07eef1ee813d417ae36d8871011d09
|
|
BLAKE2b-256 checksum How to use checksums |
a46d6193d018c2c26324b18577a8edb9a9af12a5fad7d3fd2128c8428d51fdf1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / pensyve-5.0.0-cp311-cp311-manylinux_2_28_x86_64.whl
| Download URL | pensyve-5.0.0-cp311-cp311-manylinux_2_28_x86_64.whl |
|---|---|
| Size | 18.6 MB |
| Tags | CPython 3.11 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
9d0051a068f6c9dbf4068fbb0a563b7674d69165f89147df3d9994ee05bfd030
|
|
BLAKE2b-256 checksum How to use checksums |
bea10336d1c6efafbd56410d4086fe83b91eb0c7b19bbd0746979a782a348477
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / pensyve-5.0.0-cp311-cp311-manylinux_2_28_aarch64.whl
| Download URL | pensyve-5.0.0-cp311-cp311-manylinux_2_28_aarch64.whl |
|---|---|
| Size | 19.8 MB |
| Tags | CPython 3.11 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
74b7dd2add4b885ce53fd26bb2c1e3289f8775b13aec39a19ab9587e3f08a244
|
|
BLAKE2b-256 checksum How to use checksums |
5546f08e5b28eb97dd17920639e3d35b2b370bce1fd278974ca82958dce81eda
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / pensyve-5.0.0-cp311-cp311-macosx_11_0_arm64.whl
| Download URL | pensyve-5.0.0-cp311-cp311-macosx_11_0_arm64.whl |
|---|---|
| Size | 14.9 MB |
| Tags | CPython 3.11 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
1c15c007c94664ffd7ad67fab13175228967cc57de00b04846f9f3dd4d593049
|
|
BLAKE2b-256 checksum How to use checksums |
d5622bd468ee0e3fe07ca949c42ae72daf98614aa8e240e08750232af243fdd6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / pensyve-5.0.0-cp310-cp310-win_amd64.whl
| Download URL | pensyve-5.0.0-cp310-cp310-win_amd64.whl |
|---|---|
| Size | 13.6 MB |
| Tags | CPython 3.10 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
58dd73c3e15924e8671366071ad32f22a93143f2f205e5cb87ae8b4610393125
|
|
BLAKE2b-256 checksum How to use checksums |
3edf52f27011a653c1008263877a9c5642578e289e0970e194510b7ab8ba4ec8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / pensyve-5.0.0-cp310-cp310-manylinux_2_28_x86_64.whl
| Download URL | pensyve-5.0.0-cp310-cp310-manylinux_2_28_x86_64.whl |
|---|---|
| Size | 18.6 MB |
| Tags | CPython 3.10 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
d123a1d7f9d8544b218928e4a48d3fb7334437a75991e5a734a4806b260fa46f
|
|
BLAKE2b-256 checksum How to use checksums |
2c5f42c2fba2a427c9afa9956249f101901c484d08999040761cbd7e75729c96
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / pensyve-5.0.0-cp310-cp310-manylinux_2_28_aarch64.whl
| Download URL | pensyve-5.0.0-cp310-cp310-manylinux_2_28_aarch64.whl |
|---|---|
| Size | 19.8 MB |
| Tags | CPython 3.10 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
cc965ed2a2c0d5bc8b695fd0415be5f65d42afc0594bc8a3edeece9c4d9fdd97
|
|
BLAKE2b-256 checksum How to use checksums |
6e77db5555af0741472938f9d85df295b66d57bf611433b375a75ec3df22229b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / pensyve-5.0.0-cp310-cp310-macosx_11_0_arm64.whl
| Download URL | pensyve-5.0.0-cp310-cp310-macosx_11_0_arm64.whl |
|---|---|
| Size | 14.9 MB |
| Tags | CPython 3.10 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
ff137bec1ff3c563aa6def3708e6886176046aa6ba99bc305a6507c49f7b5fc2
|
|
BLAKE2b-256 checksum How to use checksums |
5bf8d92f5c5d6649082468f33a7f8816b85dbed8b6cfebab3b415a0964eed75f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|