![RPA Suite](https://raw.githubusercontent.com/CamiloCCarvalho/rpa_suite/db6977ef087b1d8c6d1053c6e0bafab6b690ac61/logo-rpa-suite.svg)
<h1 align="left">
RPA Suite
</h1>
<br>
![PyPI Latest Release](https://img.shields.io/pypi/v/rpa-suite.svg)
![PyPI Downloads](https://img.shields.io/pypi/dm/rpa-suite.svg?label=PyPI%20downloads)
-----------------
## O que é?
**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.
## Sumário do conteudo
- [Destaque](#destaque)
- [Objetivo](#objetivo)
- [Instalação](#instalação)
- [Exemplo](#exemplo)
- [Dependências](#dependências)
- [Estrutura do módulo](#estrutura-do-módulo)
- [Versão do projeto](#versão-do-projeto)
- [Mais Sobre](#mais-sobre)
## Destaque
**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*.
**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.
## Objetivo
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:
- Envio de emails (já configurado e personalizavel)
- Validação de emails (limpeza e tratamento)
- Busca por palavras, strings ou substrings (patterns) em textos.
- Criação e deleção de pasta/arquivo temporário com um comando
- Console com mensagens de melhor visualização com cores definidas para alerta, erro, informativo e sucesso.
- E muito mais
## Instalação
Para **instalar** o projeto, utilize o comando:
~~~python
>>> python -m pip install rpa-suite
~~~
ou no conda:
~~~python
conda install -c conda-forge rpa-suite
~~~
Após instalação basta fazer a importação do modulo e instanciar o Objeto ``suite``:
~~~~python
from rpa_suite import suite as rpa
~~~~
Feito isso já estará pronto para o uso:
~~~~python
# function send mail by SMTP
rpa.send_mail(...)
~~~~
>[!NOTE]
>
>Para **desinstalar** o projeto, utilize o comando abaixo.
>**Obs.:** como usamos algumas libs no projeto, lembre-se de desinstar elas caso necessário.
~~~~python
>>> python -m pip uninstall rpa-suite
~~~~
>[!IMPORTANT]
>
>Opcionalmente você pode querer desinstalar as libs que foram inclusas no projeto, sendo assim:
~~~~python
>>> python -m pip uninstall loguru mail_validator colorama
~~~~
## Exemplo
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:
from rpa_suite import suite as rpa
# Usando a função de envio de email por SMTP default
rpa.send_email(my_email, my_pass, mail_to, subject, message_body)
# Usando submódulo clock para aguardar 30 (seg) e então executar uma função
time = 30
rpa.wait_for_exec(time, my_function, param1, param2)
## Dependências
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:
- colorama
- loguru
- email-validator
- colorlog
[!IMPORTANT]
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.
## Estrutura do módulo
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
- **rpa_suite**
- **clock**
- **waiter** - Função capaz de aguardar para executar a função do argumento, ou executar a função do argumento para aguardar posteriormente
- **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
- **date**
- **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
- **email**
- **sender_smtp** - Funções para envio de email SMPT com configuração simples já default porem personalizavel
- **file**
- **counter** - Funções para contagem de arquivos
- **temp_dir** - Funções para diretórios temporários
- **screen_shot** - Função para criar diretório e arquivo de print com nome do diretório, arquivo e delay personalizáveis
- **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
- **log**
- **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
- **functions_logger_uru** - Funções de log parecida com os prints personalizados, setadas e personalizadas para todos log levels usado pelo ´logger_uru´, já escreve no arquivo setado além de gerar o print no terminal
- **printer** - Funções de print personalizados (alerta, erro, sucesso, informativo)
- **regex**
- **pattern_in_text** - Função para otimizar o uso mais comum de regex buscando padrões em um texto
- **validate**
- **mail_validator** - Função para validar lista de emails, devolvendo a lista com emails validos a partir da lista original
- **string_validator** - Função que valida presença de letras, palavras, e textos e possibilita contar as ocorrencias em uma string
## Release
Versão: **Beta 1.3.2**
Lançamento: *20/02/2024*
Última atualização: *10/11/2024*
Status: Em desenvolvimento.
#
### Notas da atualização: 1.3.2
- Correções de bugs em diversas funções relacionadas a tempo: *exec_at_hour* , *wait_for_exec* , *exec_and_wait*
- Correções de bugs com tempo superior a 10 minutos nas funções de data: *get_hms* e *get_dma*
- Função **get_dma** atualizada e **renomeada** para **get_dmy** para manter o padrão em ingles
- Função *send_email* atualizada para suportar autenticação *SSL* ou *TLS* via argumentos recebidos nos parametros
- Adicionado parametro de *"display_message"* para o usuario poder ativar ou desativar as mensagens de console em cada função
- Correção de bug na função *"count_files"* para realizar de maneira correta a soma de todos arquivos nos diretórios
- Funções de regex e busca em textos por strings e palavras atualizadas
- Implementado nova função para arquivo de flag para execuções, no submodulo file, as funções são: *"file_flag_create"* e *"file_flag_delete"*
- correção de imports no arquivo suite.py das funções *"get_dmy"* e *"search_str_in"*
- ajuste de cores no svg da logo rpa-suite
## Mais Sobre
Para mais informações, visite nosso projeto no Github ou PyPi:
<br>
<a href='https://github.com/CamiloCCarvalho/rpa_suite' target='_blank'>
Ver no GitHub.
</a>
<br>
<a href='https://pypi.org/project/rpa-suite/' target='_blank'>
Ver projeto publicado no PyPI.
</a>
<hr>
Raw data
{
"_id": null,
"home_page": null,
"name": "rpa-suite",
"maintainer": null,
"docs_url": null,
"requires_python": null,
"maintainer_email": null,
"keywords": "basic-tools, email-tools, email-validation, file-tools, simple-functions, rpa-tools, rpa-functions, Tools, Rpa, Automation, RPA, Automa\u00e7\u00e3o, Python, Ferramentas de RPA, Automa\u00e7\u00e3o de Processos, Biblioteca Python para RPA, Bot, Rob\u00f4, Ferramentas de automa\u00e7\u00e3o",
"author": "Camilo Costa de Carvalho",
"author_email": "camilo.carvalho@triasoftware.com.br",
"download_url": "https://files.pythonhosted.org/packages/cd/51/329a57f81c1e87252e7427af8e5de665e86f56f9e2a939c4e7365cf94e32/rpa_suite-1.3.2.tar.gz",
"platform": null,
"description": "![RPA Suite](https://raw.githubusercontent.com/CamiloCCarvalho/rpa_suite/db6977ef087b1d8c6d1053c6e0bafab6b690ac61/logo-rpa-suite.svg)\r\n\r\n<h1 align=\"left\">\r\n RPA Suite\r\n</h1>\r\n<br>\r\n\r\n![PyPI Latest Release](https://img.shields.io/pypi/v/rpa-suite.svg)\r\n![PyPI Downloads](https://img.shields.io/pypi/dm/rpa-suite.svg?label=PyPI%20downloads)\r\n\r\n-----------------\r\n\r\n## O que \u00e9?\r\n**RPA Suite:** um conjunto abrangente de ferramentas projetadas para simplificar e otimizar o desenvolvimento de projetos de automa\u00e7\u00e3o RPA com Python. Embora nossa su\u00edte seja um conjunto de Ferramentas de RPA especializado, sua versatilidade a torna igualmente \u00fatil 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\u00f4s de Software.\r\n\r\n## Sum\u00e1rio do conteudo\r\n\r\n- [Destaque](#destaque)\r\n- [Objetivo](#objetivo)\r\n- [Instala\u00e7\u00e3o](#instala\u00e7\u00e3o)\r\n- [Exemplo](#exemplo)\r\n- [Depend\u00eancias](#depend\u00eancias)\r\n- [Estrutura do m\u00f3dulo](#estrutura-do-m\u00f3dulo)\r\n- [Vers\u00e3o do projeto](#vers\u00e3o-do-projeto)\r\n- [Mais Sobre](#mais-sobre)\r\n\r\n## Destaque\r\n\r\n**Vers\u00e1til**: Al\u00e9m da Automa\u00e7\u00e3o de Processos e cria\u00e7\u00e3o de BOT em RPA, mas tamb\u00e9m para uso geral podendo ser aplicadas em outros modelos de projeto, *al\u00e9m do RPA*.\r\n\r\n**Simples**: Constru\u00edmos as ferramentas de maneira mais direta e assertiva poss\u00edvel, utilizando apenas bibliotecas conhecidas no mercado para garantir o melhor desempenho poss\u00edvel.\r\n\r\n## Objetivo\r\n\r\nNosso objetivo \u00e9 se tornar a Biblioteca Python para RPA refer\u00eancia. Tornando o desenvolvimento de RPAs mais produtivo, oferecendo uma gama de fun\u00e7\u00f5es para tal:\r\n\r\n- Envio de emails (j\u00e1 configurado e personalizavel)\r\n- Valida\u00e7\u00e3o de emails (limpeza e tratamento)\r\n- Busca por palavras, strings ou substrings (patterns) em textos.\r\n- Cria\u00e7\u00e3o e dele\u00e7\u00e3o de pasta/arquivo tempor\u00e1rio com um comando\r\n- Console com mensagens de melhor visualiza\u00e7\u00e3o com cores definidas para alerta, erro, informativo e sucesso.\r\n- E muito mais\r\n\r\n## Instala\u00e7\u00e3o\r\nPara **instalar** o projeto, utilize o comando:\r\n\r\n~~~python\r\n>>> python -m pip install rpa-suite\r\n~~~\r\nou no conda:\r\n~~~python\r\nconda install -c conda-forge rpa-suite\r\n~~~\r\n\r\nAp\u00f3s instala\u00e7\u00e3o basta fazer a importa\u00e7\u00e3o do modulo e instanciar o Objeto ``suite``:\r\n~~~~python\r\nfrom rpa_suite import suite as rpa\r\n~~~~\r\n\r\nFeito isso j\u00e1 estar\u00e1 pronto para o uso:\r\n~~~~python\r\n# function send mail by SMTP \r\nrpa.send_mail(...)\r\n~~~~\r\n\r\n>[!NOTE]\r\n>\r\n>Para **desinstalar** o projeto, utilize o comando abaixo.\r\n>**Obs.:** como usamos algumas libs no projeto, lembre-se de desinstar elas caso necess\u00e1rio.\r\n\r\n~~~~python\r\n>>> python -m pip uninstall rpa-suite\r\n~~~~\r\n\r\n>[!IMPORTANT]\r\n>\r\n>Opcionalmente voc\u00ea pode querer desinstalar as libs que foram inclusas no projeto, sendo assim:\r\n\r\n~~~~python\r\n>>> python -m pip uninstall loguru mail_validator colorama\r\n~~~~\r\n\r\n\r\n## Exemplo\r\nDo m\u00f3dulo principal, importe a suite. Ela retorna uma inst\u00e2ncia do Objeto de classe Rpa_suite, onde possui vari\u00e1veis apontando para todas fun\u00e7\u00f5es dos subm\u00f3dulos:\r\n\r\n from rpa_suite import suite as rpa\r\n\r\n # Usando a fun\u00e7\u00e3o de envio de email por SMTP default\r\n rpa.send_email(my_email, my_pass, mail_to, subject, message_body)\r\n\r\n\r\n # Usando subm\u00f3dulo clock para aguardar 30 (seg) e ent\u00e3o executar uma fun\u00e7\u00e3o\r\n time = 30\r\n rpa.wait_for_exec(time, my_function, param1, param2)\r\n\r\n\r\n## Depend\u00eancias\r\nNo setup do nosso projeto j\u00e1 est\u00e3o inclusas as depend\u00eancias, s\u00f3 ser\u00e1 necess\u00e1rio instalar nossa **Lib**, mas segue a lista das libs usadas:\r\n- colorama\r\n- loguru\r\n- email-validator\r\n- colorlog\r\n\r\n[!IMPORTANT]\r\nNo caso da fun\u00e7\u00e3o de screenshot \u00e9 necessario ter as libs 'pyautogui' 'pillow' e 'pyscreeze' instalados, geralmente a instala\u00e7\u00e3o de pyautogui j\u00e1 instala as demais depend\u00eancias deste caso.\r\n \r\n## Estrutura do m\u00f3dulo\r\nO m\u00f3dulo principal do rpa-suite \u00e9 dividido em categorias. Cada categoria cont\u00e9m m\u00f3dulos com fun\u00e7\u00f5es destinadas a cada tipo de tarefa\r\n- **rpa_suite**\r\n - **clock**\r\n - **waiter** - Fun\u00e7\u00e3o capaz de aguardar para executar a fun\u00e7\u00e3o do argumento, ou executar a fun\u00e7\u00e3o do argumento para aguardar posteriormente\r\n - **exec_at** - Fun\u00e7\u00e3o capaz de executar a fun\u00e7\u00e3o 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\u00f3digo podendo gerar varia\u00e7\u00f5es pela propria natureza da aplica\u00e7\u00e3o\r\n - **date**\r\n - **date** - Fun\u00e7\u00f5es capazes de extrair dia/mes/ano e hora/min/seg, facilitando a necessidade de formatar o resultado de datetime, a fun\u00e7\u00e3o ja devolve os valores em trio formatados em string\r\n - **email**\r\n - **sender_smtp** - Fun\u00e7\u00f5es para envio de email SMPT com configura\u00e7\u00e3o simples j\u00e1 default porem personalizavel\r\n - **file**\r\n - **counter** - Fun\u00e7\u00f5es para contagem de arquivos\r\n - **temp_dir** - Fun\u00e7\u00f5es para diret\u00f3rios tempor\u00e1rios\r\n - **screen_shot** - Fun\u00e7\u00e3o para criar diret\u00f3rio e arquivo de print com nome do diret\u00f3rio, arquivo e delay personaliz\u00e1veis\r\n - **file_flag** - Fun\u00e7\u00f5es para criar e deletar arquivo utilizado como flag de execu\u00e7\u00e3o, tendo path e nome do arquivo j\u00e1 automatico porem personalizavel para se adequar ao seu projeto\r\n - **log**\r\n - **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\u00e7\u00f5es de log\r\n - **functions_logger_uru** - Fun\u00e7\u00f5es de log parecida com os prints personalizados, setadas e personalizadas para todos log levels usado pelo \u00b4logger_uru\u00b4, j\u00e1 escreve no arquivo setado al\u00e9m de gerar o print no terminal\r\n - **printer** - Fun\u00e7\u00f5es de print personalizados (alerta, erro, sucesso, informativo)\r\n - **regex**\r\n - **pattern_in_text** - Fun\u00e7\u00e3o para otimizar o uso mais comum de regex buscando padr\u00f5es em um texto\r\n - **validate**\r\n - **mail_validator** - Fun\u00e7\u00e3o para validar lista de emails, devolvendo a lista com emails validos a partir da lista original \r\n - **string_validator** - Fun\u00e7\u00e3o que valida presen\u00e7a de letras, palavras, e textos e possibilita contar as ocorrencias em uma string\r\n\r\n## Release\r\nVers\u00e3o: **Beta 1.3.2**\r\n\r\nLan\u00e7amento: *20/02/2024*\r\n\r\n\u00daltima atualiza\u00e7\u00e3o: *10/11/2024*\r\n\r\nStatus: Em desenvolvimento.\r\n\r\n#\r\n### Notas da atualiza\u00e7\u00e3o: 1.3.2\r\n\r\n- Corre\u00e7\u00f5es de bugs em diversas fun\u00e7\u00f5es relacionadas a tempo: *exec_at_hour* , *wait_for_exec* , *exec_and_wait*\r\n- Corre\u00e7\u00f5es de bugs com tempo superior a 10 minutos nas fun\u00e7\u00f5es de data: *get_hms* e *get_dma*\r\n- Fun\u00e7\u00e3o **get_dma** atualizada e **renomeada** para **get_dmy** para manter o padr\u00e3o em ingles\r\n- Fun\u00e7\u00e3o *send_email* atualizada para suportar autentica\u00e7\u00e3o *SSL* ou *TLS* via argumentos recebidos nos parametros\r\n- Adicionado parametro de *\"display_message\"* para o usuario poder ativar ou desativar as mensagens de console em cada fun\u00e7\u00e3o\r\n- Corre\u00e7\u00e3o de bug na fun\u00e7\u00e3o *\"count_files\"* para realizar de maneira correta a soma de todos arquivos nos diret\u00f3rios\r\n- Fun\u00e7\u00f5es de regex e busca em textos por strings e palavras atualizadas\r\n- Implementado nova fun\u00e7\u00e3o para arquivo de flag para execu\u00e7\u00f5es, no submodulo file, as fun\u00e7\u00f5es s\u00e3o: *\"file_flag_create\"* e *\"file_flag_delete\"*\r\n- corre\u00e7\u00e3o de imports no arquivo suite.py das fun\u00e7\u00f5es *\"get_dmy\"* e *\"search_str_in\"*\r\n- ajuste de cores no svg da logo rpa-suite\r\n\r\n## Mais Sobre\r\n\r\nPara mais informa\u00e7\u00f5es, visite nosso projeto no Github ou PyPi:\r\n<br>\r\n<a href='https://github.com/CamiloCCarvalho/rpa_suite' target='_blank'>\r\n Ver no GitHub.\r\n</a>\r\n<br>\r\n<a href='https://pypi.org/project/rpa-suite/' target='_blank'>\r\n Ver projeto publicado no PyPI.\r\n</a>\r\n\r\n<hr>\r\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Conjunto de ferramentas essenciais para Automa\u00e7\u00e3o RPA com Python, que facilitam o dia a dia de desenvolvimento.",
"version": "1.3.2",
"project_urls": null,
"split_keywords": [
"basic-tools",
" email-tools",
" email-validation",
" file-tools",
" simple-functions",
" rpa-tools",
" rpa-functions",
" tools",
" rpa",
" automation",
" rpa",
" automa\u00e7\u00e3o",
" python",
" ferramentas de rpa",
" automa\u00e7\u00e3o de processos",
" biblioteca python para rpa",
" bot",
" rob\u00f4",
" ferramentas de automa\u00e7\u00e3o"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "21ece40b232b73b4681ca8984e8f85795d3e9c748c23629134a4703664a1496b",
"md5": "d6f4df7347f95a428a7448809ced42ab",
"sha256": "5eb00189684d2d038a45bb62f789c6cf87a3c73f201afb492091d07d08e627e1"
},
"downloads": -1,
"filename": "rpa_suite-1.3.2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "d6f4df7347f95a428a7448809ced42ab",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 36069,
"upload_time": "2024-11-10T20:09:07",
"upload_time_iso_8601": "2024-11-10T20:09:07.817758Z",
"url": "https://files.pythonhosted.org/packages/21/ec/e40b232b73b4681ca8984e8f85795d3e9c748c23629134a4703664a1496b/rpa_suite-1.3.2-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "cd51329a57f81c1e87252e7427af8e5de665e86f56f9e2a939c4e7365cf94e32",
"md5": "f79f35bc1c965fd9f12e52918368acff",
"sha256": "4233e0e161b721535f3842c4b9ade0b657649f913e287832524e4342dc362b33"
},
"downloads": -1,
"filename": "rpa_suite-1.3.2.tar.gz",
"has_sig": false,
"md5_digest": "f79f35bc1c965fd9f12e52918368acff",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 28637,
"upload_time": "2024-11-10T20:09:08",
"upload_time_iso_8601": "2024-11-10T20:09:08.970479Z",
"url": "https://files.pythonhosted.org/packages/cd/51/329a57f81c1e87252e7427af8e5de665e86f56f9e2a939c4e7365cf94e32/rpa_suite-1.3.2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-11-10 20:09:08",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "rpa-suite"
}