rpa-suite 1.4.2__tar.gz → 1.4.6__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.
- rpa_suite-1.4.6/PKG-INFO +244 -0
- rpa_suite-1.4.6/README.md +205 -0
- {rpa_suite-1.4.2 → rpa_suite-1.4.6}/rpa_suite/__init__.py +4 -1
- {rpa_suite-1.4.2 → rpa_suite-1.4.6}/rpa_suite/core/__init__.py +20 -3
- rpa_suite-1.4.6/rpa_suite/core/browser.py +299 -0
- {rpa_suite-1.4.2 → rpa_suite-1.4.6}/rpa_suite/core/clock.py +1 -1
- {rpa_suite-1.4.2 → rpa_suite-1.4.6}/rpa_suite/core/file.py +1 -1
- rpa_suite-1.4.6/rpa_suite/core/log.py +139 -0
- {rpa_suite-1.4.2 → rpa_suite-1.4.6}/rpa_suite/suite.py +36 -22
- rpa_suite-1.4.6/rpa_suite/utils/__init__.py +10 -0
- rpa_suite-1.4.6/rpa_suite/utils/system.py +33 -0
- rpa_suite-1.4.6/rpa_suite.egg-info/PKG-INFO +244 -0
- {rpa_suite-1.4.2 → rpa_suite-1.4.6}/rpa_suite.egg-info/SOURCES.txt +4 -1
- {rpa_suite-1.4.2 → rpa_suite-1.4.6}/rpa_suite.egg-info/requires.txt +1 -0
- {rpa_suite-1.4.2 → rpa_suite-1.4.6}/setup.py +2 -2
- rpa_suite-1.4.2/PKG-INFO +0 -214
- rpa_suite-1.4.2/README.md +0 -176
- rpa_suite-1.4.2/rpa_suite/core/log.py +0 -465
- rpa_suite-1.4.2/rpa_suite.egg-info/PKG-INFO +0 -214
- {rpa_suite-1.4.2 → rpa_suite-1.4.6}/LICENSE +0 -0
- {rpa_suite-1.4.2 → rpa_suite-1.4.6}/rpa_suite/core/date.py +0 -0
- {rpa_suite-1.4.2 → rpa_suite-1.4.6}/rpa_suite/core/dir.py +0 -0
- {rpa_suite-1.4.2 → rpa_suite-1.4.6}/rpa_suite/core/email.py +0 -0
- {rpa_suite-1.4.2 → rpa_suite-1.4.6}/rpa_suite/core/print.py +0 -0
- {rpa_suite-1.4.2 → rpa_suite-1.4.6}/rpa_suite/core/regex.py +0 -0
- {rpa_suite-1.4.2 → rpa_suite-1.4.6}/rpa_suite/core/validate.py +0 -0
- {rpa_suite-1.4.2 → rpa_suite-1.4.6}/rpa_suite/functions/__create_log_dir.py +0 -0
- {rpa_suite-1.4.2 → rpa_suite-1.4.6}/rpa_suite/functions/__create_ss_dir.py +0 -0
- {rpa_suite-1.4.2 → rpa_suite-1.4.6}/rpa_suite/functions/__init__.py +0 -0
- {rpa_suite-1.4.2 → rpa_suite-1.4.6}/rpa_suite/functions/_functions_logger.py +0 -0
- {rpa_suite-1.4.2 → rpa_suite-1.4.6}/rpa_suite/functions/_logger.py +0 -0
- {rpa_suite-1.4.2 → rpa_suite-1.4.6}/rpa_suite/functions/_printer.py +0 -0
- {rpa_suite-1.4.2 → rpa_suite-1.4.6}/rpa_suite/functions/_variables.py +0 -0
- {rpa_suite-1.4.2 → rpa_suite-1.4.6}/rpa_suite/functions/_variables_uru.py +0 -0
- {rpa_suite-1.4.2 → rpa_suite-1.4.6}/rpa_suite.egg-info/dependency_links.txt +0 -0
- {rpa_suite-1.4.2 → rpa_suite-1.4.6}/rpa_suite.egg-info/top_level.txt +0 -0
- {rpa_suite-1.4.2 → rpa_suite-1.4.6}/setup.cfg +0 -0
rpa_suite-1.4.6/PKG-INFO
ADDED
@@ -0,0 +1,244 @@
|
|
1
|
+
Metadata-Version: 2.4
|
2
|
+
Name: rpa_suite
|
3
|
+
Version: 1.4.6
|
4
|
+
Summary: Conjunto de ferramentas essenciais para Automação 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,Tools,Rpa,Automation,RPA,Automação,Python,Ferramentas de RPA,Automação de Processos,Biblioteca Python para RPA,Bot,Robô,Ferramentas de automação
|
9
|
+
Classifier: Development Status :: 3 - Alpha
|
10
|
+
Classifier: Programming Language :: Python :: 3.11
|
11
|
+
Classifier: Programming Language :: Python :: 3.12
|
12
|
+
Classifier: License :: OSI Approved :: MIT License
|
13
|
+
Classifier: Intended Audience :: Developers
|
14
|
+
Classifier: Intended Audience :: Education
|
15
|
+
Classifier: Intended Audience :: Science/Research
|
16
|
+
Classifier: Operating System :: Microsoft :: Windows
|
17
|
+
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
|
18
|
+
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
19
|
+
Description-Content-Type: text/markdown
|
20
|
+
License-File: LICENSE
|
21
|
+
Requires-Dist: colorama
|
22
|
+
Requires-Dist: colorlog
|
23
|
+
Requires-Dist: email_validator
|
24
|
+
Requires-Dist: loguru
|
25
|
+
Requires-Dist: typing
|
26
|
+
Requires-Dist: pillow
|
27
|
+
Requires-Dist: pyautogui
|
28
|
+
Requires-Dist: requests
|
29
|
+
Dynamic: author
|
30
|
+
Dynamic: author-email
|
31
|
+
Dynamic: classifier
|
32
|
+
Dynamic: description
|
33
|
+
Dynamic: description-content-type
|
34
|
+
Dynamic: keywords
|
35
|
+
Dynamic: license
|
36
|
+
Dynamic: license-file
|
37
|
+
Dynamic: requires-dist
|
38
|
+
Dynamic: summary
|
39
|
+
|
40
|
+

