Skip to main content

Universal memory runtime for AI agents — framework-agnostic, protocol-native, offline-first

Project description

Pensyve Banner Logo

Pensyve

CI License: Apache 2.0 Python 3.10+ Rust 1.88+

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)

  • Rust 1.88+
  • Python 3.10+ with uv
  • Bun (optional, for TypeScript SDK)
  • Go 1.21+ (optional, for Go SDK)

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
results = p.recall("programming language", entity=entity)

# 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

Pensyve 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

  1. Embed query via ONNX (Alibaba-NLP/gte-base-en-v1.5, 768 dims)
  2. Classify intent — Question/Action/Recall/General (keyword heuristics)
  3. Vector search — cosine similarity against stored embeddings
  4. BM25 search — FTS5 lexical matching
  5. Graph traversal — petgraph BFS from query entity
  6. Fusion scoring — weighted sum of 8 signals (vector, BM25, graph, intent, recency, access, confidence, type boost)
  7. Cross-encoder reranking — BGE reranker on top-20 candidates
  8. 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 pensyve Python package is a native Rust extension built with PyO3. You must run uv run maturin develop before pytest or any Python import of pensyve, otherwise you will get ModuleNotFoundError: 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

# Run LongMemEval_S evaluation (builtin dataset: 87.5% baseline)
python benchmarks/longmemeval/run.py --verbose

# Run weight optimization
python benchmarks/tuning/optimize.py --maxiter 50

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

