Skip to main content

📊 Reportify-IFES

Reportify-IFES é uma ferramenta Python para geração de dashboards e relatórios automatizados a partir de dados de repositórios GitHub. Com ele, você obtém insights valiosos sobre sua organização, equipe, colaboração e produtividade no GitHub.


🚀 Instalação

⚠️ Requisitos:

  • Python 3.10 obrigatoriamente.
    Outras versões podem não ser compatíveis.

💡 Caso não tenha essa versão instalada, use pyenv para configurar o Python 3.10.12 (Ubuntu/Debian)

  1. Instale as dependências do sistema:
sudo apt update
sudo apt install -y make build-essential libssl-dev zlib1g-dev \
  libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm \
  libncursesw5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev \
  libffi-dev liblzma-dev git
  curl https://pyenv.run | bash
  1. Adicione o pyenv ao seu shell (.bashrc, .zshrc, etc):
# Adicione ao final do arquivo
export PATH="$HOME/.pyenv/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"
  1. Após isso, reabra o terminal ou execute:
 source ~/.bashrc
  1. Instale o Python 3.10.12 no diretório que deseja executar a ferramenta:
pyenv install 3.10.12
pyenv local 3.10.12
  1. Crie um ambiente virtual com pyenv-virtualenv:
pyenv virtualenv 3.10.12 reportify-env
pyenv activate reportify-env

Instale via pip:

pip install reportify-ifes

⚙️ Configuração Crie um arquivo .env no diretório raiz do seu projeto com as seguintes variáveis:

GITHUB_TOKEN=seu_token_github
GITHUB_REPOSITORY=usuario/repositorio

🏃‍♂️ Como utilizar Crie um arquivo Python, por exemplo gerar_relatorio.py, com o seguinte conteúdo:

from reportify import Report
relatorio = Report()
relatorio.run()

📚 Componentes do Relatório O relatório é composto por diferentes dashboards, cada um focado em uma perspectiva da organização ou projeto no GitHub:

🔹 DeveloperStats Analisa os desenvolvedores do repositório, gerando métricas como quantidade de commits, issues abertas e fechadas, pull requests e participação individual nas atividades. Relatório consolidado e individual.

🔹 OrganizationalDashboard Oferece uma visão geral da organização, consolidando dados de múltiplos repositórios e apresentando tendências, produtividade, gargalos e distribuição de tarefas.

🔹 GitHubIssueStats Gera estatísticas específicas sobre as issues, como tempo médio de resolução, tempo de abertura, gargalos e ciclos de desenvolvimento.

🔹 TeamStats Foca na dinâmica da equipe, mostrando como os membros colaboram, distribuição de tarefas, taxas de conclusão e engajamento dentro do repositório.

🔹 CollaborationGraph Cria um grafo de colaboração que representa visualmente como os membros da equipe interagem entre si por meio de revisões, commits, comentários e interações em issues.

🚀 Agendamento de Resumos Diários dos Desenvolvedores com GitHub Actions

Este repositório permite gerar os relatórios automaticamente e enviar um resumo todos os dias utilizando GitHub Actions, Gemini AI (Google) e Discord Webhooks.


📁 Etapas de configuração

1. 🔱 Fork do Repositório

Caso deseje usar esse sistema com seu próprio repositório:

  1. Clique em Fork (canto superior direito)
  2. Escolha sua conta para onde o fork será feito

2. 🔐 Configurar Secrets no repositório

Com o fork criado, acesse:

Settings > Secrets and variables > Actions > New repository secret

Adicione os seguintes 4 secrets obrigatórios:

Nome Descrição
GITHUB_REPOSITORY Nome do repositório GitHub que será analisado, exemplo: n8n-io/n8n
GITHUB_TOKEN Token de acesso pessoal (com permissão de leitura de repositório privado, se necessário)
GOOGLE_API_KEY Chave da API do Google Gemini, crie sua chave gratuita aqui.
DISCORD_WEBHOOK Webhook do canal ou servidor do Discord

3. 🕐 Ajustar horário de execução no GitHub Actions

O agendamento de execução diária é feito no arquivo:

.github/workflows/run.yml

No trecho:

on:
  schedule:
    - cron: '0 11 * * *'  # Executa todos os dias às 08h BRT (11h UTC)
  • Para alterar o horário:

A hora (11) está em formato UTC

Para rodar às 09h da manhã no Brasil (BRT) → use cron: '0 12 * * *'

Para rodar às 06h da manhã no Brasil → cron: '0 9 * * *'

É possível configurar o cron de outras formas: Saiba mais

Após essa configuração, os relatórios serão gerados e os resumos feitos por IA serão enviados automaticamente para o seu canal/servidor discord.

Metadata

Release files for reportify-ifes 1.3.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for reportify-ifes 1.3.1
File Size Uploaded Provenance Actions
reportify_ifes-1.3.1.tar.gz 48.9 kB Without provenance Details for reportify_ifes-1.3.1.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for reportify-ifes 1.3.1
File Interpreter ABI Platform Actions
reportify_ifes-1.3.1-py3-none-any.whl Python 3 none any Details for reportify_ifes-1.3.1-py3-none-any.whl

Total release size: 99.3 kB

Release files / reportify_ifes-1.3.1.tar.gz

Download URL reportify_ifes-1.3.1.tar.gz
Size 48.9 kB
Tags Source
SHA-256 checksum
How to use checksums
e9b91815520ec63905129a15da25752626863e3ce86996b4c7deb3e231a08ae1
BLAKE2b-256 checksum
How to use checksums
cc09041f9f971ec62621d2641b54872ed3d270658b544832fa9d725ee32e858d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.9

Release files / reportify_ifes-1.3.1-py3-none-any.whl

Download URL reportify_ifes-1.3.1-py3-none-any.whl
Size 50.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
06c700b05115cba4c58d7ae8f678dd60b4ce096d5a79bf69f081d17fc1106230
BLAKE2b-256 checksum
How to use checksums
7c49f3a16eb1d7061194d4c8430f556244760cdcabc9db2b4d8dc9fd0aeb380a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.9

Security for reportify-ifes 1.3.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page