CLI para geração de estrutura de projetos RPA
This project has been archived.
The maintainers of this project have marked this project as archived. No new releases are expected.
Project description
🚀 rpa-arc cria a estrutura base de um projeto RPA em Python num piscar de olhos.
> Sem firula, na lata: um comando e pronto—you’re ready to automate.
Por que usar rpa-arc?
Simplicidade visionária: seu projeto nasce 100% organizadinho
CLI intuitiva: zig-zag, um rpa-arc nome-do-projeto e tudo se alinha
Flexível: gera na raiz ou em subpasta, você escolhe
Estrutura completa: inclui tudo que você precisa para um projeto RPA profissional
Requisitos
Python 3.7+
requests
python-dotenv
selenium
webdriver-manager
Instalação
pip install rpa-arc
Uso
# Cria ./meu-projeto/
rpa-arc meu-projeto
# Gera estrutura na raiz atual (se não passar nome)
rpa-arc
Estrutura Gerada
A biblioteca cria uma estrutura completa e organizada para projetos RPA:
meu-projeto/ # ou cwd/ se não passar nome
├── src/
│ ├── app/
│ │ └── app.py
│ ├── core/
│ │ ├── logger.py # Sistema de logs com rotação diária
│ │ └── driver.py # Gerenciador de navegador Chrome
│ ├── api/
│ │ └── Api.py # Cliente API com autenticação JWT
│ ├── integracoes/ # Módulos de integração
│ └── utils/ # Utilitários
│ └── helpers/ # Helpers específicos
├── config/ # Arquivos de configuração
├── dados/ # Dados e arquivos processados
├── logs/ # Logs do sistema
├── tests/ # Testes automatizados
├── .gitignore # Configuração Git
├── .dockerignore # Configuração Docker
├── Dockerfile # Container Docker
├── requirements.txt # Dependências Python
├── .env # Variáveis de ambiente
├── main.py # Ponto de entrada
└── README.md # Documentação do projeto
Funcionalidades Principais
Sistema de Logs (logger.py)
Logs com rotação diária automática
Saída para console e arquivo
Formatação padronizada de timestamps
Configuração flexível de níveis
from src.core.logger import Logger
logger = Logger("meu_modulo").get_logger()
logger.info("Iniciando processo RPA")
logger.error("Erro encontrado")
Cliente API (Api.py)
Autenticação JWT automática
Renovação automática de tokens
Upload de arquivos para S3
Sistema de logs integrado
Tratamento de erros robusto
from src.api.Api import Api
api = Api(hostname="api.exemplo.com")
api.CheckToken() # Valida/renova token automaticamente
# Upload de arquivo para S3
resultado = api.EnviarArquivoS3(
"logs/2024-01-15.log",
"rpa/relatorios/2024-01-15.log"
)
Docker
O projeto inclui um Dockerfile otimizado com:
Python 3.12-slim
Dependências do sistema para Chrome
Configuração de timezone (America/Sao_Paulo)
Estrutura pronta para containerização
docker build -t meu-projeto-rpa .
docker run meu-projeto-rpa
Exemplo de Uso Completo
# main.py
from src.core.logger import Logger
from src.core.driver import GerenciadorNavegador
from src.api.Api import Api
def main():
# Inicializar logger
logger = Logger("rpa_processo").get_logger()
logger.info("Iniciando automação RPA")
try:
# Configurar navegador
navegador = GerenciadorNavegador()
driver = navegador.obter_navegador()
# Navegar para site
driver.get("https://exemplo.com")
logger.info("Site acessado com sucesso")
# Processar dados...
# Enviar logs para API
api = Api()
api.InserirLogApi(
nivel_log="INFO",
endpoint="/processo",
dados_requisicao={"status": "sucesso"},
mensagem="Processo concluído"
)
except Exception as e:
logger.error(f"Erro no processo: {e}")
finally:
if driver:
driver.quit()
if __name__ == "__main__":
main()
Configuração de Ambiente
Crie um arquivo .env com suas configurações:
# API Configuration
URL_API_RPA_V2=https://api.exemplo.com/v2
USER_API_RPA=seu_usuario
SENHA_API_RPA=sua_senha
# Logs
LOG_LEVEL=INFO
# Downloads
DOWNLOAD_DIR=dados/arquivos
Contribuição
Sério, sua ajuda importa. Abra uma issue ou mande um PR—qualquer sugestão é bem-vinda.
Para contribuir:
Faça um fork do projeto
Crie uma branch para sua feature (git checkout -b feature/AmazingFeature)
Commit suas mudanças (git commit -m 'Add some AmazingFeature')
Push para a branch (git push origin feature/AmazingFeature)
Abra um Pull Request
Licença
MIT License. Veja o LICENSE para detalhes.
Changelog
0.1.0
Versão inicial
CLI para geração de estrutura
Sistema de logs com rotação diária
Gerenciador de navegador Chrome
Cliente API com autenticação JWT
Suporte a Docker
Estrutura completa de projeto RPA
Links
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file rpa_arc-0.4.0.tar.gz.
File metadata
- Download URL: rpa_arc-0.4.0.tar.gz
- Upload date:
- Size: 23.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.10.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e7d9b0a4206293e8efacfce013dbfc16f47d90c881f548070b9cefad581c121e
|
|
| MD5 |
11337443304da9d2fb9e72e7061d449c
|
|
| BLAKE2b-256 |
b35e9b498f4ce0cfc3cef203684db782360cd67f49099fcec4bb69fc0f1b899f
|
File details
Details for the file rpa_arc-0.4.0-py3-none-any.whl.
File metadata
- Download URL: rpa_arc-0.4.0-py3-none-any.whl
- Upload date:
- Size: 14.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.10.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
83450d75f32359fc37925a47b0af32c0f7c3421c25720e85111b9317d170a0e6
|
|
| MD5 |
73f153135bcdbedd867c71c1159af6f9
|
|
| BLAKE2b-256 |
363e36a252ebf4b99ef77799ba3faf37d605c00d459dbc119cadb306e70357a7
|