Este projeto é uma ferramenta para coletar e analisar métricas de repositórios do GitHub, como o número de commits e releases em um intervalo de datas. Ele permite automatizar a coleta de informações de múltiplos repositórios e exportar os resultados em um arquivo CSV.
- Coleta de dados de commits em repositórios do GitHub em um período específico.
- Coleta de dados de releases de repositórios do GitHub em um período específico.
- Exportação de dados em um arquivo CSV para análise posterior.
- Python 3.x
- Token de acesso do GitHub (para acessar a API com permissões adequadas)
-
Clone o repositório:
git clone https://github.com/seu-usuario/meu_projeto.git cd meu_projeto -
Crie e ative um ambiente virtual (opcional, mas recomendado):
python -m venv venv source venv/bin/activate # Linux/macOS venv\Scripts\activate # Windows
-
Instale as dependências:
pip install -r requirements.txt
-
Configure a variável de ambiente
GITHUB_TOKEN:-
Crie um arquivo
.envno diretório raiz do projeto com o seguinte conteúdo:GITHUB_TOKEN=seu_token_do_github -
OU defina a variável de ambiente manualmente:
export GITHUB_TOKEN=seu_token_do_github # Linux/macOS set GITHUB_TOKEN=seu_token_do_github # Windows (CMD)
-
-
Prepare o arquivo
repositorios.txtcom os nomes dos repositórios a serem analisados, um por linha:torvalds/linux microsoft/vscode numpy/numpy -
Execute o script principal:
python main.py <data_referencia> <arquivo_repositorios>
data_referencia: Data de início no formatoYYYY-MM-DD.arquivo_repositorios: Caminho para o arquivo.txtcontendo os repositórios.
Exemplo de execução:
python main.py 2024-11-01 repositorios.txt
-
Verifique o diretório
output/para encontrar o arquivo CSV gerado:output/relatorio_github_2024-11-01.csv
Contribuições são bem-vindas! Se você quiser contribuir com melhorias, por favor, siga os passos abaixo:
- Faça um fork do projeto.
- Crie uma branch para sua feature (
git checkout -b minha-feature). - Commit suas mudanças (
git commit -m 'Adicionei uma nova feature'). - Faça um push para a branch (
git push origin minha-feature). - Abra um pull request.
Este projeto está licenciado sob a MIT License.
Para dúvidas ou sugestões, entre em contato:
- Email: [email protected]
- GitHub: julyanyrl.