Metadata-Version: 2.4
Name: personallize
Version: 1.3.2
Summary: Biblioteca Python com ferramentas essenciais para desenvolvimento de RPA e ML, oferecendo recursos para conexão com bancos de dados, logging e utilitários.
Project-URL: Homepage, https://github.com/MiguelTenorio42/personallize
Project-URL: Bug Reports, https://github.com/MiguelTenorio42/personallize/issues
Project-URL: Source, https://github.com/MiguelTenorio42/personallize
Project-URL: Documentation, https://github.com/MiguelTenorio42/personallize#readme
Author-email: Miguel Tenório <deepydev42@gmail.com>
Maintainer-email: Miguel Tenório <deepydev42@gmail.com>
License: MIT
License-File: LICENSE
Keywords: database,logging,ml,orm,performance,rpa,sqlalchemy
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Database
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: System :: Logging
Requires-Python: >=3.11
Requires-Dist: colorama>=0.4.4
Requires-Dist: loguru>=0.7.0
Requires-Dist: playwright>=1.1.0
Requires-Dist: psutil>=5.8.0
Requires-Dist: psycopg2-binary>=2.9.0
Requires-Dist: pymysql>=1.0.0
Requires-Dist: pyodbc>=4.0.0
Requires-Dist: rich>=12.0.0
Requires-Dist: sqlalchemy>=2.0.0
Requires-Dist: tzdata>=2021.1
Provides-Extra: browser
Requires-Dist: playwright>=1.40.0; extra == 'browser'
Requires-Dist: requests>=2.32.0; extra == 'browser'
Description-Content-Type: text/markdown

# Personallize

Uma biblioteca Python com ferramentas essenciais para desenvolvimento de RPA (Robotic Process Automation) e ML (Machine Learning), oferecendo recursos para conexão com bancos de dados, logging e utilitários.

## ✨ Funcionalidades

- 🔌 **Dialetic**: Conexões SQLAlchemy para SQLite, MySQL, PostgreSQL e SQL Server
- 📊 **Logging**: Sistema de logging simples e avançado
- 🌐 **BrowserService** (extra opcional): Captura de cookies/token via Playwright e montagem de `requests.Session`

## 📋 Requisitos

- Python >= 3.11

## 📦 Instalação

### Com uv (recomendado)

```bash
uv add personallize
```

### Com pip

```bash
pip install personallize
```

### Para desenvolvimento

```bash
uv pip install -e ".[dev]"
```

## 🚀 Uso

### 🔌 Conexão com Banco de Dados

```python
from sqlalchemy import text

from personallize.dialetic.sqlite import SqliteConnection

# SQLite (arquivo; se não passar path, cria por padrão em ./data/<nome_da_pasta>.db)
with SqliteConnection("data/app.db") as db:
    db.session.execute(text("SELECT 1"))

# Acessar engine diretamente
engine = SqliteConnection("data/app.db").get_engine()
```

### 📊 Sistema de Logging

```python
from personallize.loggers import ConsoleFormats, FileFormats, LogManager, RetentionOptions

manager = LogManager()

manager.config.console({
    "icon_status": "active",
    "show_debug": True,
    "format": ConsoleFormats.MEDIUM,
    "enqueue": True,
})

manager.config.file({
    "log_file": "logs/my_app",
    "format": FileFormats.FULL,
    "retention": RetentionOptions.ONE_WEEK,
    "rotation": "00:00",
    "enqueue": True,
})

log = manager.get_logger()
log.info("Aplicação iniciada")
log.error("Erro encontrado")
```

### 🌐 BrowserService (extra opcional)

Instale com o extra `browser`:

```bash
uv add "personallize[browser]"
```

```python
from personallize.browser_service import BrowserService

with BrowserService(base_url="https://seu-sistema.com", headless=True) as bs:
    bs.goto("https://seu-sistema.com/login")
    snap = bs.snapshot_auth()
    session = bs.build_requests_session(cookie_domain_filter="seu-sistema.com")
```

## 🔧 Desenvolvimento

### Executando testes

```bash
uv run pytest
```

### Linting

```bash
uv run ruff check .
```

## 📦 Publicação (PyPI) com uv

```bash
uv build
uv publish dist/*
```

## 📄 Licença

Este projeto está licenciado sob a Licença MIT - veja o arquivo [LICENSE](LICENSE) para detalhes.

## 👨‍💻 Autor

**Miguel Tenório**

- Email: `deepydev42@gmail.com`
- GitHub: [@MiguelTenorio42](https://github.com/MiguelTenorio42)

## 🤝 Contribuindo

Contribuições são bem-vindas! Por favor, sinta-se à vontade para submeter um Pull Request.
