Skip to main content

GRKMemory (Graph Retrieve Knowledge Memory) - A semantic graph-based memory system for AI agents developed by MonkAI team

Project description

🧠 GRKMemory - Graph Retrieve Knowledge Memory

GRKMemory = Graph Retrieve Knowledge Memory

PyPI version Python 3.10+ License: MIT

GRKMemory é um sistema de memória semântica baseado em grafos para agentes de IA, desenvolvido pelo time MonkAI. Recuperação inteligente de conhecimento com economia de 95% em tokens.

🚀 Começando

1️⃣ Instalação

pip install grkmemory

2️⃣ Obter Token de Acesso

Para utilizar o GRKMemory, você precisa de um token fornecido pelo time MonkAI:

📧 Contato: contato@monkai.com.br
🌐 Site: www.monkai.com.br

3️⃣ Configurar Token

# Configurar como variável de ambiente
export GRKMEMORY_API_KEY="grk_seu_token_aqui"

# OpenAI (padrão)
export OPENAI_API_KEY="sua_openai_key"

# OU Azure OpenAI
export USE_AZURE_OPENAI="true"
export AZURE_OPENAI_API_KEY="sua_azure_key"
export AZURE_OPENAI_ENDPOINT="https://seu-recurso.openai.azure.com"
export AZURE_OPENAI_DEPLOYMENT="gpt-4o"
export AZURE_OPENAI_EMBEDDING_DEPLOYMENT="text-embedding-3-small"

4️⃣ Autenticar e Usar

from grkmemory import GRKMemory, GRKAuth, AuthenticatedGRK

# Autenticar com token MonkAI
auth = GRKAuth.from_env()  # Usa GRKMEMORY_API_KEY
print("✅ Autenticado!")

# Inicializar GRKMemory protegido
grk = GRKMemory()
secure = AuthenticatedGRK(grk, auth.get_current_token())

# Usar!
secure.save_conversation([
    {"role": "user", "content": "Olá!"},
    {"role": "assistant", "content": "Oi! Como posso ajudar?"}
])

results = secure.search("Olá")

🎯 Quick Start (Completo)

from grkmemory import GRKMemory, GRKAuth, AuthenticatedGRK
import os

# 1. Autenticar
api_key = os.getenv("GRKMEMORY_API_KEY")
auth = GRKAuth()
auth.authenticate(api_key)

# 2. Criar GRKMemory autenticado
grk = GRKMemory()
secure = AuthenticatedGRK(grk, api_key)

# 3. Salvar conversa
secure.save_conversation([
    {"role": "user", "content": "Vamos falar sobre Python"},
    {"role": "assistant", "content": "Claro! O que você quer saber?"}
])

# 4. Buscar memórias relevantes
results = secure.search("O que discutimos sobre Python?")

# 5. Chat com contexto de memória automático
response = secure.chat("Me conte sobre nossas discussões anteriores")

🔐 Autenticação

Token MonkAI

A autenticação é uma camada de proteção fornecida pelo time MonkAI. Todos os recursos requerem um token válido.

Permissão Descrição
read Buscar e consultar memórias
write Salvar novas memórias
admin Gerenciamento completo

Métodos de Autenticação

from grkmemory import GRKAuth

# Método 1: Via variável de ambiente (recomendado)
auth = GRKAuth.from_env()  # Usa GRKMEMORY_API_KEY

# Método 2: Diretamente
auth = GRKAuth()
auth.authenticate("grk_seu_token")

# Verificar permissões
print(f"Pode ler: {auth.check_permission('read')}")
print(f"Pode escrever: {auth.check_permission('write')}")

⚠️ Importante: Tokens são fornecidos exclusivamente pelo time MonkAI.

⚙️ Configuração

from grkmemory import GRKMemory, MemoryConfig

config = MemoryConfig(
    model="gpt-4o",
    memory_file="minhas_memorias.json",
    enable_embeddings=True,
    background_memory_method="graph",  # 'graph', 'embedding', 'tags', 'entities'
    background_memory_limit=5,
    background_memory_threshold=0.3,
    storage_format="json",   # 'json' (padrão) ou 'toon'
    output_format="json"     # 'json', 'toon' ou 'text'
)

