Skip to main content

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.

PyPI version Python versions License Development Status

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")

Gerenciador de Navegador (driver.py)

  • Configuração automática do ChromeDriver

  • Suporte a headless mode para Linux

  • Download automático de arquivos

  • Configurações otimizadas para RPA

from src.core.driver import GerenciadorNavegador

navegador = GerenciadorNavegador()
driver = navegador.obter_navegador()
driver.get("https://exemplo.com")

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:

  1. Faça um fork do projeto

  2. Crie uma branch para sua feature (git checkout -b feature/AmazingFeature)

  3. Commit suas mudanças (git commit -m 'Add some AmazingFeature')

  4. Push para a branch (git push origin feature/AmazingFeature)

  5. 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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

rpa-arc-0.2.0.tar.gz (16.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

rpa_arc-0.2.0-py3-none-any.whl (14.6 kB view details)

Uploaded Python 3

File details

Details for the file rpa-arc-0.2.0.tar.gz.

File metadata

  • Download URL: rpa-arc-0.2.0.tar.gz
  • Upload date:
  • Size: 16.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.11

File hashes

Hashes for rpa-arc-0.2.0.tar.gz
Algorithm Hash digest
SHA256 563f0f5e82b6a495dab4fc93d151673a6ca1db88a74395ca42c79f42b1dbb53c
MD5 bba2211090cebcf9d1fcb31f7da3f16f
BLAKE2b-256 860311860dc42346f35ebafdc1a4793eeafe447c1d1bf92021a0ac9fd179947c

See more details on using hashes here.

File details

Details for the file rpa_arc-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: rpa_arc-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 14.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.11

File hashes

Hashes for rpa_arc-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a64d22c3e9f2cdd3b25ebaba7049062b9846c691d0ec4b67df33c6627c4d5e7c
MD5 ef9f17adc1d68fc2dbc86a2a71d7e48e
BLAKE2b-256 6e4611233343862112daf9d709d1867958528ed894f9939d391fd7e724478e2f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page