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": "..."}
      ]
    }
  ]
}

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

Uploaded CPython 3.13Windows x86-64

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

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

grkmemory-1.4.3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (4.3 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

grkmemory-1.4.3-cp313-cp313-macosx_11_0_arm64.whl (673.2 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

grkmemory-1.4.3-cp313-cp313-macosx_10_13_x86_64.whl (686.7 kB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

grkmemory-1.4.3-cp312-cp312-win_amd64.whl (595.2 kB view details)

Uploaded CPython 3.12Windows x86-64

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

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

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

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

grkmemory-1.4.3-cp312-cp312-macosx_11_0_arm64.whl (678.3 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

grkmemory-1.4.3-cp312-cp312-macosx_10_13_x86_64.whl (690.5 kB view details)

Uploaded CPython 3.12macOS 10.13+ x86-64

grkmemory-1.4.3-cp311-cp311-win_amd64.whl (606.7 kB view details)

Uploaded CPython 3.11Windows x86-64

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

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

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

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

grkmemory-1.4.3-cp311-cp311-macosx_11_0_arm64.whl (678.2 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

grkmemory-1.4.3-cp311-cp311-macosx_10_9_x86_64.whl (693.2 kB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

grkmemory-1.4.3-cp310-cp310-win_amd64.whl (604.1 kB view details)

Uploaded CPython 3.10Windows x86-64

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

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

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

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

grkmemory-1.4.3-cp310-cp310-macosx_11_0_arm64.whl (682.4 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

grkmemory-1.4.3-cp310-cp310-macosx_10_9_x86_64.whl (698.2 kB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

File details

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

File metadata

  • Download URL: grkmemory-1.4.3-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 592.1 kB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for grkmemory-1.4.3-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 071bccb01f5d2902767ba3a2a260a5bdfdedddd7e439ee419accccb2894f7c2f
MD5 94a7c786f4a0141059e6b9ee45663e26
BLAKE2b-256 0e72b0fdf12fc781fdc876dc9ee0d5138d530805a79133038610dd717d4b9246

See more details on using hashes here.

File details

Details for the file grkmemory-1.4.3-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for grkmemory-1.4.3-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 0ad7e827399b298d435f9d570eac2091382c59e410c3e4750ace23848944e790
MD5 b494e6f47b35b85a22116f214c8dee7f
BLAKE2b-256 9e9ba883d1eb172afbbfe9782473146309647501f62cf8cf6a51ea8cf2734215

See more details on using hashes here.

File details

Details for the file grkmemory-1.4.3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for grkmemory-1.4.3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 5d8953e3b146f61e142c6e00e3dff83e145960c34e27b31a331d62f86f4ed1ce
MD5 abd79c597c8c9e4bee46bfd27db0e863
BLAKE2b-256 6de6238524c5d3c297f433942058898ac69c808387fd0402d91534dbc683b830

See more details on using hashes here.

File details

Details for the file grkmemory-1.4.3-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for grkmemory-1.4.3-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 185bc584bc7f95ad32cf651ecd904c73865cf70affe3c5bb714dd8ae66010d7d
MD5 3d21e48aafc9761affd2fc52b4167650
BLAKE2b-256 6f3a9477f823f5bfaaa303536e7b387c5787138c70c05194e9b04b22b6afcf83

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for grkmemory-1.4.3-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 5dd43139fd3fb6c102bb1083bfad0f8dbe8e86131112cbdf32e495b5e2ee5888
MD5 dc5a758b7fce49466cffeade5ceb8c94
BLAKE2b-256 8a03f386c9d164c2759630f4a14316612ef8a3cb8387daa57f7b5597ba2825dd

See more details on using hashes here.

File details

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

File metadata

  • Download URL: grkmemory-1.4.3-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 595.2 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for grkmemory-1.4.3-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 d800c30c794514db5135590c50f34c74a21301d50a6e184e41fe343a11447c0d
MD5 309faa01d7680909e6cd1524d2890019
BLAKE2b-256 a7dae069b7fade6e1d8a8f0157b2741fed28665de3d6d6cc5b1b2d268b88d903

See more details on using hashes here.

File details

Details for the file grkmemory-1.4.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for grkmemory-1.4.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 6edbf11693273118a6c79329e23be89c3810d373047e56a52fffc3246a6c6ec2
MD5 9f3101b35571cca80e0f04d9fab475ef
BLAKE2b-256 f0b3fd3b9ae30a18c7ea5c293a53e12a76947f80f5ab748c1952d9282dd1296b

See more details on using hashes here.

File details

Details for the file grkmemory-1.4.3-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for grkmemory-1.4.3-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 062b3cae6923ff78783ebd199a45ff4542f0c166836952d485da69c441f56feb
MD5 44cef358e134914722d4104ea10d1f93
BLAKE2b-256 fb0f8981815dcde40c93e7e53ed7f5235192ed95ffe01353b5d888cd76af19e4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for grkmemory-1.4.3-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 96b6289997a803125d3b488adc4bdac3ea57bd0f977c197b7033a22c2beaf894
MD5 dc095d7bdb66c7c967c7dfb1df5bc02f
BLAKE2b-256 5affb9ea4a000f4fc30fcd05f1d7d3ff3280ccd496fea859c526d0f7b8d00ebe

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for grkmemory-1.4.3-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 215a186a09ab9cdab7c2bf661448137a2a42b08efc724d0a744b7e2c4f4e7b30
MD5 a200251485e468a99a28f4aace3824a3
BLAKE2b-256 6e8912c7a47042e06fecab749f88bee8def38df98cf29719adc51af35fece476

See more details on using hashes here.

File details

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

File metadata

  • Download URL: grkmemory-1.4.3-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 606.7 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for grkmemory-1.4.3-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 11b53a0046d327929e828aca02ab341402c07a0dd01ce6c2b7fd402759784f68
MD5 d85762d29d4f93c53a9ccbca265ccf00
BLAKE2b-256 a6d9df5c7a9597f183974ce274b0ef955543d0fabd51e549cf0306fec1f04166

See more details on using hashes here.

File details

Details for the file grkmemory-1.4.3-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for grkmemory-1.4.3-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 d0c4cae987a2ad48dd5299d4f744d3b5cd23cc212c84cb2d36469f60bbe26ec8
MD5 43055d1654a0e5a38169645474ab4c73
BLAKE2b-256 2cc88c21fb8d9530e5c908bea364d73d20993db5b38dd77b95bf613215c5f012

See more details on using hashes here.

File details

Details for the file grkmemory-1.4.3-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for grkmemory-1.4.3-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 08301f50767abc1877b8a75bf13965bacfa5c75c06d077591822a50619b64e68
MD5 72462a04e351903d5444a1ce94593b07
BLAKE2b-256 ca0113167cb89e8715cac334ee42710a1f69a4173a856e61ac88a2b55b1956b7

See more details on using hashes here.

File details

Details for the file grkmemory-1.4.3-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for grkmemory-1.4.3-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e4253386f824735bcb0436670797ebcdeb0dea673275c28791cae9085456c5ca
MD5 7d1dcbfa46d6a2c4b89474ee62ec1ac2
BLAKE2b-256 0921523d56abf62407b469734b42775d6fcccd4896ed8acb983e29f5ee2ec70f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for grkmemory-1.4.3-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 a47195a3721f4215851760174ea6a958ee5f5a6fefe1c1aa2c2637db0e8c1278
MD5 8ab395e08f863e52c96b1f75d7523c3f
BLAKE2b-256 627ae6091d58cdc31d42a90be08384caef1c3837fd940685a428a4e5dccb9535

See more details on using hashes here.

File details

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

File metadata

  • Download URL: grkmemory-1.4.3-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 604.1 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for grkmemory-1.4.3-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 77a874e2b588ecb7ca3d9ed75976ae1482ec994d35b0f7f054d463470696ce60
MD5 d8e672df15eac3d7df6bf5d6efec1ba1
BLAKE2b-256 654fb7d5c1ac72935f19670e3ef43faf7238b03a7fa087738e51d7e94e0cb2d5

See more details on using hashes here.

File details

Details for the file grkmemory-1.4.3-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for grkmemory-1.4.3-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 ba26221c39c8581e62713cb1819a8b2158e1b138f98083f9eacbd2d4e16b533c
MD5 68237f634aaf7d9b680ed0f7bfbaaa69
BLAKE2b-256 85e400ef79d2f7112e1363d4cf0faa4c06c2bd499a21fb43a3daee926dbe7130

See more details on using hashes here.

File details

Details for the file grkmemory-1.4.3-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for grkmemory-1.4.3-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 6b40381e70eb18076b76476873faa11c81c48b2f628488a9d8c9cf96d00bf588
MD5 b8c1f85d276709fd62006ba4bcdaf0f6
BLAKE2b-256 ba6114057a37e4f40d90efcd54e58caca84a0b89d2411348823a60a7bdeee7b6

See more details on using hashes here.

File details

Details for the file grkmemory-1.4.3-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for grkmemory-1.4.3-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 52df4b4be22eb6595ad398409b5bc1c4083b400a4db3c35bb4c5746bab099006
MD5 6eb36959fba78290e3f1fd4deb55eea9
BLAKE2b-256 2a9331e54417c1a31e1a93bbf7520069c68470b8673a373c2ffc4b08c9370e96

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for grkmemory-1.4.3-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 3885c7abf4e8d7bd7c4c7ad86197fe8cded226ee66a0fbb2a6f61c05e2848028
MD5 b27ea9758c499620c851303a4da14f7f
BLAKE2b-256 c234c05a880cd5142c7659d9d0c3ad149a851ccefe96921651dce15ed349bd82

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