Universal memory runtime for AI agents — framework-agnostic, protocol-native, offline-first
Project description
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@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()
MCP Server
Works with Claude Code, Cursor, and any MCP-compatible client.
cargo build --release --bin 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"
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 — billing, 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
├── website/ Astro + Tailwind static site for pensyve.com
└── 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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pensyve-1.3.2.tar.gz.
File metadata
- Download URL: pensyve-1.3.2.tar.gz
- Upload date:
- Size: 233.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fd58c6ccaef59028e6fe6e71837e4359fbec42e6f93496a0962ab9f5cd6fccf3
|
|
| MD5 |
a13b0c4ec412bfb2be6f91437831b0ca
|
|
| BLAKE2b-256 |
6fd7cc8aa64a28b88947c40d207e99c817e9ad8ad2741cdbb8e3f73f6e7d53ca
|
File details
Details for the file pensyve-1.3.2-cp313-cp313-win_amd64.whl.
File metadata
- Download URL: pensyve-1.3.2-cp313-cp313-win_amd64.whl
- Upload date:
- Size: 12.4 MB
- Tags: CPython 3.13, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
888d5084ad01bbdc7fc7f482adb9de3dfc828584556b40eae31357238531332f
|
|
| MD5 |
8f6c79ea6de1e3882e316e10ac866258
|
|
| BLAKE2b-256 |
fbceb685132da63acde4ccfeafd2cc6acaf833bdc37dcfc2059b19f700caa30c
|
File details
Details for the file pensyve-1.3.2-cp313-cp313-manylinux_2_28_x86_64.whl.
File metadata
- Download URL: pensyve-1.3.2-cp313-cp313-manylinux_2_28_x86_64.whl
- Upload date:
- Size: 16.6 MB
- Tags: CPython 3.13, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
14133b937ee005a7f034a8f25b91604dba839dd34807efee6f99fd4571bd6fa2
|
|
| MD5 |
500a8329596abfc72c75c72d7c7047d0
|
|
| BLAKE2b-256 |
7c645c098819b44ff424de5e4ab54d9589381fbbf7eb8273cf0e68490e5683c9
|
File details
Details for the file pensyve-1.3.2-cp313-cp313-manylinux_2_28_aarch64.whl.
File metadata
- Download URL: pensyve-1.3.2-cp313-cp313-manylinux_2_28_aarch64.whl
- Upload date:
- Size: 18.0 MB
- Tags: CPython 3.13, manylinux: glibc 2.28+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a5af17ccb4e49d02bdbecbdbdb05de043bf640373ad67f45ba3a7b5dffd479f5
|
|
| MD5 |
7a72193d2fea473e9bccc6b48b81f513
|
|
| BLAKE2b-256 |
3dabf870996499ef161ca33d948e6737a7071010821027f161bd441c461dfe55
|
File details
Details for the file pensyve-1.3.2-cp313-cp313-macosx_11_0_arm64.whl.
File metadata
- Download URL: pensyve-1.3.2-cp313-cp313-macosx_11_0_arm64.whl
- Upload date:
- Size: 13.5 MB
- Tags: CPython 3.13, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
248c150e549a76559c892bfded1cee7cabb57937dfe16b75e3a0319b06343c63
|
|
| MD5 |
ca65e60ff8d6a175340dee2dc11a0106
|
|
| BLAKE2b-256 |
aad13fce9e971927e3edda20f29ba1c0fde2b0d239c0508a596c3845caef63b1
|
File details
Details for the file pensyve-1.3.2-cp312-cp312-win_amd64.whl.
File metadata
- Download URL: pensyve-1.3.2-cp312-cp312-win_amd64.whl
- Upload date:
- Size: 12.4 MB
- Tags: CPython 3.12, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5fef00565bcd50db202793d98b621d545940102b9adc37ef582cb351362d8654
|
|
| MD5 |
56bcc06a276e27b997ea37124b100921
|
|
| BLAKE2b-256 |
981d6d37f2ba546f98f2d0b55eacb76440043fc83497713efece712866ce6a55
|
File details
Details for the file pensyve-1.3.2-cp312-cp312-manylinux_2_28_x86_64.whl.
File metadata
- Download URL: pensyve-1.3.2-cp312-cp312-manylinux_2_28_x86_64.whl
- Upload date:
- Size: 16.6 MB
- Tags: CPython 3.12, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6ee62b07f1843bf47b18387f484565a8ec8e141641559e1c49985162372c502d
|
|
| MD5 |
bd4b205c2ab98f548e5d928051b95381
|
|
| BLAKE2b-256 |
fe2c84b3033829fd84eeeed48cad3bdaa1cc06656ef28b3c653d8e585bc3ee85
|
File details
Details for the file pensyve-1.3.2-cp312-cp312-manylinux_2_28_aarch64.whl.
File metadata
- Download URL: pensyve-1.3.2-cp312-cp312-manylinux_2_28_aarch64.whl
- Upload date:
- Size: 18.0 MB
- Tags: CPython 3.12, manylinux: glibc 2.28+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
23ec806942c722f8d5fae6877e161d6d611e6c691a7ad263412d3c9c0ce15f68
|
|
| MD5 |
dc6ac00637a9c278b67342804ac49aad
|
|
| BLAKE2b-256 |
077e976c80e27c4debdd7171a6871d14d638f562c4a8be31200bf952ff8a54f9
|
File details
Details for the file pensyve-1.3.2-cp312-cp312-macosx_11_0_arm64.whl.
File metadata
- Download URL: pensyve-1.3.2-cp312-cp312-macosx_11_0_arm64.whl
- Upload date:
- Size: 13.5 MB
- Tags: CPython 3.12, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8b3ed32b5b0d59a495959c08742a23c18770fd2f81c5c88ce395eeafd5fa35b9
|
|
| MD5 |
f847b343fcb950d13efbf3eac47b4159
|
|
| BLAKE2b-256 |
b427fa84febf9a743ae6018f064313dc3d90ef603d1b9288cca3392e62f43b87
|
File details
Details for the file pensyve-1.3.2-cp311-cp311-win_amd64.whl.
File metadata
- Download URL: pensyve-1.3.2-cp311-cp311-win_amd64.whl
- Upload date:
- Size: 12.4 MB
- Tags: CPython 3.11, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e9fa922b86494b57e0c9e49562e1e480be3af4b51829a029b969856c5104fe41
|
|
| MD5 |
5c035ad89a842264266403fe17cfe0b3
|
|
| BLAKE2b-256 |
88837ea3dd32206ca7cc9e9f9f9e56850c7508d4287764f20a2dd35fc8b792d8
|
File details
Details for the file pensyve-1.3.2-cp311-cp311-manylinux_2_28_x86_64.whl.
File metadata
- Download URL: pensyve-1.3.2-cp311-cp311-manylinux_2_28_x86_64.whl
- Upload date:
- Size: 16.7 MB
- Tags: CPython 3.11, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
34f56086ae264b8eab1bfbe8372373657b342fc6137e7b26307495f2bfbfe8e7
|
|
| MD5 |
6b8b90cd87076b36a6a3c5c5bb7be7b3
|
|
| BLAKE2b-256 |
383a2cb6e7db3497239700eb31a2ac31b92ae1e96c92ae52aab8731506dc81df
|
File details
Details for the file pensyve-1.3.2-cp311-cp311-manylinux_2_28_aarch64.whl.
File metadata
- Download URL: pensyve-1.3.2-cp311-cp311-manylinux_2_28_aarch64.whl
- Upload date:
- Size: 18.0 MB
- Tags: CPython 3.11, manylinux: glibc 2.28+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6a41d1dea42a8d4ebd026cd5694986494404ef398960b8f218184a8c71b0dd8a
|
|
| MD5 |
f9ecc2eab88bd441276cb1991dcc14b3
|
|
| BLAKE2b-256 |
91897212d429de9330e851de6ac667fab50643e3854b19f7688868ef762ee5c9
|
File details
Details for the file pensyve-1.3.2-cp311-cp311-macosx_11_0_arm64.whl.
File metadata
- Download URL: pensyve-1.3.2-cp311-cp311-macosx_11_0_arm64.whl
- Upload date:
- Size: 13.5 MB
- Tags: CPython 3.11, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
89197c1835c206f609773d3179694256f56dab445f59239a415bda6c6d906dfa
|
|
| MD5 |
3f9671fd938f2f262eebf94bc07396f0
|
|
| BLAKE2b-256 |
384aa1a042359ec87ec8031a5b16f1581b7f5e1e61bc2a4a74679efabc8dd831
|
File details
Details for the file pensyve-1.3.2-cp310-cp310-win_amd64.whl.
File metadata
- Download URL: pensyve-1.3.2-cp310-cp310-win_amd64.whl
- Upload date:
- Size: 12.4 MB
- Tags: CPython 3.10, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2a4df003c7b99d7dab793e07acd4bcd8c1a55b1ee5e39fff23326f223bf38d7b
|
|
| MD5 |
02f45f8ea56d58cdf484ef4ef9953673
|
|
| BLAKE2b-256 |
28742738472bb64ddfc4996540154612768a944127792c5eb92cba724537c15d
|
File details
Details for the file pensyve-1.3.2-cp310-cp310-manylinux_2_28_x86_64.whl.
File metadata
- Download URL: pensyve-1.3.2-cp310-cp310-manylinux_2_28_x86_64.whl
- Upload date:
- Size: 16.7 MB
- Tags: CPython 3.10, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cbc1a90d84f90e62741a7e44cf48a14555418140472fa7b7f4ab6b66a1d28d65
|
|
| MD5 |
a37baff8aca77cc077d445812261f568
|
|
| BLAKE2b-256 |
f33b442ee16b8bfd6620a627ac6597d9026f1ccb5197cc9f87ffd94616560c02
|
File details
Details for the file pensyve-1.3.2-cp310-cp310-manylinux_2_28_aarch64.whl.
File metadata
- Download URL: pensyve-1.3.2-cp310-cp310-manylinux_2_28_aarch64.whl
- Upload date:
- Size: 18.0 MB
- Tags: CPython 3.10, manylinux: glibc 2.28+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0fdb73309f64daffbacb3d5f4a26ec2fe726c9510f44a6fe8fa670790ce6bb04
|
|
| MD5 |
1c72ce392f291ea219654d92fc855aba
|
|
| BLAKE2b-256 |
f7d8f741af00c4a0134cff7f3cd62e7755caa5728812b4215bca81b424666c56
|
File details
Details for the file pensyve-1.3.2-cp310-cp310-macosx_11_0_arm64.whl.
File metadata
- Download URL: pensyve-1.3.2-cp310-cp310-macosx_11_0_arm64.whl
- Upload date:
- Size: 13.5 MB
- Tags: CPython 3.10, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
16737e5d7d84a6ec2a5b32422961a935d03ac81042d61b17956b8298843c0515
|
|
| MD5 |
4f77c05348c5273d247fb86e9864717c
|
|
| BLAKE2b-256 |
6478fc79e14f0a05fef53916da5f3de1f5d90b8dd2615cc5151f1d1ad8f891f8
|