Metadata-Version: 2.4
Name: cyberlink-extract
Version: 0.1.0
Summary: Extrai e-mails, URLs, IPs, telefones, CPFs e CNPJs de planilhas XLSX, agrupados por id.
Project-URL: Homepage, https://github.com/italofds/cyberlink-extract
Project-URL: Repository, https://github.com/italofds/cyberlink-extract
Project-URL: Issues, https://github.com/italofds/cyberlink-extract/issues
Author-email: Ítalo Santos <italofds.dev@gmail.com>
License-Expression: MIT
License-File: LICENSE
Keywords: cnpj,cpf,excel,extracao,osint,regex,xlsx
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Information Technology
Classifier: Natural Language :: Portuguese (Brazilian)
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Office/Business :: Financial :: Spreadsheet
Classifier: Topic :: Text Processing :: Filters
Requires-Python: >=3.8
Requires-Dist: openpyxl>=3.0
Provides-Extra: dev
Requires-Dist: build>=1.0; extra == 'dev'
Requires-Dist: pytest>=7.0; extra == 'dev'
Requires-Dist: twine>=5.0; extra == 'dev'
Description-Content-Type: text/markdown

# cyberlink-extract

Extrai **e-mails, URLs, IPs, telefones, CPFs e CNPJs** da coluna de histórico de
uma planilha XLSX, agrupa as ocorrências por id e gera um arquivo Excel para
cada tipo encontrado.

## Instalação

```bash
pip install cyberlink-extract
```

## Uso

```bash
cyberlink-extract planilha.xlsx
```

Com todos os parâmetros:

```bash
cyberlink-extract planilha.xlsx \
    --col-id B \
    --col-hist H \
    --linha-inicio 7 \
    --saida ./resultados
```

| Opção | Padrão | Descrição |
|---|---|---|
| `arquivo` | — | Caminho do `.xlsx` de entrada (obrigatório) |
| `-i`, `--col-id` | `B` | Coluna do id |
| `-c`, `--col-hist` | `H` | Coluna do histórico |
| `-l`, `--linha-inicio` | `7` | Primeira linha lida |
| `-o`, `--saida` | `.` | Diretório de saída |
| `-q`, `--quiet` | — | Omite o resumo final |

Também funciona como módulo:

```bash
python -m cyberlink_extract planilha.xlsx
```

## Saída

Um arquivo por tipo, com as colunas `id` e o nome do tipo:

- `OCORRENCIA-EMAIL.xlsx`
- `OCORRENCIA-URL.xlsx`
- `OCORRENCIA-IP.xlsx`
- `OCORRENCIA-PHONE.xlsx`
- `OCORRENCIA-CPF.xlsx`
- `OCORRENCIA-CNPJ.xlsx`

Cada valor aparece **uma única vez por id**, mas o mesmo valor pode se repetir
em ids diferentes.

## Normalização

CPF, CNPJ e telefone são gravados apenas com dígitos, sem pontuação. Telefones
com código de país (`+55`) têm o prefixo removido. E-mails e URLs são
convertidos para minúsculas.

## Uso como biblioteca

```python
from cyberlink_extract import processar_planilha, salvar_todos

resultados, linhas = processar_planilha("planilha.xlsx", col_id="B",
                                        col_hist="H", linha_inicio=7)
print(resultados["CPF"])  # {'id1': {'12345678900': None}, ...}

salvar_todos(resultados, "./resultados")
```

## Licença

MIT