|
41
|
+
|
42
|
+
<h1 align="left">
|
43
|
+
RPA Suite
|
44
|
+
</h1>
|
45
|
+
<br>
|
46
|
+
|
47
|
+

|
48
|
+

|
49
|
+
|
50
|
+
---
|
51
|
+
|
52
|
+
## O que é?
|
53
|
+
|
54
|
+
**RPA Suite:** um conjunto abrangente de ferramentas projetadas para simplificar e otimizar o desenvolvimento de projetos de automação RPA com Python. Embora nossa suíte seja um conjunto de Ferramentas de RPA especializado, sua versatilidade a torna igualmente útil para uma ampla gama de projetos de desenvolvimento. Esta desenvolvendo com Selenium, Botcity ou Playwright? Experimente a RPA Suite e descubra como podemos facilitar seu projeto, ou qualquer projeto de Robôs de Software.
|
55
|
+
|
56
|
+
## Sumário do conteudo
|
57
|
+
|
58
|
+
- [O que é?](#o-que-é)
|
59
|
+
- [Sumário do conteudo](#sumário-do-conteudo)
|
60
|
+
- [Destaque](#destaque)
|
61
|
+
- [Objetivo](#objetivo)
|
62
|
+
- [Instalação](#instalação)
|
63
|
+
- [Exemplo](#exemplo)
|
64
|
+
- [Dependências](#dependências)
|
65
|
+
- [Estrutura do módulo](#estrutura-do-módulo)
|
66
|
+
- [Release](#release)
|
67
|
+
- [Notas da atualização: 1.4.6](#notas-da-atualização-146)
|
68
|
+
- [Mais Sobre](#mais-sobre)
|
69
|
+
|
70
|
+
## Destaque
|
71
|
+
|
72
|
+
**Versátil**: Além da Automação de Processos e criação de BOT em RPA, mas também para uso geral podendo ser aplicadas em outros modelos de projeto, *além do RPA*.
|
73
|
+
|
74
|
+
**Simples**: Construímos as ferramentas de maneira mais direta e assertiva possível, utilizando apenas bibliotecas conhecidas no mercado para garantir o melhor desempenho possível.
|
75
|
+
|
76
|
+
## Objetivo
|
77
|
+
|
78
|
+
Nosso objetivo é se tornar a Biblioteca Python para RPA referência. Tornando o desenvolvimento de RPAs mais produtivo, oferecendo uma gama de funções para tal:
|
79
|
+
|
80
|
+
- Envio de emails (já configurado e personalizavel)
|
81
|
+
- Validação de emails (limpeza e tratamento)
|
82
|
+
- Busca por palavras, strings ou substrings (patterns) em textos.
|
83
|
+
- Criação e deleção de pasta/arquivo temporário com um comando
|
84
|
+
- Console com mensagens de melhor visualização com cores definidas para alerta, erro, informativo e sucesso.
|
85
|
+
- E muito mais
|
86
|
+
|
87
|
+
## Instalação
|
88
|
+
|
89
|
+
Para **instalar** o projeto, utilize o comando:
|
90
|
+
|
91
|
+
```python
|
92
|
+
>>> python -m pip install rpa-suite
|
93
|
+
```
|
94
|
+
|
95
|
+
ou no conda:
|
96
|
+
|
97
|
+
```python
|
98
|
+
conda install -c conda-forge rpa-suite
|
99
|
+
```
|
100
|
+
|
101
|
+
Após instalação basta fazer a importação do modulo rpa que ja tera um objeto instanciado de ``suite``:
|
102
|
+
|
103
|
+
```python
|
104
|
+
from rpa_suite import rpa
|
105
|
+
```
|
106
|
+
|
107
|
+
Feito isso já estará pronto para o uso:
|
108
|
+
|
109
|
+
```python
|
110
|
+
# function send mail by SMTP
|
111
|
+
rpa.email.send_mail(...)
|
112
|
+
```
|
113
|
+
|
114
|
+
> [!NOTE]
|
115
|
+
>
|
116
|
+
> Para **desinstalar** o projeto, utilize o comando abaixo.
|
117
|
+
> **Obs.:** como usamos algumas libs no projeto, lembre-se de desinstar elas caso necessário.
|
118
|
+
|
119
|
+
```python
|
120
|
+
>>> python -m pip uninstall rpa-suite
|
121
|
+
```
|
122
|
+
|
123
|
+
> [!IMPORTANT]
|
124
|
+
>
|
125
|
+
> Opcionalmente você pode querer desinstalar as libs que foram inclusas no projeto, sendo assim:
|
126
|
+
|
127
|
+
```python
|
128
|
+
>>> python -m pip uninstall loguru mail_validator colorama pillow pyautogui
|
129
|
+
```
|
130
|
+
|
131
|
+
## Exemplo
|
132
|
+
|
133
|
+
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:
|
134
|
+
|
135
|
+
from rpa_suite import rpa
|
136
|
+
|
137
|
+
# Exemplo com função de execução em horario especifico
|
138
|
+
rpa.clock.exec_at_hour('13:53', my_function, param_a, param_b)
|
139
|
+
|
140
|
+
# Usando submódulo clock para aguardar 30(seg) para executar minha função
|
141
|
+
time = 30
|
142
|
+
rpa.clock.wait_for_exec(time, my_function, param1, param2)
|
143
|
+
|
144
|
+
# Usando submódulo email para envio de email por smtp comum
|
145
|
+
rpa.email.send_smtp(...)
|
146
|
+
|
147
|
+
## Dependências
|
148
|
+
|
149
|
+
No setup do nosso projeto já estão inclusas as dependências, só será necessário instalar nossa **Lib**, mas segue a lista das libs usadas:
|
150
|
+
|
151
|
+
- colorama
|
152
|
+
- loguru
|
153
|
+
- email-validator
|
154
|
+
- colorlog
|
155
|
+
- pillow
|
156
|
+
- pyautogui
|
157
|
+
- typing
|
158
|
+
|
159
|
+
opcionalmente para automação de navegador:
|
160
|
+
|
161
|
+
- selenium
|
162
|
+
- webdriver_manager
|
163
|
+
|
164
|
+
[!IMPORTANT]
|
165
|
+
No caso da função de screenshot é necessario ter as libs 'pyautogui' 'pillow' e 'pyscreeze' instalados, geralmente a instalação de pyautogui já instala as demais dependências deste caso.
|
166
|
+
|
167
|
+
## Estrutura do módulo
|
168
|
+
|
169
|
+
O módulo principal do rpa-suite é dividido em categorias. Cada categoria contém módulos com funções destinadas a categoria:
|
170
|
+
|
171
|
+
- **rpa_suite**
|
172
|
+
- **clock**
|
173
|
+
- **exec_at_hour** - Função que executa uma função no horário especificado "xx:yy", permitindo agendamento de tarefas com precisão.
|
174
|
+
- **wait_for_exec** - Função que aguarda um tempo em segundos antes de executar a função passada como argumento.
|
175
|
+
- **exec_and_wait** - Função que executa uma função e, em seguida, aguarda um tempo em segundos antes de continuar.
|
176
|
+
- **date**
|
177
|
+
- **get_hms** - Função que retorna hora, minuto e segundo formatados como strings.
|
178
|
+
- **get_dmy** - Função que retorna dia, mês e ano formatados como strings.
|
179
|
+
- **email**
|
180
|
+
- **send_smtp** - Função para envio de emails via SMTP com suporte a anexos e mensagens HTML, configurável e personalizável.
|
181
|
+
- **file**
|
182
|
+
- **screen_shot** - Função para capturar screenshots, criando diretórios e arquivos com nomes e caminhos personalizáveis.
|
183
|
+
- **flag_create** - Função para criar arquivos de flag indicando execução de processos.
|
184
|
+
- **flag_delete** - Função para deletar arquivos de flag após a execução de processos.
|
185
|
+
- **count_files** - Função para contar arquivos em diretórios, com suporte a extensões específicas.
|
186
|
+
- **directory**
|
187
|
+
- **create_temp_dir** - Função para criar diretórios temporários com nomes e caminhos personalizáveis.
|
188
|
+
- **delete_temp_dir** - Função para deletar diretórios temporários, com opção de remover arquivos contidos.
|
189
|
+
- **log**
|
190
|
+
- **config_logger** - Função para configurar logs com suporte a arquivos e streams, utilizando a biblioteca Loguru.
|
191
|
+
- **log_start_run_debug** - Função para registrar logs de início de execução em nível de depuração.
|
192
|
+
- **log_debug** - Função para registrar logs em nível de depuração.
|
193
|
+
- **log_info** - Função para registrar logs em nível informativo.
|
194
|
+
- **log_warning** - Função para registrar logs em nível de aviso.
|
195
|
+
- **log_error** - Função para registrar logs em nível de erro.
|
196
|
+
- **log_critical** - Função para registrar logs em nível crítico.
|
197
|
+
- **printer**
|
198
|
+
- **success_print** - Função para imprimir mensagens de sucesso com destaque em verde.
|
199
|
+
- **alert_print** - Função para imprimir mensagens de alerta com destaque em amarelo.
|
200
|
+
- **info_print** - Função para imprimir mensagens informativas com destaque em ciano.
|
201
|
+
- **error_print** - Função para imprimir mensagens de erro com destaque em vermelho.
|
202
|
+
- **regex**
|
203
|
+
- **check_pattern_in_text** - Função para verificar a presença de padrões em textos, com suporte a case-sensitive.
|
204
|
+
- **validate**
|
205
|
+
- **emails** - Função para validar listas de emails, retornando listas de emails válidos e inválidos.
|
206
|
+
- **word** - Função para buscar palavras ou padrões específicos em textos, com suporte a contagem de ocorrências.
|
207
|
+
- **browser**
|
208
|
+
- **start_browser** - Função para iniciar o navegador Chrome com suporte a depuração remota.
|
209
|
+
- **find_ele** - Função para localizar elementos na página utilizando estratégias de localização do Selenium.
|
210
|
+
- **get** - Função para navegar para URLs específicas.
|
211
|
+
- **close_browser** - Função para fechar o navegador e encerrar processos relacionados.
|
212
|
+
|
213
|
+
## Release
|
214
|
+
|
215
|
+
Versão: **Beta 1.4.6**
|
216
|
+
|
217
|
+
Lançamento: *20/02/2024*
|
218
|
+
|
219
|
+
Última atualização: *12/04/2025*
|
220
|
+
|
221
|
+
Status: Em desenvolvimento.
|
222
|
+
|
223
|
+
### Notas da atualização: 1.4.6
|
224
|
+
|
225
|
+
- 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
|
226
|
+
- 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
|
227
|
+
- Adicionado setor utils com funcionalidade de tornar o diretorio atual em um importavel relativo para o python
|
228
|
+
- 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.*
|
229
|
+
- Mantemos o alerta! **get_dma** atualizada e **renomeada** para **get_dmy** para manter o padrão em ingles
|
230
|
+
- Função *send_email* atualizada para simplificar seu uso e funcionalidade em uma maior variedade de maquinas
|
231
|
+
- Melhoria nas descrições das funções e adicionado docstring (documentação explicativa) de todos Objetos e respectivas funções
|
232
|
+
- Sub-modulos agora como são Objetos internos do Objeto principal Suite pode ser acessado de duas formas, ex1: " from rpa_suite import rpa ; rpa.modulo.function() " ou então ex2: "from rpa_suite.core.Submodulo import NomeModulo ; meu_obj = NomeModulo() ; meu_obj.function()",
|
233
|
+
- Funções de regex e busca em textos foi simplificada e em breve estaremos adicionando funcionalidades mais interessantes.
|
234
|
+
- Correção e melhoria do Submodulo de Log. Tinhamos dois formatos de Log com duas bibliotecas e decidimos optar apenas pela Loguru para podermos dedicar mais atenção e fornecer recursos de Log mais completos, agora possui funcionalidade para indicar o caminho da pasta, nome da pasta, e também nome do arquivo, realizando stream tanto para o console (terminal) como também para o arquivo com todos levels já configurados e personalizados para ter distinção e facilitar o reconhecimento visual do que esta acontecendo no seu projeto.
|
235
|
+
|
236
|
+
## Mais Sobre
|
237
|
+
|
238
|
+
Para mais informações, visite nosso projeto no Github ou PyPi:
|
239
|
+
|
240
|
+
[Ver no GitHub](https://github.com/CamiloCCarvalho/rpa_suite)
|
241
|
+
|
242
|
+
[Ver projeto publicado no PyPI](https://pypi.org/project/rpa-suite/)
|
243
|
+
|
244
|
+
<hr>
|
@@ -0,0 +1,205 @@
|
|
1
|
+

|
2
|
+
|
3
|
+
<h1 align="left">
|
4
|
+
RPA Suite
|
5
|
+
</h1>
|
6
|
+
<br>
|
7
|
+
|
8
|
+

|
9
|
+

|
10
|
+
|
11
|
+
---
|
12
|
+
|
13
|
+
## O que é?
|
14
|
+
|
15
|
+
**RPA Suite:** um conjunto abrangente de ferramentas projetadas para simplificar e otimizar o desenvolvimento de projetos de automação RPA com Python. Embora nossa suíte seja um conjunto de Ferramentas de RPA especializado, sua versatilidade a torna igualmente útil para uma ampla gama de projetos de desenvolvimento. Esta desenvolvendo com Selenium, Botcity ou Playwright? Experimente a RPA Suite e descubra como podemos facilitar seu projeto, ou qualquer projeto de Robôs de Software.
|
16
|
+
|
17
|
+
## Sumário do conteudo
|
18
|
+
|
19
|
+
- [O que é?](#o-que-é)
|
20
|
+
- [Sumário do conteudo](#sumário-do-conteudo)
|
21
|
+
- [Destaque](#destaque)
|
22
|
+
- [Objetivo](#objetivo)
|
23
|
+
- [Instalação](#instalação)
|
24
|
+
- [Exemplo](#exemplo)
|
25
|
+
- [Dependências](#dependências)
|
26
|
+
- [Estrutura do módulo](#estrutura-do-módulo)
|
27
|
+
- [Release](#release)
|
28
|
+
- [Notas da atualização: 1.4.6](#notas-da-atualização-146)
|
29
|
+
- [Mais Sobre](#mais-sobre)
|
30
|
+
|
31
|
+
## Destaque
|
32
|
+
|
33
|
+
**Versátil**: Além da Automação de Processos e criação de BOT em RPA, mas também para uso geral podendo ser aplicadas em outros modelos de projeto, *além do RPA*.
|
34
|
+
|
35
|
+
**Simples**: Construímos as ferramentas de maneira mais direta e assertiva possível, utilizando apenas bibliotecas conhecidas no mercado para garantir o melhor desempenho possível.
|
36
|
+
|
37
|
+
## Objetivo
|
38
|
+
|
39
|
+
Nosso objetivo é se tornar a Biblioteca Python para RPA referência. Tornando o desenvolvimento de RPAs mais produtivo, oferecendo uma gama de funções para tal:
|
40
|
+
|
41
|
+
- Envio de emails (já configurado e personalizavel)
|
42
|
+
- Validação de emails (limpeza e tratamento)
|
43
|
+
- Busca por palavras, strings ou substrings (patterns) em textos.
|
44
|
+
- Criação e deleção de pasta/arquivo temporário com um comando
|
45
|
+
- Console com mensagens de melhor visualização com cores definidas para alerta, erro, informativo e sucesso.
|
46
|
+
- E muito mais
|
47
|
+
|
48
|
+
## Instalação
|
49
|
+
|
50
|
+
Para **instalar** o projeto, utilize o comando:
|
51
|
+
|
52
|
+
```python
|
53
|
+
>>> python -m pip install rpa-suite
|
54
|
+
```
|
55
|
+
|
56
|
+
ou no conda:
|
57
|
+
|
58
|
+
```python
|
59
|
+
conda install -c conda-forge rpa-suite
|
60
|
+
```
|
61
|
+
|
62
|
+
Após instalação basta fazer a importação do modulo rpa que ja tera um objeto instanciado de ``suite``:
|
63
|
+
|
64
|
+
```python
|
65
|
+
from rpa_suite import rpa
|
66
|
+
```
|
67
|
+
|
68
|
+
Feito isso já estará pronto para o uso:
|
69
|
+
|
70
|
+
```python
|
71
|
+
# function send mail by SMTP
|
72
|
+
rpa.email.send_mail(...)
|
73
|
+
```
|
74
|
+
|
75
|
+
> [!NOTE]
|
76
|
+
>
|
77
|
+
> Para **desinstalar** o projeto, utilize o comando abaixo.
|
78
|
+
> **Obs.:** como usamos algumas libs no projeto, lembre-se de desinstar elas caso necessário.
|
79
|
+
|
80
|
+
```python
|
81
|
+
>>> python -m pip uninstall rpa-suite
|
82
|
+
```
|
83
|
+
|
84
|
+
> [!IMPORTANT]
|
85
|
+
>
|
86
|
+
> Opcionalmente você pode querer desinstalar as libs que foram inclusas no projeto, sendo assim:
|
87
|
+
|
88
|
+
```python
|
89
|
+
>>> python -m pip uninstall loguru mail_validator colorama pillow pyautogui
|
90
|
+
```
|
91
|
+
|
92
|
+
## Exemplo
|
93
|
+
|
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:
|
95
|
+
|
96
|
+
from rpa_suite import rpa
|
97
|
+
|
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)
|
100
|
+
|
101
|
+
# Usando submódulo clock para aguardar 30(seg) para executar minha função
|
102
|
+
time = 30
|
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(...)
|
107
|
+
|
108
|
+
## Dependências
|
109
|
+
|
110
|
+
No setup do nosso projeto já estão inclusas as dependências, só será necessário instalar nossa **Lib**, mas segue a lista das libs usadas:
|
111
|
+
|
112
|
+
- colorama
|
113
|
+
- loguru
|
114
|
+
- email-validator
|
115
|
+
- colorlog
|
116
|
+
- pillow
|
117
|
+
- pyautogui
|
118
|
+
- typing
|
119
|
+
|
120
|
+
opcionalmente para automação de navegador:
|
121
|
+
|
122
|
+
- selenium
|
123
|
+
- webdriver_manager
|
124
|
+
|
125
|
+
[!IMPORTANT]
|
126
|
+
No caso da função de screenshot é necessario ter as libs 'pyautogui' 'pillow' e 'pyscreeze' instalados, geralmente a instalação de pyautogui já instala as demais dependências deste caso.
|
127
|
+
|
128
|
+
## Estrutura do módulo
|
129
|
+
|
130
|
+
O módulo principal do rpa-suite é dividido em categorias. Cada categoria contém módulos com funções destinadas a categoria:
|
131
|
+
|
132
|
+
- **rpa_suite**
|
133
|
+
- **clock**
|
134
|
+
- **exec_at_hour** - Função que executa uma função no horário especificado "xx:yy", permitindo agendamento de tarefas com precisão.
|
135
|
+
- **wait_for_exec** - Função que aguarda um tempo em segundos antes de executar a função passada como argumento.
|
136
|
+
- **exec_and_wait** - Função que executa uma função e, em seguida, aguarda um tempo em segundos antes de continuar.
|
137
|
+
- **date**
|
138
|
+
- **get_hms** - Função que retorna hora, minuto e segundo formatados como strings.
|
139
|
+
- **get_dmy** - Função que retorna dia, mês e ano formatados como strings.
|
140
|
+
- **email**
|
141
|
+
- **send_smtp** - Função para envio de emails via SMTP com suporte a anexos e mensagens HTML, configurável e personalizável.
|
142
|
+
- **file**
|
143
|
+
- **screen_shot** - Função para capturar screenshots, criando diretórios e arquivos com nomes e caminhos personalizáveis.
|
144
|
+
- **flag_create** - Função para criar arquivos de flag indicando execução de processos.
|
145
|
+
- **flag_delete** - Função para deletar arquivos de flag após a execução de processos.
|
146
|
+
- **count_files** - Função para contar arquivos em diretórios, com suporte a extensões específicas.
|
147
|
+
- **directory**
|
148
|
+
- **create_temp_dir** - Função para criar diretórios temporários com nomes e caminhos personalizáveis.
|
149
|
+
- **delete_temp_dir** - Função para deletar diretórios temporários, com opção de remover arquivos contidos.
|
150
|
+
- **log**
|
151
|
+
- **config_logger** - Função para configurar logs com suporte a arquivos e streams, utilizando a biblioteca Loguru.
|
152
|
+
- **log_start_run_debug** - Função para registrar logs de início de execução em nível de depuração.
|
153
|
+
- **log_debug** - Função para registrar logs em nível de depuração.
|
154
|
+
- **log_info** - Função para registrar logs em nível informativo.
|
155
|
+
- **log_warning** - Função para registrar logs em nível de aviso.
|
156
|
+
- **log_error** - Função para registrar logs em nível de erro.
|
157
|
+
- **log_critical** - Função para registrar logs em nível crítico.
|
158
|
+
- **printer**
|
159
|
+
- **success_print** - Função para imprimir mensagens de sucesso com destaque em verde.
|
160
|
+
- **alert_print** - Função para imprimir mensagens de alerta com destaque em amarelo.
|
161
|
+
- **info_print** - Função para imprimir mensagens informativas com destaque em ciano.
|
162
|
+
- **error_print** - Função para imprimir mensagens de erro com destaque em vermelho.
|
163
|
+
- **regex**
|
164
|
+
- **check_pattern_in_text** - Função para verificar a presença de padrões em textos, com suporte a case-sensitive.
|
165
|
+
- **validate**
|
166
|
+
- **emails** - Função para validar listas de emails, retornando listas de emails válidos e inválidos.
|
167
|
+
- **word** - Função para buscar palavras ou padrões específicos em textos, com suporte a contagem de ocorrências.
|
168
|
+
- **browser**
|
169
|
+
- **start_browser** - Função para iniciar o navegador Chrome com suporte a depuração remota.
|
170
|
+
- **find_ele** - Função para localizar elementos na página utilizando estratégias de localização do Selenium.
|
171
|
+
- **get** - Função para navegar para URLs específicas.
|
172
|
+
- **close_browser** - Função para fechar o navegador e encerrar processos relacionados.
|
173
|
+
|
174
|
+
## Release
|
175
|
+
|
176
|
+
Versão: **Beta 1.4.6**
|
177
|
+
|
178
|
+
Lançamento: *20/02/2024*
|
179
|
+
|
180
|
+
Última atualização: *12/04/2025*
|
181
|
+
|
182
|
+
Status: Em desenvolvimento.
|
183
|
+
|
184
|
+
### Notas da atualização: 1.4.6
|
185
|
+
|
186
|
+
- 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
|
187
|
+
- 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
|
188
|
+
- Adicionado setor utils com funcionalidade de tornar o diretorio atual em um importavel relativo para o python
|
189
|
+
- 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.*
|
190
|
+
- Mantemos o alerta! **get_dma** atualizada e **renomeada** para **get_dmy** para manter o padrão em ingles
|
191
|
+
- Função *send_email* atualizada para simplificar seu uso e funcionalidade em uma maior variedade de maquinas
|
192
|
+
- Melhoria nas descrições das funções e adicionado docstring (documentação explicativa) de todos Objetos e respectivas funções
|
193
|
+
- Sub-modulos agora como são Objetos internos do Objeto principal Suite pode ser acessado de duas formas, ex1: " from rpa_suite import rpa ; rpa.modulo.function() " ou então ex2: "from rpa_suite.core.Submodulo import NomeModulo ; meu_obj = NomeModulo() ; meu_obj.function()",
|
194
|
+
- Funções de regex e busca em textos foi simplificada e em breve estaremos adicionando funcionalidades mais interessantes.
|
195
|
+
- Correção e melhoria do Submodulo de Log. Tinhamos dois formatos de Log com duas bibliotecas e decidimos optar apenas pela Loguru para podermos dedicar mais atenção e fornecer recursos de Log mais completos, agora possui funcionalidade para indicar o caminho da pasta, nome da pasta, e também nome do arquivo, realizando stream tanto para o console (terminal) como também para o arquivo com todos levels já configurados e personalizados para ter distinção e facilitar o reconhecimento visual do que esta acontecendo no seu projeto.
|
196
|
+
|
197
|
+
## Mais Sobre
|
198
|
+
|
199
|
+
Para mais informações, visite nosso projeto no Github ou PyPi:
|
200
|
+
|
201
|
+
[Ver no GitHub](https://github.com/CamiloCCarvalho/rpa_suite)
|
202
|
+
|
203
|
+
[Ver projeto publicado no PyPI](https://pypi.org/project/rpa-suite/)
|
204
|
+
|
205
|
+
<hr>
|
@@ -26,6 +26,7 @@
|
|
26
26
|
``printer``: Functions for formatted output
|
27
27
|
``regex``: Operations with regular expressions
|
28
28
|
``validate``: Data validation functions
|
29
|
+
``Browser``: Object Browser automation functions (neeeds Selenium and Webdriver_Manager)
|
29
30
|
|
30
31
|
pt-br
|
31
32
|
-----
|
@@ -55,6 +56,8 @@
|
|
55
56
|
``printer``: Funções para output formatado
|
56
57
|
``regex``: Operações com expressões regulares
|
57
58
|
``validate``: Funções de validação de dados
|
59
|
+
``Browser``: Objeto de Automação de Navegadores (necessario Selenium e Webdriver_Manager)
|
58
60
|
"""
|
59
61
|
|
60
|
-
from .suite import
|
62
|
+
from .suite import rpa
|
63
|
+
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
|
-
|
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
|
-
|
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,3 +32,13 @@ from .log import Log
|
|
25
32
|
from .print import Print
|
26
33
|
from .regex import Regex
|
27
34
|
from .validate import Validate
|
35
|
+
|
36
|
+
|
37
|
+
|
38
|
+
# On this case, we are importing the Browser class only if the selenium and webdriver_manager modules are installed.
|
39
|
+
# This is useful to avoid unnecessary imports and dependencies if the user does not need the Browser functionality.
|
40
|
+
import importlib.util
|
41
|
+
|
42
|
+
# from .browser import Browser
|
43
|
+
if importlib.util.find_spec("selenium") and importlib.util.find_spec("webdriver_manager"):
|
44
|
+
from .browser import Browser
|