rpa-suite 0.4.1__py3-none-any.whl → 0.4.4__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
rpa_suite/clock/waiter.py CHANGED
@@ -1,8 +1,6 @@
1
1
  from typing import Callable, Any
2
2
  import time
3
- from rpa_suite.log.loggin import logging_decorator
4
3
 
5
- @logging_decorator
6
4
  def wait_for_exec(
7
5
  wait_time: int,
8
6
  fn_to_exec: Callable[..., Any],
@@ -11,13 +9,20 @@ def wait_for_exec(
11
9
  ) -> dict:
12
10
 
13
11
  """
14
- Função temporizadora, aguarda um valor em segundos para executar a função que é passada como argumento. \n
12
+ Função temporizadora, aguardar um valor em ``segundos`` para executar a função do argumento.
15
13
 
16
- use no formato wait_for_exec(time_seconds, my_function_execute, args_function)
14
+ Parametros:
15
+ ----------
16
+ `wait_time: int` - (segundos) representa o tempo que deve aguardar antes de executar a função passada como argumento.
17
17
 
18
- Retorno sendo (dicionário):
19
- - 'success': bool
18
+ ``fn_to_exec: function`` - (função) a ser chamada depois do tempo aguardado, se houver parametros nessa função podem ser passados como próximos argumentos desta função em ``*args`` e ``**kwargs``
19
+
20
+ Retorno:
21
+ ----------
22
+ >>> type:dict
23
+ * 'success': bool - representa se ação foi realizada com sucesso
20
24
  """
25
+
21
26
  # Variaveis locais
22
27
  waiter_result: dict = {
23
28
  'success': bool
@@ -3,9 +3,7 @@ from email.mime.multipart import MIMEMultipart
3
3
  from email.mime.text import MIMEText
4
4
  from email.mime.base import MIMEBase
5
5
  from email import encoders
6
- from rpa_suite.log.loggin import logging_decorator
7
6
 
8
- @logging_decorator
9
7
  def send_email(
10
8
  email_from: str,
11
9
  pass_from: str,
@@ -18,18 +16,21 @@ def send_email(
18
16
  ) -> dict:
19
17
 
20
18
  """
21
- Função responsavel por enviar emails (SMTP), aceita lista de destinatários e possibilidade
22
- de anexar arquivos. \n
19
+ Função responsavel por enviar emails ``(SMTP)``, aceita ``lista de destinatários`` e possibilidade
20
+ de ``anexar arquivos``. \n
23
21
 
24
- Retorna um dicionário com todas informações que podem ser necessarias sobre os emails.\n
25
- Sendo respectivamente: \n
26
- - se houve pelo menos um envio com sucesso
27
- - lista de todos emails parametrizados para envio
28
- - lista de todos emails validos para envio
29
- - lista de todos emails invalidos para envio
30
- - quantidade efetiva que foi realizado envio
31
- - se anexos
32
- - quantos anexos foram inseridos
22
+ Retorno:
23
+ ----------
24
+ >>> type:dict
25
+ um dicionário com todas informações que podem ser necessarias sobre os emails.
26
+ Sendo respectivamente:
27
+ * 'success': bool - se houve pelo menos um envio com sucesso
28
+ * 'all_mails': list - lista de todos emails parametrizados para envio
29
+ * 'valid_mails': list - lista de todos emails validos para envio
30
+ * 'invalid_mails': list - lista de todos emails invalidos para envio
31
+ * 'qt_mails_sent': int - quantidade efetiva que foi realizado envio
32
+ * 'attchament': bool - se há anexos
33
+ * 'qt_attach': int - quantos anexos foram inseridos
33
34
  """
34
35
 
35
36
  # Variaveis locais
rpa_suite/file/counter.py CHANGED
@@ -1,7 +1,5 @@
1
1
  import os
2
- from rpa_suite.log.loggin import logging_decorator
3
2
 
4
- @logging_decorator
5
3
  def count_files(
6
4
  dir_to_count: list[str],
7
5
  type_extension: str = '*'
@@ -10,9 +8,17 @@ def count_files(
10
8
  """
11
9
  Função responsavel por fazer a contagem de arquivos dentro de uma pasta, considera subpastas para fazer a contagem, busca por tipo de arquivo, sendo todos arquivos por default. \n
12
10
 
13
- Retorno sendo (dicionário):
14
- - 'success': bool \n
15
- - 'qt': int \n
11
+ Parametros:
12
+ ----------
13
+ ``dir_to_count: list`` - deve ser uma lista, aceita mais de um caminho para contar arquivos.
14
+ ``type_extension: str`` - deve ser uma string com o formato/extensão do tipo de arquivo que deseja ser buscado para contagem, se vazio por default sera usado ``*`` que contará todos arquivos.
15
+
16
+
17
+ Retorno:
18
+ ----------
19
+ >>> type:dict
20
+ * 'success': bool - representa se ação foi realizada com sucesso
21
+ * 'qt': int - numero que representa a quantidade de arquivos que foram contados
16
22
  """
17
23
 
18
24
  # Variaveis locais
@@ -1,16 +1,20 @@
1
1
  import os, shutil
2
2
  import time
3
- from rpa_suite.log.loggin import logging_decorator
4
3
 
5
- @logging_decorator
6
4
  def create_temp_dir(path_to_create: str = 'default') -> dict:
7
5
 
8
6
  """
9
7
  Função responsavel por criar diretório temporário para trabalhar com arquivos e etc. \n
10
8
 
11
- retorno sendo (dicionário):
12
- - 'success': bool
13
- - 'path_created': str
9
+ Parametros:
10
+ ----------
11
+ ``path_to_create: str`` - deve ser uma string com o path completo apontando para a pasta onde deve ser criada a pasta temporaria, se estiver vazio sera usado valor ``default`` que criará pasta no diretório atual onde o arquivo contendo esta função foi chamada.
12
+
13
+ Retorno:
14
+ ----------
15
+ >>> type:dict
16
+ * 'success': bool - representa se ação foi realizada com sucesso
17
+ * 'path_deleted': str - path do diretório que foi criado no processo
14
18
 
15
19
  """
16
20
 
@@ -56,17 +60,20 @@ def create_temp_dir(path_to_create: str = 'default') -> dict:
56
60
  return temp_dir_result
57
61
 
58
62
 
59
- @logging_decorator
60
63
  def delete_temp_dir(path_to_delete: str = 'default') -> dict:
61
64
 
62
65
  """
63
66
  Função responsavel por deletar diretório temporário no caminho especificado. \n
64
67
 
65
- Caminho default sendo o caminho do arquivo onde esta sendo executado. \n
68
+ Parametros:
69
+ ----------
70
+ ``path_to_delete: str`` - deve ser uma string com o path completo apontando para a pasta onde deve ser deletada a pasta temporaria, se estiver vazio sera usado valor ``default`` que buscará pasta no diretório atual onde o arquivo contendo esta função foi chamada.
66
71
 
67
- retorno sendo (dicionário):
68
- - 'success': bool
69
- - 'path_deleted': str
72
+ Retorno:
73
+ ----------
74
+ >>> type:dict
75
+ * 'success': bool - representa se ação foi realizada com sucesso
76
+ * 'path_deleted': str - path do diretório que foi excluido no processo
70
77
 
71
78
  """
72
79
 
rpa_suite/log/loggin.py CHANGED
@@ -8,6 +8,11 @@ def logging_decorator(
8
8
  """
9
9
  Função responsavel por exibir mensagem de log no console para funções que são chamadas. \n
10
10
  Exibe nome da função, e o resultado da função em caso de retorno, sem retorno devolve None.
11
+
12
+ Retorno:
13
+ ----------
14
+ Uma função ``wrapper`` com decoração ``@logger.catch`` do python que recebeu:
15
+ * ``*args e **kwargs`` nos parametros de chamada como argumento para resultar no Log.
11
16
  """
12
17
 
13
18
  @logger.catch
@@ -0,0 +1,70 @@
1
+ from colorama import Fore, Back, Style
2
+ from typing import Any
3
+
4
+ # Windows bash colors
5
+ class Colors():
6
+ black = f'{Fore.BLACK}'
7
+ blue = f'{Fore.BLUE}'
8
+ green = f'{Fore.GREEN}'
9
+ cyan = f'{Fore.CYAN}'
10
+ red = f'{Fore.RED}'
11
+ magenta = f'{Fore.MAGENTA}'
12
+ yellow = f'{Fore.YELLOW}'
13
+ white = f'{Fore.WHITE}'
14
+ default = f'{Fore.WHITE}'
15
+
16
+
17
+ def success_print(string_text: str, color=Colors.green) -> None:
18
+ """
19
+ Print que indica ``SUCESSO``. Personalizado com a cor Verde \n
20
+
21
+ Retorno:
22
+ ----------
23
+ >>> type:None
24
+ """
25
+ return print(f'{color} {string_text} {Colors.default}')
26
+
27
+ def alert_print(string_text: str, color=Colors.yellow) -> None:
28
+ """
29
+ Print que indica ``ALERTA``. Personalizado com a cor Amarelo \n
30
+ Retorno:
31
+ ----------
32
+ >>> type:None
33
+ """
34
+ return print(f'{color} {string_text} {Colors.default}')
35
+
36
+ def info_print(string_text: str, color=Colors.cyan) -> None:
37
+ """
38
+ Print que indica ``INFORMATIVO``. Personalizado com a cor Ciano \n
39
+ Retorno:
40
+ ----------
41
+ >>> type:None
42
+ """
43
+ return print(f'{color} {string_text} {Colors.default}')
44
+
45
+ def error_print(string_text: str, color=Colors.red) -> None:
46
+ """
47
+ Print que indica ``ERRO``. Personalizado com a cor Vermelho \n
48
+ Retorno:
49
+ ----------
50
+ >>> type:None
51
+ """
52
+ return print(f'{color} {string_text} {Colors.default}')
53
+
54
+ def magenta_print(string_text: str, color=Colors.magenta) -> None:
55
+ """
56
+ Print personalizado com a cor Magenta \n
57
+ Retorno:
58
+ ----------
59
+ >>> type:None
60
+ """
61
+ return print(f'{color} {string_text} {Colors.default}')
62
+
63
+ def blue_print(string_text: str, color=Colors.blue) -> None:
64
+ """
65
+ Print personalizado com a cor Azul \n
66
+ Retorno:
67
+ ----------
68
+ >>> type:None
69
+ """
70
+ return print(f'{color} {string_text} {Colors.default}')
@@ -1,7 +1,5 @@
1
1
  import email_validator
2
- from rpa_suite.log.loggin import logging_decorator
3
2
 
4
- @logging_decorator
5
3
  def valid_emails(
6
4
  email_list: list[str]
7
5
  ) -> dict:
@@ -9,24 +7,30 @@ def valid_emails(
9
7
  """
10
8
  Função responsavel por validar de forma rigorosa lista de emails usando a biblioteca email_validator. \n
11
9
 
12
- o Retorno será um dicionário. \n
13
- Sendo respectivamente: \n
14
- - lista de emails validos
15
- - lista de emails invalidos
16
- - boleano contendo falso pois nem todos emails são validos
17
- - quantidade de emails validos
18
- - quantidade de emails invalidos
19
- - mapa da validação de cada email (dicionário)
10
+ Paramentros:
11
+ ------------
12
+ ``email_list: list`` uma lista de strings contendo os emails a serem validados
13
+
14
+ Retorno:
15
+ ------------
16
+ >>> type: dict
17
+ Retorna um dicionário com os respectivos dados:
18
+ * 'success': bool - representa se a lista é 100% valida
19
+ * 'valid_emails': list - lista de emails validos
20
+ * 'invalid_emails': list - lista de emails invalidos
21
+ * 'qt_valids': int - quantidade de emails validos
22
+ * 'qt_invalids': int - quantidade de emails invalidos
23
+ * 'map_validation' - mapa da validação de cada email (dicionário)
20
24
  """
21
25
 
22
26
  # Variaveis locais
23
27
  mail_validation_result: dict = {
24
- 'emails_validos': list,
25
- 'emails_invalidos': list,
26
- 'todos_validaram_sucesso': bool,
27
- 'quantidade_emails_validos': int,
28
- 'quantidade_emails_invalidos': int,
29
- 'mapa_do_validador': list[dict]
28
+ 'success': bool,
29
+ 'valid_emails': list,
30
+ 'invalid_emails': list,
31
+ 'qt_valids': int,
32
+ 'qt_invalids': int,
33
+ 'map_validation': list[dict]
30
34
  }
31
35
 
32
36
 
@@ -52,12 +56,12 @@ def valid_emails(
52
56
 
53
57
  # Pós Tratamento
54
58
  mail_validation_result = {
55
- 'emails_validos': valid_emails,
56
- 'emails_invalidos': invalid_emails,
57
- 'todos_validaram_sucesso': len(invalid_emails) == 0,
58
- 'quantidade_emails_validos': len(valid_emails),
59
- 'quantidade_emails_invalidos': len(invalid_emails),
60
- 'mapa_do_validador': map_validation
59
+ 'valid_emails': valid_emails,
60
+ 'invalid_emails': invalid_emails,
61
+ 'success': len(invalid_emails) == 0,
62
+ 'qt_valids': len(valid_emails),
63
+ 'qt_invalids': len(invalid_emails),
64
+ 'map_validation': map_validation
61
65
  }
62
66
 
63
67
  # Retorno
@@ -1,32 +1,47 @@
1
- from rpa_suite.log.loggin import logging_decorator
2
1
 
3
- @logging_decorator
4
2
  def search_in(
5
- origin_text: str,
6
- searched_word: str,
7
- case_sensitivy: bool = True,
8
- search_by: str = 'string',
9
- ) -> dict:
3
+ origin_text: str,
4
+ searched_word: str,
5
+ case_sensitivy: bool = True,
6
+ search_by: str = 'string',
7
+ ) -> dict:
10
8
 
11
9
  """
12
10
  Função responsavel por fazer busca de uma string, sbustring ou palavra dentro de um texto fornecido. \n
13
11
 
14
- o parametro search_by aceita os valores: \n
12
+ Parametros:
13
+ -----------
14
+ ``origin_text: str`` \n
15
15
 
16
- - 'string' -> consegue encontrar um trecho de escrita solicitado. (default) \n
17
- - 'word' -> encontra apenas a palavra escrita por extenso exclusivamente. \n
16
+ * É o texto onde deve ser feita a busca, no formato string. \n
17
+
18
+ ``search_by: str`` aceita os valores: \n
19
+
20
+ * 'string' - consegue encontrar um trecho de escrita solicitado. (default) \n
21
+ * 'word' - encontra apenas a palavra escrita por extenso exclusivamente. \n
22
+ * 'regex' - encontrar padrões de regex, [ EM DESENVOLVIMENTO ...] \n
23
+
24
+ Retorno:
25
+ -----------
26
+ >>> type:dict
27
+ um dicionário com todas informações que podem ser necessarias sobre a validação.
28
+ Sendo respectivamente:
29
+ * 'is_found': bool - se o pattern foi encontrado em pelo menos um caso
30
+ * 'number_occurrences': int - representa o numero de vezes que esse pattern foi econtrado
31
+ * 'positions': list[set(int, int), ...] - representa todas posições onde apareceu o pattern no texto original
32
+
33
+ Sobre o `Position`:
34
+ -----------
35
+ >>> type: list[set(int, int), ...]
36
+ * no ``index = 0`` encontramos a primeira ocorrencia do texto, e a ocorrencia é composta por um PAR de numeros em um set, os demais indexes representam outras posições onde foram encontradas ocorrencias caso hajam.
18
37
 
19
- Retorno é um dicionário da seguinte forma:
20
- - encontrou: bool
21
- - numero de ocorrencias: int
22
- - posição inicial e final de cada ocorrencia: list[set(start; end), ...]
23
38
  """
24
39
 
25
40
  # Variaveis locais
26
41
  string_validator_result: dict = {
27
42
  'is_found': bool,
28
43
  'number_occurrences': int,
29
- 'positions_in_text': list[set]
44
+ 'positions': list[set]
30
45
  }
31
46
 
32
47
  # Pré tratamento
@@ -52,11 +67,13 @@ def search_in(
52
67
  searched_word_lower: str = searched_word.lower()
53
68
  string_validator_result['is_found'] = origin_text_lower.__contains__(searched_word_lower)
54
69
 
55
- """elif search_by == 'regex':
70
+ """
71
+ elif search_by == 'regex':
56
72
  # regex search
57
73
  pass
58
74
  else:
59
- print(f'por favor digite alguma forma de busca valida para a função, a função aceita: string, word e regex, como padrões de busca para fazer a pesquisa no texto original.')"""
75
+ print(f'por favor digite alguma forma de busca valida para a função, a função aceita: string, word e regex, como padrões de busca para fazer a pesquisa no texto original.')
76
+ """
60
77
 
61
78
  # Pós tratamento
62
79
  ...
@@ -0,0 +1,74 @@
1
+ Metadata-Version: 2.1
2
+ Name: rpa-suite
3
+ Version: 0.4.4
4
+ Summary: Conjunto de ferramentas essenciais para RPA com Python, que facilitam o dia a dia de desenvolvimento.
5
+ Author: Camilo Costa de Carvalho
6
+ Author-email: camilo.carvalho@triasoftware.com.br
7
+ License: MIT
8
+ Keywords: basic-tools,email-tools,email-validation,file-tools,simple-functions,rpa-tools,rpa-functions
9
+ Classifier: Development Status :: 3 - Alpha
10
+ Classifier: License :: OSI Approved :: MIT License
11
+ Classifier: Programming Language :: Python :: 3
12
+ Classifier: Programming Language :: Python :: 3.7
13
+ Classifier: Programming Language :: Python :: 3.8
14
+ Classifier: Programming Language :: Python :: 3.9
15
+ Description-Content-Type: text/markdown
16
+ License-File: LICENSE
17
+ Requires-Dist: loguru
18
+ Requires-Dist: colorama
19
+ Requires-Dist: email-validator
20
+
21
+ # Suite RPA:
22
+
23
+ ## Kit de ferramentas para o desenvolvimento do seu bot, automação ou projeto.
24
+
25
+ **Versatil**: Embora criado com foco no desenvolvimento de BOTs em RPA, as ferramentas são de uso geral, podem ser *aplicadas também em outros modelos de projetos além do RPA*.
26
+
27
+ **Simples**: Contruimos as ferramentas de maneira mais direta e acertiva possivel e usando apenas libs conhecidas no mercado, para melhor aproveitamento e performance possivel.
28
+
29
+ ## Objetivo:
30
+
31
+ Estamos tornando mais produtivo o desenvolvimento de *RPAs*, proporcionando funções prontas para usos comuns como:
32
+
33
+ - envio de emails (configurações já pré-montadas)
34
+ - validação de emails (limpeza e tratamento de listas)
35
+ - busca por palavras ou patterns em textos ou cadeias de string
36
+ - criação de pastas e arquivos temporarios e deleta-los com apenas um comando
37
+ - console com mensagens de melhor visualização com cores definidas para alerta, erro, informativo e sucesso.
38
+ - e muitas outras facilidades
39
+
40
+ ### Instalação:
41
+ >>> python -m pip install rpa-suite
42
+
43
+ ### Dependencias:
44
+ No setup do nosso projeto já estão inclusas as dependencias, só será necessario instalar nossa **Lib**, mas segue a lista das libs usadas:
45
+ - colorama
46
+ - loguru
47
+ - email-validator
48
+
49
+ ### Estrutura do modulo:
50
+ O modulo principal do rpa-suite é dividido em categorias, onde por sua vez tem os modulos com funções destinadas a cada tipo de tarefa.
51
+ - **rpa_suite**
52
+ - **clock**
53
+ - **waiter** - modulo com funções responsaveis por aguardar
54
+ - **email**
55
+ - **sender_smtp** - modulo com funções para envio de email SMPT
56
+ - **file**
57
+ - **counter** - modulo com funções responsaveis por contagens
58
+ - **temp_dir** - modulo com funções responsaveis por diretórios temporarios
59
+ - **log**
60
+ - **loggin** - modulo com funções responsaveis por gerar decoradores de de print para logs de execução
61
+ - **printer** - modulo com funções de print personalizados para notificações em prompt
62
+ - **validate**
63
+ - **mail_validator** - modulo com funções para validação de emails
64
+ - **string_validator** - modulo com funções para validação e varredura de strings / substrings / palavras
65
+
66
+ ### Versão do projeto:
67
+ Ultima versão release: **Alpha 0.4.3**
68
+ Data da ultima versão: 23/11/2023
69
+ Status: Em Desenvolvimento
70
+
71
+ ### Mais Sobre:
72
+
73
+ Você pode ver mais com mais detalhes no **Github**.
74
+ https://github.com/CamiloCCarvalho/rpa_suite
@@ -0,0 +1,20 @@
1
+ rpa_suite/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
+ rpa_suite/clock/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
3
+ rpa_suite/clock/waiter.py,sha256=CZyuQXRTxR2Be4mC7z_BxB6nPRXtLV2xw6f20HL_t9Q,1361
4
+ rpa_suite/email/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
5
+ rpa_suite/email/sender_smtp.py,sha256=50WRn0eb2pGtG2bA9crrcF1M885lk2RGQ-GtiZuDHP0,3498
6
+ rpa_suite/file/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
7
+ rpa_suite/file/counter.py,sha256=AX6a2fU2WtUW9vO05TFKZIpDOorTT-ZCU68bRj9qxlA,1680
8
+ rpa_suite/file/counters.py,sha256=zJ90n6I4-Kxj__kR4LTgRTkKYRtMjKjfh1HZPzP25GM,1010
9
+ rpa_suite/file/temp_dir.py,sha256=NWZ7r5vbInk1mbXt-ZTDLotOxj4jJKPjldv_WELJKA4,4400
10
+ rpa_suite/log/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
11
+ rpa_suite/log/loggin.py,sha256=9byNJBP6vsgSxNpzyOjXSeADQPHlXQpVAVJKdthmOh8,975
12
+ rpa_suite/log/printer.py,sha256=O7TECzpShjlAEmGiA7W3Bd1ugVkNQmBTqQ8_vrJ1TYg,1972
13
+ rpa_suite/validate/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
14
+ rpa_suite/validate/mail_validator.py,sha256=kLgGyjiXwmSjTek6KXap9_4AcrCoGSd-wbcnGos2zsk,2248
15
+ rpa_suite/validate/string_validator.py,sha256=wuvY7Z_pYSlS-pCaO3e26aiA2Z_gzq06pblehzCkG_Y,3223
16
+ rpa_suite-0.4.4.dist-info/LICENSE,sha256=5D8PIbs31iGd9i1_MDNg4SzaQnp9sEIULALh2y3WyMI,1102
17
+ rpa_suite-0.4.4.dist-info/METADATA,sha256=D4Yt88g43xdu9cBXn3acgON-7FA10V-ZNmcCTXAjseI,3444
18
+ rpa_suite-0.4.4.dist-info/WHEEL,sha256=Xo9-1PvkuimrydujYJAjF7pCkriuXBpUPEjma1nZyJ0,92
19
+ rpa_suite-0.4.4.dist-info/top_level.txt,sha256=HYkDtg-kJNAr3F2XAIPyJ-QBbNhk7q6jrqsFt10lz4Y,10
20
+ rpa_suite-0.4.4.dist-info/RECORD,,
@@ -1,25 +0,0 @@
1
- Metadata-Version: 2.1
2
- Name: rpa-suite
3
- Version: 0.4.1
4
- Summary: Conjunto de ferramentas essenciais para RPA com Python, que facilitam o dia a dia de desenvolvimento.
5
- Author: Camilo Costa de Carvalho
6
- Author-email: camilo.carvalho@triasoftware.com.br
7
- License: MIT
8
- Keywords: basic-tools,email-tools,email-validation,file-tools,simple-functions,rpa-tools,rpa-functions
9
- Classifier: Development Status :: 3 - Alpha
10
- Classifier: License :: OSI Approved :: MIT License
11
- Classifier: Programming Language :: Python :: 3
12
- Classifier: Programming Language :: Python :: 3.7
13
- Classifier: Programming Language :: Python :: 3.8
14
- Classifier: Programming Language :: Python :: 3.9
15
- License-File: LICENSE
16
- Requires-Dist: loguru
17
- Requires-Dist: colorama
18
- Requires-Dist: email-validator
19
-
20
- Suite RPA - Toolkit for your bot building
21
-
22
- This is a simple toolkit for developers RPA.
23
-
24
- You can see more on github.
25
- https://github.com/CamiloCCarvalho/rpa_suite
@@ -1,19 +0,0 @@
1
- rpa_suite/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
- rpa_suite/clock/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
3
- rpa_suite/clock/waiter.py,sha256=xgrmfx1e7Oj1dFSXzjOtUOdpzmK2yMlrfmxU0uEy5mE,1082
4
- rpa_suite/email/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
5
- rpa_suite/email/sender_smtp.py,sha256=SK7gNqx8ypE0uy4g6abvrxj1olL-Mh0H78SsckECbOY,3374
6
- rpa_suite/file/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
7
- rpa_suite/file/counter.py,sha256=OZRooCp9JenJ7EHNWe3kEwc_G8qE_JPqj3rbnjWAHOI,1288
8
- rpa_suite/file/counters.py,sha256=zJ90n6I4-Kxj__kR4LTgRTkKYRtMjKjfh1HZPzP25GM,1010
9
- rpa_suite/file/temp_dir.py,sha256=hs966mc1RXf8tXDolRbMqvqkfLpLKBlzF8QRGoVVQgQ,3729
10
- rpa_suite/log/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
11
- rpa_suite/log/loggin.py,sha256=1ZlX5AO9jQn_tBRCu2S1qWlEn9Tt1n7P6f05JHAy9Fk,757
12
- rpa_suite/validate/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
13
- rpa_suite/validate/mail_validator.py,sha256=JPOn5qPpMDeK69D095wINTyyn3fEcjT68SfH-sOARgg,2165
14
- rpa_suite/validate/string_validator.py,sha256=4FstAjKT1Rrybe-eJnpH1D3tWAtMPrHvUKrj_rglKKU,2485
15
- rpa_suite-0.4.1.dist-info/LICENSE,sha256=5D8PIbs31iGd9i1_MDNg4SzaQnp9sEIULALh2y3WyMI,1102
16
- rpa_suite-0.4.1.dist-info/METADATA,sha256=pGCWKlFQqm72UReWzNO5-xWMBATmZmLZwrl3eFoyiLQ,943
17
- rpa_suite-0.4.1.dist-info/WHEEL,sha256=Xo9-1PvkuimrydujYJAjF7pCkriuXBpUPEjma1nZyJ0,92
18
- rpa_suite-0.4.1.dist-info/top_level.txt,sha256=HYkDtg-kJNAr3F2XAIPyJ-QBbNhk7q6jrqsFt10lz4Y,10
19
- rpa_suite-0.4.1.dist-info/RECORD,,