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.4.6-cp313-cp313-win_amd64.whl (609.6 kB view details)

Uploaded CPython 3.13Windows x86-64

grkmemory-1.4.6-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (4.4 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

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

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

grkmemory-1.4.6-cp313-cp313-macosx_10_13_x86_64.whl (708.8 kB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

grkmemory-1.4.6-cp312-cp312-win_amd64.whl (612.6 kB view details)

Uploaded CPython 3.12Windows x86-64

grkmemory-1.4.6-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (4.5 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

grkmemory-1.4.6-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl (4.4 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

grkmemory-1.4.6-cp312-cp312-macosx_26_0_arm64.whl (702.2 kB view details)

Uploaded CPython 3.12macOS 26.0+ ARM64

grkmemory-1.4.6-cp312-cp312-macosx_10_13_x86_64.whl (712.5 kB view details)

Uploaded CPython 3.12macOS 10.13+ x86-64

grkmemory-1.4.6-cp311-cp311-win_amd64.whl (623.2 kB view details)

Uploaded CPython 3.11Windows x86-64

grkmemory-1.4.6-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (4.4 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

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

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

grkmemory-1.4.6-cp311-cp311-macosx_10_9_x86_64.whl (714.3 kB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

grkmemory-1.4.6-cp310-cp310-win_amd64.whl (620.5 kB view details)

Uploaded CPython 3.10Windows x86-64

grkmemory-1.4.6-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (4.2 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

grkmemory-1.4.6-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl (4.2 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

grkmemory-1.4.6-cp310-cp310-macosx_10_9_x86_64.whl (719.2 kB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

File details

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

File metadata

  • Download URL: grkmemory-1.4.6-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 609.6 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.4.6-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 966b70f7ebe9be25230c56274a1e2fd56eff71a638205a6370a023704f13c5cb
MD5 e03c541bf20f6f3961b3c96aec687101
BLAKE2b-256 cc84357436672485ea6d5857e6b9925ba22e5dba031f0b98d6dfe842be767eac

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for grkmemory-1.4.6-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 2b33a94c5dffac7530b6e357caa09da2f5da0f7cff0c697782db6d1614cbe9c7
MD5 6fb8be8993f9265def962e442591962f
BLAKE2b-256 e2df633c06327527b2106a26d9f2426483aa9b63672d5d87b8a6446f39f6be97

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for grkmemory-1.4.6-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 ceb8c2927ea721e534b2fd6ae01ec6e035852ec8c65d193fc99546f3da192238
MD5 c220415897b8d2c0ca3f07d98410e8d9
BLAKE2b-256 06968ee456987d6df2e8f889e91fde081cc15a8bf865df344885e8ef685cce79

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for grkmemory-1.4.6-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 048a4238afed55228ba5da679f8c770362825250784817b60fc178aba68ccf60
MD5 3d59215720f875314efeec283fd07856
BLAKE2b-256 6a705c2ede688b0086f3a8975a72cfcebd84d9a7aab9e3ddf55f1f09eb3b508d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: grkmemory-1.4.6-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 612.6 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.4.6-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 9fb285c95d8207b98544f92c41a7dceda8e1be3c454867b3a51870235c8d927c
MD5 f71f0ca8ac0a8ec0399d62ccb621bdc1
BLAKE2b-256 021233a9c23da5669e1b658834cceb612e5ebeca0bab5c8abdea2dec3518d920

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for grkmemory-1.4.6-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 9e61b24e38ada9798059b3b2e4d7ff1561aa9b6a9c1409c99b21d135c98be017
MD5 b312858efa0e3b01e415c1dcc367b087
BLAKE2b-256 ad436c0515fa49bb3f086e75f2c4b5be4b936bd3c09d2df95c55ba7f04f7a532

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for grkmemory-1.4.6-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 c9c2fdc0fbf185392736072e42f73fadc23007085840ce7991e01b4f052f49f0
MD5 87166d82157cb610a6cc0978785b849b
BLAKE2b-256 7fde73ee3bebcdd02b09e313a987d2e3be0d1236de50e48a76672a1042f5c63a

See more details on using hashes here.

File details

Details for the file grkmemory-1.4.6-cp312-cp312-macosx_26_0_arm64.whl.

File metadata

File hashes

Hashes for grkmemory-1.4.6-cp312-cp312-macosx_26_0_arm64.whl
Algorithm Hash digest
SHA256 b6c7b2e5590a949dc420840e187459dad6a1a807be999c2967a0a000fee49447
MD5 d0d58e4bd29048c46f5dd6e89b5181c7
BLAKE2b-256 02354624495d5ddbd7dff4e956697dcde4938fb284d2553192bd1530a6d01229

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for grkmemory-1.4.6-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 d096791301d5bba6fe0a6f12efe15a72d32ee96b946a21a4509e4464a88adcc2
MD5 3e05cacc529c87d62df0d669ba27f2e2
BLAKE2b-256 d85265ddd1fa7cf762967e99095a0cbeb217c019c5b55cd40182f91781045ea5

See more details on using hashes here.

File details

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

File metadata

  • Download URL: grkmemory-1.4.6-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 623.2 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.4.6-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 a69316dca0881a69afc9b710ad8d656f4f119890a96272c5b268cbedf0d8b253
MD5 9e4c34fc27b671650f94a836c107e391
BLAKE2b-256 62cd3039e3b67dd01bee3d18d545bd381d9d4286bfcc80d66ff8320c706f702c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for grkmemory-1.4.6-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 f1761e187bb84ab1b9c7e4bf12bb1f55f7f94ad8544b03b9f251cd7d40a7a946
MD5 bf85a4720f5c040258f7de5e90055b00
BLAKE2b-256 f6086b05a2c5c693231abe34dee3c2203f2a7ac1d8774483ef3f7f675e035756

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for grkmemory-1.4.6-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 fc74c0e935a8a77c69dbe781f88459e18183a85f7aea7b21545cf1ccf1749511
MD5 adf04e4a1583e14f696ed39a72f575c5
BLAKE2b-256 f9e152fb08adf0c2d27b486ab6ee5441ad5b63fe580b3f3a324933e0e94f8999

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for grkmemory-1.4.6-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 a18e619ecd27aa3c7b225cd4a6d058651979ffc74bda432fd66bcb32d24bd4b9
MD5 dfa38aad7219ee95316ff507f728027f
BLAKE2b-256 18f0cfe15d5068fec5d49e031d4e3034669abef4368741b4e9de72d68fcf7a95

See more details on using hashes here.

File details

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

File metadata

  • Download URL: grkmemory-1.4.6-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 620.5 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.4.6-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 bf691b1ee5c8aff4639b92592b67f30d17a65d604d7862f929bccb318ae7cb31
MD5 324a6f6aebd5f06bfd891c8ae4314813
BLAKE2b-256 e1200f5c984b166ac8ce9ea702d8ab27b9fcaee8bc7c93fca3f8e891edf3fff7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for grkmemory-1.4.6-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 1624ded0eecb26994d0bc2fb9dd6833657304e220776b4a1b3ef6d599c0c6fe1
MD5 58ff9658601b9ef252fa3c54f34163a8
BLAKE2b-256 447c8dc996bf1bdfae0536544796584073e582f5141c9dda5b09b9edfd57b84a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for grkmemory-1.4.6-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 062364ffdca3394736d04c427fc5f6891ff65a9ef9da3deac49be847a4a1abee
MD5 3f051f5cb58ae5cfb2f0ac14cc7f3c18
BLAKE2b-256 3ce85dafc89ebfe2acaeee97d1f579741a55182b68ba8d12d4b23d58df7fc9c1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for grkmemory-1.4.6-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 7104a3c5aaae4549bedad40aeaa108d1223302c463a031e960c0efaf7ca04f93
MD5 88156c0d8a7b3ef132d1db3ddf194263
BLAKE2b-256 5a35b1c337dbf02d524b3e67b195928963d92efcb3b91dddff509e43d1a7c903

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