rpa-suite 1.4.5__tar.gz → 1.4.8__tar.gz

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.
Files changed (35) hide show
  1. {rpa_suite-1.4.5 → rpa_suite-1.4.8}/PKG-INFO +76 -39
  2. {rpa_suite-1.4.5 → rpa_suite-1.4.8}/README.md +73 -38
  3. {rpa_suite-1.4.5 → rpa_suite-1.4.8}/rpa_suite/__init__.py +4 -2
  4. {rpa_suite-1.4.5 → rpa_suite-1.4.8}/rpa_suite/core/__init__.py +21 -4
  5. rpa_suite-1.4.8/rpa_suite/core/browser.py +303 -0
  6. {rpa_suite-1.4.5 → rpa_suite-1.4.8}/rpa_suite/core/clock.py +5 -1
  7. {rpa_suite-1.4.5 → rpa_suite-1.4.8}/rpa_suite/core/date.py +6 -2
  8. {rpa_suite-1.4.5 → rpa_suite-1.4.8}/rpa_suite/core/dir.py +6 -1
  9. {rpa_suite-1.4.5 → rpa_suite-1.4.8}/rpa_suite/core/email.py +6 -4
  10. {rpa_suite-1.4.5 → rpa_suite-1.4.8}/rpa_suite/core/file.py +12 -3
  11. {rpa_suite-1.4.5 → rpa_suite-1.4.8}/rpa_suite/core/log.py +8 -1
  12. rpa_suite-1.4.8/rpa_suite/core/parallel.py +193 -0
  13. {rpa_suite-1.4.5 → rpa_suite-1.4.8}/rpa_suite/core/print.py +4 -2
  14. {rpa_suite-1.4.5 → rpa_suite-1.4.8}/rpa_suite/core/regex.py +6 -1
  15. {rpa_suite-1.4.5 → rpa_suite-1.4.8}/rpa_suite/core/validate.py +5 -2
  16. {rpa_suite-1.4.5 → rpa_suite-1.4.8}/rpa_suite/functions/__create_ss_dir.py +6 -2
  17. {rpa_suite-1.4.5 → rpa_suite-1.4.8}/rpa_suite/functions/_printer.py +3 -1
  18. {rpa_suite-1.4.5 → rpa_suite-1.4.8}/rpa_suite/suite.py +25 -2
  19. {rpa_suite-1.4.5 → rpa_suite-1.4.8}/rpa_suite/utils/__init__.py +1 -0
  20. {rpa_suite-1.4.5 → rpa_suite-1.4.8}/rpa_suite/utils/system.py +10 -1
  21. {rpa_suite-1.4.5 → rpa_suite-1.4.8}/rpa_suite.egg-info/PKG-INFO +76 -39
  22. {rpa_suite-1.4.5 → rpa_suite-1.4.8}/rpa_suite.egg-info/SOURCES.txt +1 -5
  23. {rpa_suite-1.4.5 → rpa_suite-1.4.8}/rpa_suite.egg-info/requires.txt +2 -0
  24. {rpa_suite-1.4.5 → rpa_suite-1.4.8}/setup.py +2 -2
  25. rpa_suite-1.4.5/rpa_suite/core/browser.py +0 -166
  26. rpa_suite-1.4.5/rpa_suite/functions/__create_log_dir.py +0 -83
  27. rpa_suite-1.4.5/rpa_suite/functions/_functions_logger.py +0 -96
  28. rpa_suite-1.4.5/rpa_suite/functions/_logger.py +0 -113
  29. rpa_suite-1.4.5/rpa_suite/functions/_variables.py +0 -10
  30. rpa_suite-1.4.5/rpa_suite/functions/_variables_uru.py +0 -11
  31. {rpa_suite-1.4.5 → rpa_suite-1.4.8}/LICENSE +0 -0
  32. {rpa_suite-1.4.5 → rpa_suite-1.4.8}/rpa_suite/functions/__init__.py +0 -0
  33. {rpa_suite-1.4.5 → rpa_suite-1.4.8}/rpa_suite.egg-info/dependency_links.txt +0 -0
  34. {rpa_suite-1.4.5 → rpa_suite-1.4.8}/rpa_suite.egg-info/top_level.txt +0 -0
  35. {rpa_suite-1.4.5 → rpa_suite-1.4.8}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: rpa_suite