grk = GRKMemory(config=config)

☁️ Azure OpenAI

GRKMemory suporta Azure OpenAI nativamente. Configure via variáveis de ambiente ou código:

Via Variáveis de Ambiente

export USE_AZURE_OPENAI="true"
export AZURE_OPENAI_API_KEY="sua-api-key"
export AZURE_OPENAI_ENDPOINT="https://seu-recurso.openai.azure.com"
export AZURE_OPENAI_DEPLOYMENT="gpt-4o"
export AZURE_OPENAI_EMBEDDING_DEPLOYMENT="text-embedding-3-small"
export AZURE_OPENAI_API_VERSION="2024-02-01"  # opcional

Via Código

from grkmemory import GRKMemory, MemoryConfig

# Configuração Azure OpenAI
config = MemoryConfig(
    use_azure=True,
    api_key="sua-azure-api-key",
    azure_endpoint="https://seu-recurso.openai.azure.com",
    azure_deployment="gpt-4o",
    azure_embedding_deployment="text-embedding-3-small",
    azure_api_version="2024-02-01"
)

grk = GRKMemory(config=config)

Tabela de Configurações Azure

Variável Config Descrição
USE_AZURE_OPENAI use_azure Ativar Azure (true/false)
AZURE_OPENAI_API_KEY api_key Chave da API Azure
AZURE_OPENAI_ENDPOINT azure_endpoint URL do recurso Azure
AZURE_OPENAI_DEPLOYMENT azure_deployment Nome do deployment (chat)
AZURE_OPENAI_EMBEDDING_DEPLOYMENT azure_embedding_deployment Nome do deployment (embeddings)
AZURE_OPENAI_API_VERSION azure_api_version Versão da API (default: 2024-02-01)

📦 Formatos de Armazenamento (JSON vs TOON)

GRKMemory suporta dois formatos de serialização:

Formato Vantagem Uso Recomendado
JSON Parsing 27x mais rápido Armazenamento (padrão)
TOON 25% menos tokens Contexto para LLM

Instalando TOON (opcional)

pip install toon_format

Estratégia Híbrida (Recomendada)

from grkmemory import MemoryRepository

# JSON para armazenamento (rápido) + TOON para LLM (economia de tokens)
repo = MemoryRepository(
    memory_file="memorias.json",
    storage_format="json",      # Parsing rápido
    output_format="toon"        # 25% menos tokens para LLM
)

# Buscar e formatar para LLM
results = repo.search("Python")
context = repo.format_for_llm(results)  # Retorna em TOON (~25% menos tokens)

Comparando Formatos

# Estimar economia de tokens
estimates = repo.get_token_estimate(results)
print(estimates)
# {'json': 689, 'toon': 512, 'savings_toon_vs_json': '25.7%'}

Convertendo entre Formatos

# Exportar para TOON
repo.export("backup.toon", format="toon")

# Converter armazenamento para TOON
repo.convert_storage_format("toon")

👥 Multi-tenant (user_id / session_id)

É possível isolar memórias por usuário e/ou sessão usando os parâmetros opcionais user_id e session_id em save_conversation e search. O armazenamento continua em um único arquivo; o filtro é aplicado na busca.

# Salvar conversa para um usuário/sessão
grk.save_conversation(
    [{"role": "user", "content": "Olá!"}, {"role": "assistant", "content": "Oi!"}],
    user_id="user_123",
    session_id="sess_abc"
)

# Buscar apenas memórias desse usuário
results = grk.search("Olá", user_id="user_123")

# Ou apenas dessa sessão
results = grk.search("Olá", session_id="sess_abc")

# Chat e save também aceitam user_id/session_id
response = grk.chat("O que discutimos?", user_id="user_123")

Sem user_id/session_id, o comportamento é o mesmo de antes (todas as memórias são consideradas).

⚡ API assíncrona