Apache 2.0

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pensyve-1.0.5.tar.gz (145.2 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

pensyve-1.0.5-cp313-cp313-win_amd64.whl (10.9 MB view details)

Uploaded CPython 3.13Windows x86-64

pensyve-1.0.5-cp313-cp313-manylinux_2_28_x86_64.whl (15.0 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ x86-64

pensyve-1.0.5-cp313-cp313-manylinux_2_28_aarch64.whl (16.1 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ ARM64

pensyve-1.0.5-cp313-cp313-macosx_11_0_arm64.whl (11.8 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

pensyve-1.0.5-cp312-cp312-win_amd64.whl (10.9 MB view details)

Uploaded CPython 3.12Windows x86-64

pensyve-1.0.5-cp312-cp312-manylinux_2_28_x86_64.whl (15.0 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ x86-64

pensyve-1.0.5-cp312-cp312-manylinux_2_28_aarch64.whl (16.1 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ ARM64

pensyve-1.0.5-cp312-cp312-macosx_11_0_arm64.whl (11.8 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

pensyve-1.0.5-cp311-cp311-win_amd64.whl (10.9 MB view details)

Uploaded CPython 3.11Windows x86-64

pensyve-1.0.5-cp311-cp311-manylinux_2_28_x86_64.whl (15.0 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ x86-64

pensyve-1.0.5-cp311-cp311-manylinux_2_28_aarch64.whl (16.1 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ ARM64

pensyve-1.0.5-cp311-cp311-macosx_11_0_arm64.whl (11.8 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

pensyve-1.0.5-cp310-cp310-win_amd64.whl (10.9 MB view details)

Uploaded CPython 3.10Windows x86-64

pensyve-1.0.5-cp310-cp310-manylinux_2_28_x86_64.whl (15.0 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ x86-64

pensyve-1.0.5-cp310-cp310-manylinux_2_28_aarch64.whl (16.1 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ ARM64

pensyve-1.0.5-cp310-cp310-macosx_11_0_arm64.whl (11.8 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

File details

Details for the file pensyve-1.0.5.tar.gz.

File metadata

  • Download URL: pensyve-1.0.5.tar.gz
  • Upload date:
  • Size: 145.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for pensyve-1.0.5.tar.gz
Algorithm Hash digest
SHA256 e26b2fda192ea72e481b3ecac30786babdc8ca515e3ff1c2627a6aaaee6ab43d
MD5 4f23ea593d652ef141f6298b28a04b44
BLAKE2b-256 e61aee7b979f4e80816edd58d7f4707cf453932cfe94b4d84d25edf2c20fd119

See more details on using hashes here.

File details

Details for the file pensyve-1.0.5-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: pensyve-1.0.5-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 10.9 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

Hashes for pensyve-1.0.5-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 719d41295829b56c223cd772ece0241c0a0c273dbf2914e74d19a03b661e096f
MD5 7861b8e5274f85bba9dfb046e73549d7
BLAKE2b-256 dcb41e99225d6ae68fb9e1addcf074833b0e53c4046265e85fdaf9f7bb28c58a

See more details on using hashes here.

File details

Details for the file pensyve-1.0.5-cp313-cp313-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pensyve-1.0.5-cp313-cp313-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 718d9d9cedcc36035e8bdb261ae0652130cf44eda6c69239330f2e556ced5fc2
MD5 7396214ed476be56214e1187bf5b9897
BLAKE2b-256 b02e9c33c4c5f7fb80d77883b15553dec6be34607d9c6f077dd889ca15da3fbe

See more details on using hashes here.

File details

Details for the file pensyve-1.0.5-cp313-cp313-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for pensyve-1.0.5-cp313-cp313-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 c01908b49060ba26ecf2ad8734f12fa356a53dcf7b5ad6f135a866872a591f4e
MD5 f930aada5cb98a482d83013958253cb1
BLAKE2b-256 755781f6f0d751bdbeaca8db6fc4670f83459882eef5c6dc007451f8c8c57052

See more details on using hashes here.

File details

Details for the file pensyve-1.0.5-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pensyve-1.0.5-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 52abc9f556c6f960018195e6b41c4bfe6922489befed6d21b28d25878d5df27a
MD5 f69ef0b6969121cb73c959b058be4bb6
BLAKE2b-256 8f3511aec949e05456ce02f4e243450ec78c5f835e1af6b497e21f34ed7410af

See more details on using hashes here.

File details

Details for the file pensyve-1.0.5-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: pensyve-1.0.5-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 10.9 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

Hashes for pensyve-1.0.5-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 19fdbdb076cd7c99fdf9cabe6afd1802fcd0166586d4390643db0a66d3f08cd7
MD5 74b12aa3b2849cf23f17eff1d8320bf3
BLAKE2b-256 db218859263ba1249270f6de9f3465c340523579f7fab69aa24fef2debbd0375

See more details on using hashes here.

File details

Details for the file pensyve-1.0.5-cp312-cp312-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pensyve-1.0.5-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 4c0e6803f4344e6c4160ebb000cced0c7a4c53548cbf2cddeb511c5f05f27f47
MD5 2e94c339a4119a3325287a9f16c5c825
BLAKE2b-256 ad73e0bde91e963a1acca540e6d26c3bc5397bdd2cf57dac9bb8aee623211bd4

See more details on using hashes here.

File details

Details for the file pensyve-1.0.5-cp312-cp312-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for pensyve-1.0.5-cp312-cp312-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 99ecdf340a0de9d3a45c748587592ed5e08a5f545f4d7a3552b93819d2c894ab
MD5 0a8bd5894ee281a5c6801f3ffbbaf195
BLAKE2b-256 a4aed4b6196640b05fadb781d9ff7e94c64de13312bcd605ad8d653b2c9ef587

See more details on using hashes here.

File details

Details for the file pensyve-1.0.5-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pensyve-1.0.5-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6f2143609d5ad21f9c7a873a8b2b51d72947661eb968076acfab2604fd98bc34
MD5 c9b50ef1ab831dc7123ff14eda0aada3
BLAKE2b-256 4fa5abb40e0ea03447dc4a89c21d6cd0713526241de75df6c59c7927d402f2ce

See more details on using hashes here.

File details

Details for the file pensyve-1.0.5-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: pensyve-1.0.5-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 10.9 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

Hashes for pensyve-1.0.5-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 6453ca0ce5b4c63ab057c0692e8c60d54b017d9c607babcaae9c52c00d629b96
MD5 672b95b08ada5c7032901162eee75957
BLAKE2b-256 3caaf0a43ec29de3607b6a0600cae40f2f3f20da18a84a256864a959ee6a62c8

See more details on using hashes here.

File details

Details for the file pensyve-1.0.5-cp311-cp311-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pensyve-1.0.5-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 6ecfac41e9073bfcc2bcc99e991ef72e3098818575578e106308d56649afaa9a
MD5 2d44cc1e09048a95b2a881a0cc8cf68c
BLAKE2b-256 b9d120282580d0cfffb208685d2efd3aee5308e897dd0b9854ebf8a7233ea4fe

See more details on using hashes here.

File details

Details for the file pensyve-1.0.5-cp311-cp311-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for pensyve-1.0.5-cp311-cp311-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 6e60b6f966292e0aa189b5bae2f71a18f5c64cde74ee6187ade38a7ac8ad024e
MD5 f97347ea816894f0af08e3743266fb3e
BLAKE2b-256 63d4ddc4c8044df873e3d7db42b759ecdb119fdd389f9a94937a20d3ca8f97f5

See more details on using hashes here.

File details

Details for the file pensyve-1.0.5-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pensyve-1.0.5-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 00823fe329ef2e0d80adf9d6c5af6c57308189b6290bc82e8fefc34149e1dc7e
MD5 ef213c380198ab85b5a5870db7428bd8
BLAKE2b-256 c96c6bf748165a548631e5858afb2bff47623679855610ca7ae05341d13edd07

See more details on using hashes here.

File details

Details for the file pensyve-1.0.5-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: pensyve-1.0.5-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 10.9 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

Hashes for pensyve-1.0.5-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 393435674c2283f21ce869ffd947939d0752e0bc795f68ee86fe643db7cf572d
MD5 26428f9f251088f7de83056f2571e1a5
BLAKE2b-256 a660a54677ba7b9976bcafa4fa5342ad207a8f8a62107731e3cd0e1dfd9afd57

See more details on using hashes here.

File details

Details for the file pensyve-1.0.5-cp310-cp310-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pensyve-1.0.5-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 f57c17c3c58d97df5d5c176573348dd5a65c775d52dd5050ba3ce0ea23baf00f
MD5 3b4b325b0a47da93aee0dd033bc93962
BLAKE2b-256 898e83ba75cc35848852e74b40996f23f7dd11d69bd55d161f69686039579f84

See more details on using hashes here.

File details

Details for the file pensyve-1.0.5-cp310-cp310-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for pensyve-1.0.5-cp310-cp310-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 7a34485b9bc579e5366fb3896f4a92db4d8f00f8f1d268453eedca831c255e82
MD5 0266efc9ca7ef67a4496c3eacfa19cf0
BLAKE2b-256 d8e23df1017aaeac4a4a695a25258447c51a240e78aefed5050b75e05a12eb99

See more details on using hashes here.

File details

Details for the file pensyve-1.0.5-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pensyve-1.0.5-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0c9e3e10709b8991f5e2c32b0a9ee5f46561768b1ee28eafe856123505267a24
MD5 b3934d1e3e3f3c66c6ea872761685149
BLAKE2b-256 7ccdb60bac8f685ba46ad85752ceb4976978ffa520108bbad7f2494257954011

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page