Metadata-Version: 2.1
Name: validacoes_usuarios
Version: 1.0.1
Summary: Biblioteca para validação de senha e e-mail para segurança de dados dos usuários.
Home-page: https://github.com/AlaiSeide/validacoes_usuarios.git
Author: Alai Seide
Author-email: tenw313@gmail.com
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: wtforms
Requires-Dist: dnspython


# Validações de Usuários

**`validacoes_usuarios`** é uma biblioteca Python projetada para facilitar a validação de senhas e e-mails com critérios de segurança. Ela ajuda a garantir que as senhas sejam seguras e evita o uso de e-mails temporários e domínios não confiáveis.

## Índice

1. [Instalação](#instalação)
2. [Como Usar](#como-usar)
3. [Funções Principais](#funções-principais)
4. [Exemplo Completo de Uso](#exemplo-completo-de-uso)
5. [Testes](#testes)
6. [Contribuição](#contribuição)
7. [Licença](#licença)

---

## Instalação

Para instalar o pacote, você pode usar o pip. No terminal, execute:

```bash
pip install validacoes_usuarios
```

Certifique-se de que você possui o Python 3.8 ou superior.

---

## Como Usar

Após instalar o pacote, importe as funções desejadas no seu código. As funções estão disponíveis para validação de senha, verificação de e-mails temporários e validação de domínio de e-mails.

Exemplo de uso básico:

```python
from validacoes_usuarios import validar_senha, validar_email_temporario, validar_email_dns

# Validando uma senha
try:
    validar_senha("SenhaSegura123!", username="usuario", email="usuario@exemplo.com")
    print("Senha válida.")
except ValidationError as e:
    print(f"Erro: {e}")
```

---

## Funções Principais

Abaixo estão as funções principais oferecidas pela biblioteca:

### `validar_senha(senha, username=None, email=None)`

Valida a segurança de uma senha de acordo com critérios específicos, como letras maiúsculas, minúsculas, números e caracteres especiais.

- **Parâmetros**:
  - `senha` (str): A senha que você deseja validar.
  - `username` (str, opcional): Nome de usuário para evitar que esteja contido na senha.
  - `email` (str, opcional): E-mail do usuário para evitar partes do e-mail na senha.

- **Exemplo**:

  ```python
  validar_senha("SenhaSegura123!", username="usuario", email="usuario@exemplo.com")
  ```

### `validar_email_temporario(email)`

Verifica se o e-mail pertence a um domínio temporário proibido.

- **Parâmetros**:
  - `email` (str): O e-mail a ser verificado.

- **Exemplo**:

  ```python
  validar_email_temporario("teste@mailinator.com")
  ```

### `validar_email_dns(email)`

Verifica se o domínio do e-mail possui registros MX, indicando que ele pode receber e-mails.

- **Parâmetros**:
  - `email` (str): O e-mail que você deseja verificar.

- **Exemplo**:

  ```python
  validar_email_dns("usuario@exemplo.com")
  ```

---

## Exemplo Completo de Uso

Aqui está um exemplo integrando todas as funções do pacote em um único script:

```python
from validacoes_usuarios import validar_senha, validar_email_temporario, validar_email_dns

# Validando senha
try:
    validar_senha("SenhaSegura123!", username="usuario", email="usuario@exemplo.com")
    print("Senha válida.")
except ValidationError as e:
    print(f"Erro: {e}")

# Validando e-mail temporário
try:
    validar_email_temporario("teste@mailinator.com")
    print("E-mail permitido.")
except ValidationError as e:
    print(f"Erro: {e}")

# Validando se o e-mail pode receber mensagens
try:
    validar_email_dns("usuario@exemplo.com")
    print("E-mail com domínio válido.")
except ValidationError as e:
    print(f"Erro: {e}")
```

---

## Testes

Para rodar os testes e garantir que a biblioteca está funcionando corretamente, execute:

```bash
python -m unittest discover -s test
```

Isso rodará todos os testes da biblioteca, garantindo que as validações de senha e e-mail estão funcionando conforme o esperado.

---

## Contribuição

Contribuições são bem-vindas! Para contribuir:

1. Faça um fork do repositório.
2. Crie uma nova branch (`git checkout -b feature-minha-melhoria`).
3. Faça suas alterações e commit (`git commit -am 'Minha melhoria'`).
4. Envie para o branch (`git push origin feature-minha-melhoria`).
5. Crie um Pull Request.

---

## Licença

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