Metadata-Version: 2.4
Name: revisopass
Version: 0.1.2
Summary: SDK para gerar quizzes de revisão a partir de páginas do Notion usando LLMs
Author: silvaleal
Author-email: me@silvaleal.dev
License: MIT License
Keywords: notion llm quiz study ai gemini revisopass
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: requests>=2.31.0
Requires-Dist: python-dotenv>=1.2.2
Requires-Dist: google-generativeai>=0.8.0
Dynamic: author
Dynamic: author-email
Dynamic: description
Dynamic: description-content-type
Dynamic: keywords
Dynamic: license
Dynamic: license-file
Dynamic: requires-dist
Dynamic: requires-python
Dynamic: summary

# RevisoPass SDK

> Biblioteca Python para gerar quizzes de revisão a partir de páginas do **Notion** usando **Modelos de Linguagem** (LLMs).

## Instalação

```bash
pip install revisopass
```

## Configuração

Crie um arquivo `.env` na raiz do seu projeto (use `.env.example` como referência):

```env
# LLMs
gemini_api_key=SUA_CHAVE_GEMINI

# NOTION
notion_key=SUA_CHAVE_NOTION
notion_version='2026-03-11'
notion_api_version='v1'
```

### Como obter as chaves:

1. **Gemini API Key**: Acesse o [Google AI Studio](https://aistudio.google.com/apikey)
2. **Notion Integration**: Crie uma integração em [Notion Developers](https://www.notion.so/my-integrations) e compartilhe a página desejada com a integração

## Uso Rápido

```python
from revisopass import RevisoPass
from revisopass.notion import NotionClient

from revisopass.llms import GeminiLLM

import os
from dotenv import load_dotenv

load_dotenv()

# LLM
gemini = GeminiLLM(os.getenv('gemini_api_key'))
gemini.setModel("gemini-3.1-flash-lite")

# Notion
notion_key = os.getenv('notion_key')
notion_block_id = 'your_block_id'
notion_client = NotionClient(notion_key)

# RevisoPass
reviso = RevisoPass(notion_client, gemini)
reviso.create(notion_block_id)
```

## Recursos

- ✅ Extrai conteúdo de páginas/blocos do Notion (headings, parágrafos, código, listas e sub-páginas)
- ✅ Formata automaticamente o conteúdo em Markdown
- ✅ Gera quizzes com **mínimo de 20 questões** de múltipla escolha
- ✅ Saída em **JSON** estruturado e válido
- ✅ Suporte extensível a outros LLMs (basta herdar da classe `LLM`)

## Extendendo para outros LLMs

```python
from revisopass.llms import LLM

class MeuLLM(LLM):
    def __init__(self, api_key):
        super().__init__(api_key)
        # Inicialize seu cliente aqui
    
    def generate(self, content: str) -> str:
        prompt = self.prompt(content)
        # Implemente a chamada à API do seu LLM
        return resultado_json
```

## Licença

[MIT](LICENSE) © RevisoPass