Para uso em código assíncrono (ex.: AtendentePro) sem bloquear o event loop, use os métodos *_async, que executam a lógica síncrona em thread (ex.: asyncio.to_thread em Python 3.9+):

import asyncio
from grkmemory import GRKMemory

grk = GRKMemory()

async def main():
    results = await grk.search_async("IA")
    await grk.save_conversation_async([
        {"role": "user", "content": "Olá"},
        {"role": "assistant", "content": "Oi!"}
    ])
    response = await grk.chat_async("O que discutimos?")

asyncio.run(main())

Disponíveis: search_async, save_conversation_async, chat_async, chat_with_history_async. Com AuthenticatedGRK: search_async, save_conversation_async, chat_async (com checagem de permissão).

🔓 Modo Offline (Sem Token)

O modo offline usa MemoryRepository com enable_embeddings=False e serve como backend sem API key para testes ou ambientes restritos, usando apenas tags, entities e grafo semântico (sem embeddings). Você pode usar o MemoryRepository sem token/API key quando embeddings estão desabilitados:

from grkmemory import MemoryRepository

# Modo offline - não precisa de API key
repo = MemoryRepository(
    memory_file="memories.json",
    enable_embeddings=False  # ← Chave: desabilitar embeddings
)

# Funcionalidades disponíveis sem token:
# ✅ Salvar memórias
repo.save({
    "summary": "Conversa sobre Python",
    "tags": ["python", "programação"],
    "entities": ["Python"],
    "key_points": ["Linguagem interpretada"]
})

# ✅ Buscar por tags
results = repo.search("python", method="tags")

# ✅ Buscar por entities
results = repo.search("Python", method="entities")

# ✅ Buscar por grafo (sem embeddings)
results = repo.search("programação", method="graph")

# ❌ Busca por embedding requer API key
# results = repo.search("query", method="embedding")  # Retorna vazio sem API key

Nota: GRKMemory e MemoryConfig requerem API key. Apenas MemoryRepository com enable_embeddings=False funciona sem token.

💾 Salvando Conversas em JSON

O GRKMemory salva automaticamente as conversas em um arquivo JSON estruturado:

Estrutura do JSON

{
  "sessoes": [
    {
      "id": "sess_abc123",
      "timestamp": "2025-01-09T12:00:00",
      "summary": "Discussão sobre Python e IA",
      "tags": ["python", "ia", "programação"],
      "entities": ["Python", "OpenAI", "GPT"],
      "concepts": ["machine learning", "api"],
      "messages": [
        {"role": "user", "content": "..."},
        {"role": "assistant", "content": "..."}
      ]
    }
  ]
}

Estrutura do TOON (Token-Optimized Object Notation)

O mesmo conteúdo em TOON ocupa ~25% menos tokens, ideal para contexto de LLM:

sessoes[1]:
  - id: sess_abc123
    timestamp: "2025-01-09T12:00:00"
    summary: Discussão sobre Python e IA
    tags[3]: python,ia,programação
    entities[3]: Python,OpenAI,GPT
    concepts[2]: machine learning,api
    messages[2]{role,content}:
      user,Vamos falar sobre Python
      assistant,Claro! O que você quer saber?

Nota: TOON elimina chaves, colchetes e aspas redundantes, compactando listas e tabelas em notação posicional. Instale com pip install toon_format.

Usando o MemoryRepository diretamente

from grkmemory import MemoryRepository

# Inicializar repositório
repo = MemoryRepository(memory_file="minhas_memorias.json")

# Salvar memória estruturada
memoria = {
    "summary": "Conversa sobre Python",
    "tags": ["python", "programação"],
    "entities": ["Python", "VS Code"],
    "concepts": ["sintaxe", "bibliotecas"],
    "messages": [
        {"role": "user", "content": "Como instalar Python?"},
        {"role": "assistant", "content": "Baixe em python.org..."}
    ]
}
repo.save(memoria)

# Buscar memórias
resultados = repo.search("Python", method="tags")

📊 Métodos de Busca