3
- Version: 1.4.5
3
+ Version: 1.4.8
4
4
  Summary: Conjunto de ferramentas essenciais para Automação RPA com Python, que facilitam o dia a dia de desenvolvimento.
5
5
  Author: Camilo Costa de Carvalho
6
6
  Author-email: camilo.carvalho@triasoftware.com.br
@@ -25,6 +25,8 @@ Requires-Dist: loguru
25
25
  Requires-Dist: typing
26
26
  Requires-Dist: pillow
27
27
  Requires-Dist: pyautogui
28
+ Requires-Dist: requests
29
+ Requires-Dist: setuptools
28
30
  Dynamic: author
29
31
  Dynamic: author-email
30
32
  Dynamic: classifier
@@ -54,13 +56,16 @@ Dynamic: summary
54
56
 
55
57
  ## Sumário do conteudo
56
58
 
59
+ - [O que é?](#o-que-é)
60
+ - [Sumário do conteudo](#sumário-do-conteudo)
57
61
  - [Destaque](#destaque)
58
62
  - [Objetivo](#objetivo)
59
63
  - [Instalação](#instalação)
60
64
  - [Exemplo](#exemplo)
61
65
  - [Dependências](#dependências)
62
66
  - [Estrutura do módulo](#estrutura-do-módulo)
63
- - [Versão do projeto](#versão-do-projeto)
67
+ - [Release](#release)
68
+ - [Notas da atualização: 1.4.8](#notas-da-atualização-148)
64
69
  - [Mais Sobre](#mais-sobre)
65
70
 
66
71
  ## Destaque
@@ -94,17 +99,17 @@ ou no conda:
94
99
  conda install -c conda-forge rpa-suite
95
100
  ```
96
101
 
97
- Após instalação basta fazer a importação do modulo e instanciar o Objeto ``suite``:
102
+ Após instalação basta fazer a importação do modulo rpa que ja tera um objeto instanciado de ``suite``:
98
103
 
99
104
  ```python
100
- from rpa_suite import suite as rpa
105
+ from rpa_suite import rpa
101
106
  ```
102
107
 
103
108
  Feito isso já estará pronto para o uso:
104
109
 
105
110
  ```python
106
111
  # function send mail by SMTP
107
- rpa.send_mail(...)
112
+ rpa.email.send_mail(...)
108
113
  ```
109
114
 
110
115
  > [!NOTE]
@@ -121,21 +126,24 @@ rpa.send_mail(...)
121
126
  > Opcionalmente você pode querer desinstalar as libs que foram inclusas no projeto, sendo assim:
122
127
 
123
128
  ```python
124
- >>> python -m pip uninstall loguru mail_validator colorama
129
+ >>> python -m pip uninstall loguru mail_validator colorama pillow pyautogui
125
130
  ```
126
131
 
127
132
  ## Exemplo
128
133
 
129
134
  Do módulo principal, importe a suite. Ela retorna uma instância do Objeto de classe Rpa_suite, onde possui variáveis apontando para todas funções dos submódulos:
130
135
 
131
- from rpa_suite import suite as rpa
136
+ from rpa_suite import rpa
132
137
 
133
- # Usando a função de envio de email por SMTP default
134
- rpa.send_email(my_email, my_pass, mail_to, subject, message_body)
138
+ # Exemplo com função de execução em horario especifico
139
+ rpa.clock.exec_at_hour('13:53', my_function, param_a, param_b)
135
140
 
136
- # Usando submódulo clock para aguardar 30 (seg) e então executar uma função
141
+ # Usando submódulo clock para aguardar 30(seg) para executar minha função
137
142
  time = 30
138
- rpa.wait_for_exec(time, my_function, param1, param2)
143
+ rpa.clock.wait_for_exec(time, my_function, param1, param2)
144
+
145
+ # Usando submódulo email para envio de email por smtp comum
146
+ rpa.email.send_smtp(...)
139
147
 
140
148
  ## Dependências
141
149
 
@@ -159,47 +167,80 @@ No caso da função de screenshot é necessario ter as libs 'pyautogui' 'pillow'
159
167
 
160
168
  ## Estrutura do módulo
161
169
 
162
- O módulo principal do rpa-suite é dividido em categorias. Cada categoria contém módulos com funções destinadas a cada tipo de tarefa
163
-
164
- ! Divisao e nomes de funções precisam ser atualizadas nesta sessão de Estrutura do módulo !
170
+ O módulo principal do rpa-suite é dividido em categorias. Cada categoria contém módulos com funções destinadas a categoria:
165
171
 
166
172
  - **rpa_suite**
173
+
167
174
  - **clock**
168
- - **waiter** - Função capaz de aguardar para executar a função do argumento, ou executar a função do argumento para aguardar posteriormente
169
- - **exec_at** - Função capaz de executar a função do argumento no horario especificado "xx:yy" parecido com scheduler, porem com a vantagem de ter o horario como variavel dentro do escopo de código podendo gerar variações pela propria natureza da aplicação
175
+ - **exec_at_hour** - Função que executa uma função no horário especificado "xx:yy", permitindo agendamento de tarefas com precisão.
176
+ - **wait_for_exec** - Função que aguarda um tempo em segundos antes de executar a função passada como argumento.
177
+ - **exec_and_wait** - Função que executa uma função e, em seguida, aguarda um tempo em segundos antes de continuar.
178
+
170
179
  - **date**
171
- - **date** - Funções capazes de extrair dia/mes/ano e hora/min/seg, facilitando a necessidade de formatar o resultado de datetime, a função ja devolve os valores em trio formatados em string
180
+ - **get_hms** - Função que retorna hora, minuto e segundo formatados como strings.
181
+ - **get_dmy** - Função que retorna dia, mês e ano formatados como strings.
182
+
172
183
  - **email**
173
- - **sender_smtp** - Funções para envio de email SMPT com configuração simples default porem personalizavel
184
+ - **send_smtp** - Função para envio de emails via SMTP com suporte a anexos e mensagens HTML, configurável e personalizável.
185
+
174
186
  - **file**
175
- - **counter** - Funções para contagem de arquivos
176
- - **temp_dir** - Funções para diretórios temporários
177
- - **screen_shot** - Função para criar diretório e arquivo de print com nome do diretório, arquivo e delay personalizáveis
178
- - **file_flag** - Funções para criar e deletar arquivo utilizado como flag de execução, tendo path e nome do arquivo já automatico porem personalizavel para se adequar ao seu projeto
187
+ - **screen_shot** - Função para capturar screenshots, criando diretórios e arquivos com nomes e caminhos personalizáveis.
188
+ - **flag_create** - Função para criar arquivos de flag indicando execução de processos.
189
+ - **flag_delete** - Função para deletar arquivos de flag após a execução de processos.
190
+ - **count_files** - Função para contar arquivos em diretórios, com suporte a extensões específicas.
191
+
192
+ - **directory**
193
+ - **create_temp_dir** - Função para criar diretórios temporários com nomes e caminhos personalizáveis.
194
+ - **delete_temp_dir** - Função para deletar diretórios temporários, com opção de remover arquivos contidos.
195
+
179
196
  - **log**
180
- - **logger_uru** - Instanciador de stream e handlefile que cria na pasta raiz do arquivo chamador pasta de log e seta o stream para as funções de log
181
- - **functions_logger_uru** - Funções de log parecida com os prints personalizados, setadas e personalizadas para todos log levels usado pelo ´logger_uru´, escreve no arquivo setado além de gerar o print no terminal
182
- - **printer** - Funções de print personalizados (alerta, erro, sucesso, informativo)
197
+ - **config_logger** - Função para configurar logs com suporte a arquivos e streams, utilizando a biblioteca Loguru.
198
+ - **log_start_run_debug** - Função para registrar logs de início de execução em nível de depuração.
199
+ - **log_debug** - Função para registrar logs em nível de depuração.
200
+ - **log_info** - Função para registrar logs em nível informativo.
201
+ - **log_warning** - Função para registrar logs em nível de aviso.
202
+ - **log_error** - Função para registrar logs em nível de erro.
203
+ - **log_critical** - Função para registrar logs em nível crítico.
204
+
205
+ - **printer**
206
+ - **success_print** - Função para imprimir mensagens de sucesso com destaque em verde.
207
+ - **alert_print** - Função para imprimir mensagens de alerta com destaque em amarelo.
208
+ - **info_print** - Função para imprimir mensagens informativas com destaque em ciano.
209
+ - **error_print** - Função para imprimir mensagens de erro com destaque em vermelho.
183
210
  - **regex**
184
- - **pattern_in_text** - Função para otimizar o uso mais comum de regex buscando padrões em um texto
211
+ - **check_pattern_in_text** - Função para verificar a presença de padrões em textos, com suporte a case-sensitive.
212
+
185
213
  - **validate**
186
- - **mail_validator** - Função para validar lista de emails, devolvendo a lista com emails validos a partir da lista original
187
- - **string_validator** - Função que valida presença de letras, palavras, e textos e possibilita contar as ocorrencias em uma string
214
+ - **emails** - Função para validar listas de emails, retornando listas de emails válidos e inválidos.
215
+ - **word** - Função para buscar palavras ou padrões específicos em textos, com suporte a contagem de ocorrências.
216
+
217
+ - **browser**
218
+ - **start_browser** - Função para iniciar o navegador Chrome com suporte a depuração remota.
219
+ - **find_ele** - Função para localizar elementos na página utilizando estratégias de localização do Selenium.
220
+ - **get** - Função para navegar para URLs específicas.
221
+ - **close_browser** - Função para fechar o navegador e encerrar processos relacionados.
222
+
223
+ - **parallel**
224
+ - **run** - Função para iniciar um processo em paralelo.
225
+ - **is_running** - Função para capturar o status atual do processo que esta rodando em paralelo.
226
+ - **get_result** - Função para coletar o retorno da execução em paralelo junto com resultado da função ou funções que foram enviadas a este processo com retorno em forma de dict.
227
+ - **terminate** - Função para finalizar o processo paralelo mantendo apenas o processo principal do seu código, também é chamada de forma automatica esta função ao final de um procesos paralelo ou no final da função "get_result".
188
228
 
189
229
  ## Release
190
230
 
191
- Versão: **Beta 1.4.5**
231
+ Versão: **Beta 1.4.8**
192
232
 
193
233
  Lançamento: *20/02/2024*
194
234
 
195
- Última atualização: *10/04/2025*
235
+ Última atualização: *12/04/2025*
196
236
 
197
237
  Status: Em desenvolvimento.
198
238
 
199
- ### Notas da atualização: 1.4.5
239
+ ### Notas da atualização: 1.4.8
200
240
 
201
241
  - Mudança dos submodulos para Objetos, agora Rpa_suite é um Objeto de Suite que compoe diversos sub-objetos separados pelas mesmas categorias anteriormente ja definidas
202
242
  - Reformulada a arquitetura do projeto para melhor coeção e menos subpastas e arquivos, agora a estrutura é mais simples e de melhor manutenção contendo apenas uma pasta core para o nucleo de nossos modulos, e uma pasta utils com ferramentas utilitarias que vamos adicionar varias novidades
243
+ - Adicionado SubModulo Parallel com função dedicada a rodar um processo em paralelo com seu fluxo principal podendo recuperar o resultado da execução em paralelo a qualquer momento e setando timeout ou deixando o tempo indefinido para aguardar a resposta.
203
244
  - Adicionado setor utils com funcionalidade de tornar o diretorio atual em um importavel relativo para o python
204
245
  - Adicionado Automação de Navegadores! Sim estamos devendo esta feature a bastante tempo, porem estamos com a primeira versão disponivel, em breve teremos mais recursos e disponibilidade para outros navegadores, atualmente suporte apenas para *Chrome.*
205
246
  - Mantemos o alerta! **get_dma** atualizada e **renomeada** para **get_dmy** para manter o padrão em ingles
@@ -212,13 +253,9 @@ Status: Em desenvolvimento.
212
253
  ## Mais Sobre
213
254
 
214
255
  Para mais informações, visite nosso projeto no Github ou PyPi:
215
- `<br>`
216
- `<a href='https://github.com/CamiloCCarvalho/rpa_suite' target='_blank'>`
217
- Ver no GitHub.
218
- `</a>`
219
- `<br>`
220
- `<a href='https://pypi.org/project/rpa-suite/' target='_blank'>`
221
- Ver projeto publicado no PyPI.
222
- `</a>`
256
+
257
+ [Ver no GitHub](https://github.com/CamiloCCarvalho/rpa_suite)
258
+
259
+ [Ver projeto publicado no PyPI](https://pypi.org/project/rpa-suite/)
223
260
 
224
261
  <hr>
@@ -16,13 +16,16 @@
16
16
 
17
17
  ## Sumário do conteudo
18
18
 
19
+ - [O que é?](#o-que-é)
20
+ - [Sumário do conteudo](#sumário-do-conteudo)
19
21
  - [Destaque](#destaque)
20
22
  - [Objetivo](#objetivo)
21
23
  - [Instalação](#instalação)
22
24
  - [Exemplo](#exemplo)
23
25
  - [Dependências](#dependências)
24
26
  - [Estrutura do módulo](#estrutura-do-módulo)
25
- - [Versão do projeto](#versão-do-projeto)
27
+ - [Release](#release)
28
+ - [Notas da atualização: 1.4.8](#notas-da-atualização-148)
26
29
  - [Mais Sobre](#mais-sobre)
27
30
 
28
31
  ## Destaque
@@ -56,17 +59,17 @@ ou no conda:
56
59
  conda install -c conda-forge rpa-suite
57
60
  ```
58
61
 
59
- Após instalação basta fazer a importação do modulo e instanciar o Objeto ``suite``:
62
+ Após instalação basta fazer a importação do modulo rpa que ja tera um objeto instanciado de ``suite``:
60
63
 
61
64
  ```python
62
- from rpa_suite import suite as rpa
65
+ from rpa_suite import rpa
63
66
  ```
64
67
 
65
68
  Feito isso já estará pronto para o uso:
66
69
 
67
70
  ```python
68
71
  # function send mail by SMTP
69
- rpa.send_mail(...)
72
+ rpa.email.send_mail(...)
70
73
  ```
71
74
 
72
75
  > [!NOTE]
@@ -83,21 +86,24 @@ rpa.send_mail(...)
83
86
  > Opcionalmente você pode querer desinstalar as libs que foram inclusas no projeto, sendo assim:
84
87
 
85
88
  ```python
86
- >>> python -m pip uninstall loguru mail_validator colorama
89
+ >>> python -m pip uninstall loguru mail_validator colorama pillow pyautogui
87
90
  ```
88
91
 
89
92
  ## Exemplo
90
93
 
91
94
  Do módulo principal, importe a suite. Ela retorna uma instância do Objeto de classe Rpa_suite, onde possui variáveis apontando para todas funções dos submódulos:
92
95
 
93
- from rpa_suite import suite as rpa
96
+ from rpa_suite import rpa
94
97
 
95
- # Usando a função de envio de email por SMTP default
96
- rpa.send_email(my_email, my_pass, mail_to, subject, message_body)
98
+ # Exemplo com função de execução em horario especifico
99
+ rpa.clock.exec_at_hour('13:53', my_function, param_a, param_b)
97
100
 
98
- # Usando submódulo clock para aguardar 30 (seg) e então executar uma função
101
+ # Usando submódulo clock para aguardar 30(seg) para executar minha função
99
102
  time = 30
100
- rpa.wait_for_exec(time, my_function, param1, param2)
103
+ rpa.clock.wait_for_exec(time, my_function, param1, param2)
104
+
105
+ # Usando submódulo email para envio de email por smtp comum
106
+ rpa.email.send_smtp(...)
101
107
 
102
108
  ## Dependências
103
109
 
@@ -121,47 +127,80 @@ No caso da função de screenshot é necessario ter as libs 'pyautogui' 'pillow'
121
127
 
122
128
  ## Estrutura do módulo
123
129
 
124
- O módulo principal do rpa-suite é dividido em categorias. Cada categoria contém módulos com funções destinadas a cada tipo de tarefa
125
-
126
- ! Divisao e nomes de funções precisam ser atualizadas nesta sessão de Estrutura do módulo !
130
+ O módulo principal do rpa-suite é dividido em categorias. Cada categoria contém módulos com funções destinadas a categoria:
127
131
 
128
132
  - **rpa_suite**
133
+
129
134
  - **clock**
130
- - **waiter** - Função capaz de aguardar para executar a função do argumento, ou executar a função do argumento para aguardar posteriormente
131
- - **exec_at** - Função capaz de executar a função do argumento no horario especificado "xx:yy" parecido com scheduler, porem com a vantagem de ter o horario como variavel dentro do escopo de código podendo gerar variações pela propria natureza da aplicação
135
+ - **exec_at_hour** - Função que executa uma função no horário especificado "xx:yy", permitindo agendamento de tarefas com precisão.
136
+ - **wait_for_exec** - Função que aguarda um tempo em segundos antes de executar a função passada como argumento.
137
+ - **exec_and_wait** - Função que executa uma função e, em seguida, aguarda um tempo em segundos antes de continuar.
138
+
132
139
  - **date**
133
- - **date** - Funções capazes de extrair dia/mes/ano e hora/min/seg, facilitando a necessidade de formatar o resultado de datetime, a função ja devolve os valores em trio formatados em string
140
+ - **get_hms** - Função que retorna hora, minuto e segundo formatados como strings.
141
+ - **get_dmy** - Função que retorna dia, mês e ano formatados como strings.
142
+
134
143
  - **email**
135
- - **sender_smtp** - Funções para envio de email SMPT com configuração simples default porem personalizavel
144
+ - **send_smtp** - Função para envio de emails via SMTP com suporte a anexos e mensagens HTML, configurável e personalizável.
145
+
136
146
  - **file**
137
- - **counter** - Funções para contagem de arquivos
138
- - **temp_dir** - Funções para diretórios temporários
139
- - **screen_shot** - Função para criar diretório e arquivo de print com nome do diretório, arquivo e delay personalizáveis
140
- - **file_flag** - Funções para criar e deletar arquivo utilizado como flag de execução, tendo path e nome do arquivo já automatico porem personalizavel para se adequar ao seu projeto
147
+ - **screen_shot** - Função para capturar screenshots, criando diretórios e arquivos com nomes e caminhos personalizáveis.
148
+ - **flag_create** - Função para criar arquivos de flag indicando execução de processos.
149
+ - **flag_delete** - Função para deletar arquivos de flag após a execução de processos.
150
+ - **count_files** - Função para contar arquivos em diretórios, com suporte a extensões específicas.
151
+
152
+ - **directory**
153
+ - **create_temp_dir** - Função para criar diretórios temporários com nomes e caminhos personalizáveis.
154
+ - **delete_temp_dir** - Função para deletar diretórios temporários, com opção de remover arquivos contidos.
155
+
141
156
  - **log**
142
- - **logger_uru** - Instanciador de stream e handlefile que cria na pasta raiz do arquivo chamador pasta de log e seta o stream para as funções de log
143
- - **functions_logger_uru** - Funções de log parecida com os prints personalizados, setadas e personalizadas para todos log levels usado pelo ´logger_uru´, escreve no arquivo setado além de gerar o print no terminal
144
- - **printer** - Funções de print personalizados (alerta, erro, sucesso, informativo)
157
+ - **config_logger** - Função para configurar logs com suporte a arquivos e streams, utilizando a biblioteca Loguru.
158
+ - **log_start_run_debug** - Função para registrar logs de início de execução em nível de depuração.
159
+ - **log_debug** - Função para registrar logs em nível de depuração.
160
+ - **log_info** - Função para registrar logs em nível informativo.
161
+ - **log_warning** - Função para registrar logs em nível de aviso.
162
+ - **log_error** - Função para registrar logs em nível de erro.
163
+ - **log_critical** - Função para registrar logs em nível crítico.
164
+
165
+ - **printer**
166
+ - **success_print** - Função para imprimir mensagens de sucesso com destaque em verde.
167
+ - **alert_print** - Função para imprimir mensagens de alerta com destaque em amarelo.
168
+ - **info_print** - Função para imprimir mensagens informativas com destaque em ciano.
169
+ - **error_print** - Função para imprimir mensagens de erro com destaque em vermelho.
145
170
  - **regex**
146
- - **pattern_in_text** - Função para otimizar o uso mais comum de regex buscando padrões em um texto
171
+ - **check_pattern_in_text** - Função para verificar a presença de padrões em textos, com suporte a case-sensitive.
172
+
147
173
  - **validate**
148
- - **mail_validator** - Função para validar lista de emails, devolvendo a lista com emails validos a partir da lista original
149
- - **string_validator** - Função que valida presença de letras, palavras, e textos e possibilita contar as ocorrencias em uma string
174
+ - **emails** - Função para validar listas de emails, retornando listas de emails válidos e inválidos.
175
+ - **word** - Função para buscar palavras ou padrões específicos em textos, com suporte a contagem de ocorrências.
176
+
177
+ - **browser**
178
+ - **start_browser** - Função para iniciar o navegador Chrome com suporte a depuração remota.
179
+ - **find_ele** - Função para localizar elementos na página utilizando estratégias de localização do Selenium.
180
+ - **get** - Função para navegar para URLs específicas.
181
+ - **close_browser** - Função para fechar o navegador e encerrar processos relacionados.
182
+
183
+ - **parallel**
184
+ - **run** - Função para iniciar um processo em paralelo.
185
+ - **is_running** - Função para capturar o status atual do processo que esta rodando em paralelo.
186
+ - **get_result** - Função para coletar o retorno da execução em paralelo junto com resultado da função ou funções que foram enviadas a este processo com retorno em forma de dict.
187
+ - **terminate** - Função para finalizar o processo paralelo mantendo apenas o processo principal do seu código, também é chamada de forma automatica esta função ao final de um procesos paralelo ou no final da função "get_result".
150
188
 
151
189
  ## Release
152
190
 
153
- Versão: **Beta 1.4.5**
191
+ Versão: **Beta 1.4.8**
154
192
 
155
193
  Lançamento: *20/02/2024*
156
194
 
157
- Última atualização: *10/04/2025*
195
+ Última atualização: *12/04/2025*
158
196
 
159
197
  Status: Em desenvolvimento.
160
198
 
161
- ### Notas da atualização: 1.4.5
199
+ ### Notas da atualização: 1.4.8
162
200
 
163
201
  - Mudança dos submodulos para Objetos, agora Rpa_suite é um Objeto de Suite que compoe diversos sub-objetos separados pelas mesmas categorias anteriormente ja definidas
164
202
  - Reformulada a arquitetura do projeto para melhor coeção e menos subpastas e arquivos, agora a estrutura é mais simples e de melhor manutenção contendo apenas uma pasta core para o nucleo de nossos modulos, e uma pasta utils com ferramentas utilitarias que vamos adicionar varias novidades
203
+ - Adicionado SubModulo Parallel com função dedicada a rodar um processo em paralelo com seu fluxo principal podendo recuperar o resultado da execução em paralelo a qualquer momento e setando timeout ou deixando o tempo indefinido para aguardar a resposta.
165
204
  - Adicionado setor utils com funcionalidade de tornar o diretorio atual em um importavel relativo para o python
166
205
  - Adicionado Automação de Navegadores! Sim estamos devendo esta feature a bastante tempo, porem estamos com a primeira versão disponivel, em breve teremos mais recursos e disponibilidade para outros navegadores, atualmente suporte apenas para *Chrome.*
167
206
  - Mantemos o alerta! **get_dma** atualizada e **renomeada** para **get_dmy** para manter o padrão em ingles
@@ -174,13 +213,9 @@ Status: Em desenvolvimento.
174
213
  ## Mais Sobre
175
214
 
176
215
  Para mais informações, visite nosso projeto no Github ou PyPi:
177
- `<br>`
178
- `<a href='https://github.com/CamiloCCarvalho/rpa_suite' target='_blank'>`
179
- Ver no GitHub.
180
- `</a>`
181
- `<br>`
182
- `<a href='https://pypi.org/project/rpa-suite/' target='_blank'>`
183
- Ver projeto publicado no PyPI.
184
- `</a>`
216
+
217
+ [Ver no GitHub](https://github.com/CamiloCCarvalho/rpa_suite)
218
+
219
+ [Ver projeto publicado no PyPI](https://pypi.org/project/rpa-suite/)
185
220
 
186
221
  <hr>
@@ -1,4 +1,5 @@
1
1
  # rpa_suite/__init__.py
2
+
2
3
  """
3
4
  RPA Suite is a Python module that provides a set of tools for process automation.
4
5
 
@@ -26,7 +27,7 @@
26
27
  ``printer``: Functions for formatted output
27
28
  ``regex``: Operations with regular expressions
28
29
  ``validate``: Data validation functions
29
- ``Browser``: Object Browser automation functions
30
+ ``Browser``: Object Browser automation functions (neeeds Selenium and Webdriver_Manager)
30
31
 
31
32
  pt-br
32
33
  -----
@@ -56,8 +57,9 @@
56
57
  ``printer``: Funções para output formatado
57
58
  ``regex``: Operações com expressões regulares
58
59
  ``validate``: Funções de validação de dados
59
- ``Browser``: Objeto de Automação de Navegadores
60
+ ``Browser``: Objeto de Automação de Navegadores (necessario Selenium e Webdriver_Manager)
60
61
  """
61
62
 
63
+ # allows importing the rpa_suite module without the package name
62
64
  from .suite import rpa
63
65
  rpa
@@ -3,9 +3,12 @@
3
3
  """
4
4
  The Core module is where we can import all Sub-Objects used by the rpa_suite module separately, categorized by their respective classes based on functionality. However, we can also use them through the main rpa object using the following syntax:
5
5
  >>> from rpa_suite import rpa
6
- >>> rpa.clock.wait_for_exec()
6
+ >>> rpa.clock.wait_for_exec(foo)
7
7
  >>> rpa.file.screen_shot() ...
8
- among others.
8
+ or
9
+ >>> from rpa_suite.core.clock import Clock
10
+ >>> clock = Clock()
11
+ >>> clock.wait_for_exec()
9
12
 
10
13
  pt-br
11
14
  ----------
@@ -13,9 +16,13 @@ O módulo Core é de onde podemos importar todos os Sub-Objetos usados pelo mód
13
16
  >>> from rpa_suite import rpa
14
17
  >>> rpa.clock.wait_for_exec()
15
18
  >>> rpa.file.screen_shot() ...
16
- entre outros.
19
+ ou
20
+ >>> from rpa_suite.core.clock import Clock
21
+ >>> clock = Clock()
22
+ >>> clock.wait_for_exec(foo)
17
23
 
18
24
  """
25
+
19
26
  from .clock import Clock
20
27
  from .date import Date
21
28
  from .dir import Directory
@@ -25,4 +32,14 @@ from .log import Log
25
32
  from .print import Print
26
33
  from .regex import Regex
27
34
  from .validate import Validate
28
- from .browser import Browser
35
+ from .parallel import ParallelRunner
36
+
37
+
38
+
39
+ # On this case, we are importing the Browser class only if the selenium and webdriver_manager modules are installed.
40
+ # This is useful to avoid unnecessary imports and dependencies if the user does not need the Browser functionality.
41
+ import importlib.util
42
+
43
+ # from .browser import Browser
44
+ if importlib.util.find_spec("selenium") and importlib.util.find_spec("webdriver_manager"):
45
+ from .browser import Browser