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 (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

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

# 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

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-2.1.0.tar.gz (224.5 kB view details)

Uploaded Source

Built Distributions

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

pensyve-2.1.0-cp313-cp313-win_amd64.whl (12.4 MB view details)

Uploaded CPython 3.13Windows x86-64

pensyve-2.1.0-cp313-cp313-manylinux_2_28_x86_64.whl (16.7 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ x86-64

pensyve-2.1.0-cp313-cp313-manylinux_2_28_aarch64.whl (18.0 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ ARM64

pensyve-2.1.0-cp313-cp313-macosx_11_0_arm64.whl (13.5 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

pensyve-2.1.0-cp312-cp312-win_amd64.whl (12.4 MB view details)

Uploaded CPython 3.12Windows x86-64

pensyve-2.1.0-cp312-cp312-manylinux_2_39_aarch64.whl (16.3 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.39+ ARM64

pensyve-2.1.0-cp312-cp312-manylinux_2_28_x86_64.whl (16.7 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ x86-64

pensyve-2.1.0-cp312-cp312-manylinux_2_28_aarch64.whl (18.0 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ ARM64

pensyve-2.1.0-cp312-cp312-macosx_11_0_arm64.whl (13.5 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

pensyve-2.1.0-cp311-cp311-win_amd64.whl (12.4 MB view details)

Uploaded CPython 3.11Windows x86-64

pensyve-2.1.0-cp311-cp311-manylinux_2_28_x86_64.whl (16.7 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ x86-64

pensyve-2.1.0-cp311-cp311-manylinux_2_28_aarch64.whl (18.0 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ ARM64

pensyve-2.1.0-cp311-cp311-macosx_11_0_arm64.whl (13.5 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

pensyve-2.1.0-cp310-cp310-win_amd64.whl (12.4 MB view details)

Uploaded CPython 3.10Windows x86-64

pensyve-2.1.0-cp310-cp310-manylinux_2_28_x86_64.whl (16.7 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ x86-64

pensyve-2.1.0-cp310-cp310-manylinux_2_28_aarch64.whl (18.0 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ ARM64

pensyve-2.1.0-cp310-cp310-macosx_11_0_arm64.whl (13.5 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

File details

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

File metadata

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

File hashes

Hashes for pensyve-2.1.0.tar.gz
Algorithm Hash digest
SHA256 fc65cc032548301273d719ab5f1cd8533a1bf4da29c2c980bb5959be1d008bed
MD5 cd4886e22706011769381c907d2eb145
BLAKE2b-256 07bd38a509851304abc321f168fd3ad099b7c66c499d89a804bff7f528d0a72d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pensyve-2.1.0-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

Hashes for pensyve-2.1.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 0c83c67a099618cf0ce5449a5620a2a9084d29e84b84aba9925511d68f816560
MD5 7b762be8db2e7760f36eb63995eff089
BLAKE2b-256 a46882b05d8b0c1cf850ced8ffb45e1283c80f17eb051b4af486e5fb2d1241b9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pensyve-2.1.0-cp313-cp313-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 7078540e0dc9fd5c88722fd806298c8a733bd9f9b4d0a95997869011131ac815
MD5 e182097a308cddc92929eec86367ea48
BLAKE2b-256 f0a6629d58ccee647469c456ecd9b7ffb2c023a51e483c2d50cfa01c5521982a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pensyve-2.1.0-cp313-cp313-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 5f2f206794441cd0c2f4717084e024cbaecb100248ca874bc4c4d66053194483
MD5 9dc64c4094c78f234101acaee3c13f10
BLAKE2b-256 5d58e8174b11febedea1d9a6bc8ef35eace5b1d07ebddfd205ba4d709e4a07a2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pensyve-2.1.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 28b4dffefd3388192b5c4ff2797607960fbad00911ea1d74fa866afe0be4cbc2
MD5 d8bea7fdc80e025b263c1b1ed1884d88
BLAKE2b-256 f78c54ada28ae515ca997a7db401bbf428d7ce5fff5e7f961fb224fe1c27aeda

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pensyve-2.1.0-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

Hashes for pensyve-2.1.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 afd7efaa1e8539800d15c01efc5b63765908b2f035a4bc4d8eebf42f70252962
MD5 317751921ae2b7d37ca2009b2dc7bab9
BLAKE2b-256 5d12ea8da1130c06604a02ce38e3d61c25330d3f776002afd68d70c73b59c859

See more details on using hashes here.

File details

Details for the file pensyve-2.1.0-cp312-cp312-manylinux_2_39_aarch64.whl.

File metadata

File hashes

Hashes for pensyve-2.1.0-cp312-cp312-manylinux_2_39_aarch64.whl
Algorithm Hash digest
SHA256 f40afbe1823d656ee5fabad4766903c81b7c88a348ec5beb872f0548c371b10c
MD5 9579cef23b0e02a008163e857cad1ce0
BLAKE2b-256 0358ddae378334015bad6f130a376d78dd2984e1f5ffb15b171d8cc52480a089

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pensyve-2.1.0-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 2f1ae9d4e6b54d51f9a4b0fe845b457425baf1565c6f1e6e051f59781973f28a
MD5 17e944c8fb32392d8c4c02a7c2eff0a7
BLAKE2b-256 4aa253894835607de36c0d9ad59d285b047c5642d49ec5b1f9640ebd234f8895

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pensyve-2.1.0-cp312-cp312-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 95c9a6f32d4b17351377b46dd30726b1681d92fd1657c93ee52c9bbc3f4052ba
MD5 e467a8f73e9adcae9e0578feac73cacc
BLAKE2b-256 759333612a98fdd0dd50b3c40ae0457182911de33f0036c30e5a3d65aa564f51

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pensyve-2.1.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d4591f6a40f6c741851683ce5435282447015d5307a23da2872f457d6bbd68c3
MD5 509abcbc044e283fb18f7f197beb47cd
BLAKE2b-256 1d4d5a2003c48e3cd49c39a13f053e734888c5f0547ba0930d82e59a139bd188

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pensyve-2.1.0-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

Hashes for pensyve-2.1.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 4ed24d57ba4f8316aa80ccfc140598665e1027377c1288085b3bb7044f1f6c47
MD5 4c1c82814d63e0cf31a39abe64ccbcae
BLAKE2b-256 661c26f927dfef34ef20efbcb7465c4d13ba3905c40e7476d92d946b432cf443

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pensyve-2.1.0-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 215a603836bce62cf6c93d1bbe21708da520927fcaa1b44d0ba12546d2eb7a25
MD5 25b6bbff2c1281dc374798d0e47bf72d
BLAKE2b-256 cb0d163f39df2977ca4e6b6eabf118e2b148851014a81709857f0e007e2251fa

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pensyve-2.1.0-cp311-cp311-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 15fdf4cf2f787d4d1c4cc98a557dc7677b414f2249cc2501ac12b5d3e34454fb
MD5 564e4533048e7dbab0c6af4f0c00c6fc
BLAKE2b-256 4a99f070ef789b48a9a9a771fb420526fe2c8688107d9dbba333cc30441ba3b7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pensyve-2.1.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8210d08ead844a39f365c211763cce4d1c09fdb15ac05eafa1d3dd5411e5b6fc
MD5 db3c9efff77f74b09228ef01fccb3409
BLAKE2b-256 98d034e7f4dbed9cf3b04c846aca6e7378070b9c6fdaedad66db7850e4bc646a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pensyve-2.1.0-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

Hashes for pensyve-2.1.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 b17c09f4714af072c52d8f9371ff896a45178854c6d0729feb1e9aa77298e57e
MD5 3749aa2f397182be74e10743095d6a51
BLAKE2b-256 63d69b2c16aebacb25ed7c169aab769f513b881ed076c077a6974b09f47b8882

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pensyve-2.1.0-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 5ce2acf30981ced68ce1705675110a7e2a2d5e38c8cb420c54d638b62309fda7
MD5 982b59141a26a6f4b5cb8e3e3baf34a3
BLAKE2b-256 9b243a8fde8bc3fdc163bcde2cddcb1f7faf275981f49ab99cd19f6c0964953b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pensyve-2.1.0-cp310-cp310-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 50fecb61d9ca0187334999ad9e10092349117a783440e7c51c0808e6e5509820
MD5 87e5689ae68e1a2d3c742505106bdf6a
BLAKE2b-256 ab31b370405fde1ab521a3550477ac6ab02d10407f130f62b1822b18055a7cc5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pensyve-2.1.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 2baa8514fd7930730f44879e946a35f61bde88bf13833ffc66c636bc78746c87
MD5 268a7c15cf98b1891322b18f1a70d67d
BLAKE2b-256 c55884c6f32d17e39578fb9408348974442d51cb99483d4879cd98041f7c0a3f

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