Método Descrição
graph Grafo semântico (recomendado)
embedding Similaridade vetorial
tags Busca por tags
entities Busca por entidades
# Busca por grafo semântico
results = secure.search("IA", method="graph")

# Busca por embedding
results = secure.search("machine learning", method="embedding")

📈 Estatísticas

# Estatísticas gerais
stats = secure.get_stats()
print(f"Total de memórias: {stats['total_memories']}")

# Estatísticas do grafo
graph_stats = secure.get_graph_stats()
print(f"Nós: {graph_stats['total_nodes']}")
print(f"Arestas: {graph_stats['total_edges']}")

📁 Estrutura do Projeto

GRKMemory/
├── grkmemory/              # 📦 Pacote principal
│   ├── core/               # Classes principais
│   ├── memory/             # Repositório de memória
│   ├── graph/              # Grafo semântico
│   ├── auth/               # Autenticação
│   └── utils/              # Utilitários
├── examples/               # 💡 Exemplos de uso
├── papers/                 # 📄 Documentação técnica
└── README.md

📚 Exemplos

Veja a pasta examples/ para exemplos completos:

Exemplo Descrição
01_basic_usage.py Uso básico
02_custom_config.py Configuração personalizada
03_chatbot_with_memory.py Chatbot com memória
04_graph_analysis.py Análise do grafo
05_batch_processing.py Processamento em lote
06_authentication.py Uso com autenticação
07_storage_formats.py Formatos de armazenamento (JSON/TOON)
08_azure_openai.py Integração com Azure OpenAI
09_multi_tenant.py Multi-tenant com user_id e session_id
10_async_usage.py Uso da API assíncrona (search_async, chat_async)

🔬 Performance

Métrica Context Window GRKMemory
Tokens/query ~50.000 ~2.500
Economia - 95%
Precisão Variável 95%
Velocidade Lenta 10x mais rápido

🏅 Certificado de Qualidade

O GRKMemory v1.3.0 foi auditado e certificado pelo Claude AI Quality Auditor (Anthropic) nos pilares de Segurança, Usabilidade e Escalabilidade.

Pilar Score Status
Segurança 8.5 / 10 Aprovado
Usabilidade 9.0 / 10 Excelente
Escalabilidade 7.8 / 10 Aprovado
Score Final 8.4 / 10 Certificado

Serial Number: CQC-03E6B8B9-883CEBB9-4B6C1D38-672D37CF

Verificar autenticidade:

echo -n "GRKMemory|1.3.0|MonkAI|ArthurVaz|2026-03-01|CLAUDE-QUALITY-AUDIT" | shasum -a 256

Veja o relatório completo para detalhes da auditoria.

📞 Contato

Para obter seu token de acesso ou suporte:

📧 Email: contato@monkai.com.br
🌐 Site: www.monkai.com.br

📄 Licença

MIT License - veja LICENSE

👨‍💻 Autor

Arthur Vaz - MonkAI

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

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

grkmemory-1.5.0-cp313-cp313-win_amd64.whl (619.8 kB view details)

Uploaded CPython 3.13Windows x86-64

grkmemory-1.5.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (4.5 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

grkmemory-1.5.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl (4.4 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

grkmemory-1.5.0-cp313-cp313-macosx_10_13_x86_64.whl (720.1 kB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

grkmemory-1.5.0-cp312-cp312-win_amd64.whl (622.9 kB view details)

Uploaded CPython 3.12Windows x86-64

grkmemory-1.5.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (4.6 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

grkmemory-1.5.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl (4.5 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

grkmemory-1.5.0-cp312-cp312-macosx_11_0_arm64.whl (713.8 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

grkmemory-1.5.0-cp312-cp312-macosx_10_13_x86_64.whl (723.9 kB view details)

Uploaded CPython 3.12macOS 10.13+ x86-64

grkmemory-1.5.0-cp311-cp311-win_amd64.whl (634.3 kB view details)

Uploaded CPython 3.11Windows x86-64

grkmemory-1.5.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (4.5 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

grkmemory-1.5.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl (4.5 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

grkmemory-1.5.0-cp311-cp311-macosx_10_9_x86_64.whl (726.7 kB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

grkmemory-1.5.0-cp310-cp310-win_amd64.whl (631.8 kB view details)

Uploaded CPython 3.10Windows x86-64

grkmemory-1.5.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (4.3 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

grkmemory-1.5.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl (4.3 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

grkmemory-1.5.0-cp310-cp310-macosx_10_9_x86_64.whl (731.8 kB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

File details

Details for the file grkmemory-1.5.0-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: grkmemory-1.5.0-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 619.8 kB
  • 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 grkmemory-1.5.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 33f9fdac91fe535b29bb3fcf436d7111df5474c70cbe9ca1c4be251502fbbc4b
MD5 8586c7c774e9139d7e6b66bb243bb6d0
BLAKE2b-256 4c0695bfc0c1bc4481f8648b404222eea156d3afa27b554889894ada22b43f90

See more details on using hashes here.

File details

Details for the file grkmemory-1.5.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for grkmemory-1.5.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 5d7569bcdde6816bae6acdaa09bdcbd0f0a397f02e98e65dd2d1f40efb8d393e
MD5 1a9212f08fa782e7e9014e4feec44135
BLAKE2b-256 a0da020df32f71386e0a3653f3c0e5d080691820cbe0760cd326b76b913ed798

See more details on using hashes here.

File details

Details for the file grkmemory-1.5.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl.

File metadata

File hashes

Hashes for grkmemory-1.5.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 0bcbb52ee58ad5bf98b02bf77a67102184f4b5687fb2237c90bb77c0ae36fe4d
MD5 6f98462966c160d22f4b10c5c1cf317e
BLAKE2b-256 6128f1ddb9056f01ac14c8d772df6e9de8c48ce85b5b6c142ee3cf30011f36b4

See more details on using hashes here.

File details

Details for the file grkmemory-1.5.0-cp313-cp313-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for grkmemory-1.5.0-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 458f93db4498ad2a7e927f2ca5fc675dc60763bee71ad1684e7a0f2e59a28489
MD5 a828affc9e97224dfffd7efee04b9e78
BLAKE2b-256 a596753b9bdb6e65e6aa383025ea5e4646264b274581c88605acd150c1c1ef4c

See more details on using hashes here.

File details

Details for the file grkmemory-1.5.0-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: grkmemory-1.5.0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 622.9 kB
  • 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 grkmemory-1.5.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 5c007ff9b3e973d19747e08293b8d200d7b4ded33565afc1dac3f3433ffe782d
MD5 c17e64e6b86391b5a4535345f239a949
BLAKE2b-256 4080fe4f9e9199a8a82f3c3d107082e8eed036ff8fef9b106b459c0c0ec5a6d1

See more details on using hashes here.

File details

Details for the file grkmemory-1.5.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for grkmemory-1.5.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 d9ad352969b89641fc5bd242ca4c77c1cc9b8801d39a74970fccea6113781b82
MD5 de5b7c39f7606331057e5c424672a81e
BLAKE2b-256 499b3c284750557439ba4edfe4f4b6b19bef71232a3ffff56e7c96bd3edb5dea

See more details on using hashes here.

File details

Details for the file grkmemory-1.5.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl.

File metadata

File hashes

Hashes for grkmemory-1.5.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 5d033fa931a6688df680f781dfef15426afc0d577ca5ab6b2c88278c992540db
MD5 38014597c7da81439ee7f4fa7052a8fd
BLAKE2b-256 432b3196435ce75264496bae4456d7926848b7a80c0bd8493f5eedf0364cf0f9

See more details on using hashes here.

File details

Details for the file grkmemory-1.5.0-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for grkmemory-1.5.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f90944e40815b3230883dd4c62e7e625abd20ba728b9275efb1b84be6f4277ca
MD5 e7f9c1ddd6e20c9625e1b9f71c30f8c4
BLAKE2b-256 b1c28516fda999907db41e5a0b163cbb0b263cdfa070c9ff09b55288b8f3c457

See more details on using hashes here.

File details

Details for the file grkmemory-1.5.0-cp312-cp312-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for grkmemory-1.5.0-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 d1191e31568862f0be4af5c7245b7cf66fa3dc374115b871ba2bf882b266ceb8
MD5 92e2e64d7c28daf445ae129538e831c5
BLAKE2b-256 526e203d63445b8e9b4a102ffaf5fbdb68f7a7ab1de86bbc689fb46a3f2364d4

See more details on using hashes here.

File details

Details for the file grkmemory-1.5.0-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: grkmemory-1.5.0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 634.3 kB
  • 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 grkmemory-1.5.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 bd93311126f06e3e6a452108aa67bc43922677430ec60d988384e948cf45b1f1
MD5 0fdbded3273d2f73d9c314bb94b0e672
BLAKE2b-256 dab791ecd3864be0ee457210aff30080a3f5e1a5071db376cd901e8255f54dce

See more details on using hashes here.

File details

Details for the file grkmemory-1.5.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for grkmemory-1.5.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 6a580505d75821e8c32be1e4bc4952eecf07a9404bba5443a289b3431fb22fe2
MD5 1bec6a69af8355c8fedc61878a9b29c4
BLAKE2b-256 e7be0a901a368ebeaab5275ba1162eec4fab9309699e30f14e9626345ec1d568

See more details on using hashes here.

File details

Details for the file grkmemory-1.5.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl.

File metadata

File hashes

Hashes for grkmemory-1.5.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 0e5fd6593b32a348f31101911f223f69692537069e30b47562333053d7555abe
MD5 bcb5136c42ea7c5e43cc5f11a17854b0
BLAKE2b-256 eb8a06675dba0fe84081e64a62de2986bf57f394ee71637a3579d15acc57d46e

See more details on using hashes here.

File details

Details for the file grkmemory-1.5.0-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for grkmemory-1.5.0-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 c553ab5976464946ae04fd28072db2dc522de7fa8278321d405faa0483329667
MD5 6ca00f411bd7330a126359c97d1f34ea
BLAKE2b-256 139ad30d265aa267d3ca05e89fcef2108e9e4b0a0a8414057ff36e7550c51829

See more details on using hashes here.

File details

Details for the file grkmemory-1.5.0-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: grkmemory-1.5.0-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 631.8 kB
  • 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 grkmemory-1.5.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 eed0fd361f0665fcc8470a868724c0359ac23e450a66a997ba78f61e847cd467
MD5 aa3755b0548fcaff8af0a0347a4d2243
BLAKE2b-256 0122f76531630b8eee945873f21f5552f897979a62c0eed77b53f8bd2fc81a7b

See more details on using hashes here.

File details

Details for the file grkmemory-1.5.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for grkmemory-1.5.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 eea663a98f9408bb814cc093626b702d4d7ca0a5ce3cd6848cef5c0563356df3
MD5 b41ae36b6746fd5cd8bbe8c793436d13
BLAKE2b-256 333a81a06eb3aa355578b3d29751ff398f32e09d5422c1c939347eee46235c4f

See more details on using hashes here.

File details

Details for the file grkmemory-1.5.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl.

File metadata

File hashes

Hashes for grkmemory-1.5.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 d6aae0b7ada609ecedb2566b0fdbaaa0015f24be250468c41a257dbe9ff8fd43
MD5 e6d87406e4d95329593a801c9fd191c8
BLAKE2b-256 c90487c229c2ec60259b57cbafb4811369350df42d98e69d393c243bcaa213f9

See more details on using hashes here.

File details

Details for the file grkmemory-1.5.0-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for grkmemory-1.5.0-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 2e3b766ae5479184f54d67abb54184314724c672d983119f478b88d651bdc8f7
MD5 b7c38be4812241d1bb8837499693f3f1
BLAKE2b-256 a8d28f28a0866c1f491abc2a16c54ae00649a09aa707b03e4f30d9c6284e6e1e

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