<div align="center">
<img src="https://user-images.githubusercontent.com/98030427/236968066-315be92b-eabe-4d76-a5d7-bbaaa8df1e2d.png" width="100px" />
</div>
# 📝 Descrição
O PyAnalyticsGit é um projeto em Python criado por estudantes de Engenharia de Software da Universidade de Brasília - UnB. A biblioteca possibilita que o usuário consiga gerar relatórios automatizados a partir de um commit e com base nos dados do repositórios no GitHub como histórico de commits, nome do commit, branch, milestones e entre outros, gerar um relatório em markdown com gráficos e tabelas.
A biblioteca do PyAnalyticsGit deve ser capaz de analisar o desempenho de um projeto oferecendo no relatório parâmetros como taxa de commit por branch, fluxo de desenvolvimento por sprint, commits por usuário, entre outros.
Com essa ferramenta, é possível obter uma ampla variedade de dados e análises de projetos e repositórios do Git, incluindo gráficos e estatísticas. A biblioteca funciona recebendo os dados da API do GitHub e realizando a análise e tratamento dos dados de forma eficiente. Com essa solução, os usuários podem otimizar seus processos e aprimorar a gestão dos seus projetos do Git.
## :dart: Objetivo
### Qual é o propósito do PyAnalyticsGit?
O PyAnalyticsGit tem como objetivo geral fornecer uma forma automatizada, eficiente e acessível de gerar relatórios com informações de projetos, progressos e as métricas com dados de repositórios no Github, afim de acompanhar e ter o controle do andamento daquele projeto. Desta forma, os principais objetivos que do PyAnalyticsGit é:
* Extrair informações relevantes de commits, issues e milestones do GitHub.
* Gerar relatórios em formato Markdown para facilitar a leitura e compartilhamento.
* Incluir gráficos e tabelas para apresentar visualmente as informações extraídas.
* Facilitar o acompanhamento do desenvolvimento do projeto e a tomada de decisões.
##
## Fluxo de Instalação e Funcionamento
### Instalação/Introdução
Inicialmente, é recomendável a utilização de um ambiente virtual, que pode ser
criado através do venv:
Digite em seu terminal:
```
python3 -m venv myenv
```
Pronto, assim sera criado um ambiente virtual chamado "myenv"
Para ativar o ambiente:
```
source myenv/bin/activate
```
### Instalação da biblioteca
Vamos começar a instalar a biblioteca com o seguinte comando:
- Instale o sistema de gerenciamento de bibliotecas python “pip”
- Execute o comando em seu terminal:
```
pip install pyanalyticsgit
```
- Para verificar se a instalação ocorreu com sucesso execute em seu
terminal:
```
pip show pyanalyticsgit
```
### Automação
Após configurado e instalado a biblioteca o usuario poderá configurar a automação.
O usuário deve executar o arquivo a partir do diretório do Repositório no terminal (o diretório deve possuir o arquivo .git para a correta configuração).
Para verificar se seu diretório é um repositório verifique se tem o arquivo
“.git” execute no terminal o comando: ls -a (pois o .git é uma pasta oculta).
Verificado isso deve importar a classe Automatiza:
```
from pyanalyticsgit.repo.automatiza import Automatiza
```
Após importar deve chamar o método automatiza():
```
Automatizar.automatiza()
```
Este método verifica qual o SO utilizado e
cria o arquivo post-commit para automatizar
Ao executar o repositório estará automatizado e a cada commit será gerado um
relatório em markdown.
Após executar o método de automação não é necessário executar novamente.
O usuário deve apagar o método caso for gerar um relatório Estático.
### Relatório Automatizado
A cada evento de commit o git chama o scripty de monitoramento que executa
a criação do relatório.
O relatório gerado estará em um arquivo docs/relatorio.md
- .env:
- Deve ser criado um arquivo .env no ambiente de utilização da biblioteca e
definir os valores de ‘user_name’(usuário ou repositório que contém o
repositório que será gerado o relatório) e ‘repo_name’ (repositório desejado)
- Exemplo no repostirório https://github.com/fga-eps-mds/2023.1-PyAnalyticsGit.git :
- O arquivo ‘.env’ deve estar assim para o exemplo acima:
```
user_name = "fga-eps-mds"
repo_name = "2023.1-PyAnalyticsGit"
```
### Relatório Estático
Gera relatórios de repositórios a partir da função “gerar_relatório” recebendo
como parâmetros os valores de usuários e/ou repositórios existentes do github:
Para criar o relatório deverá ser importado a classe Relatorio:
```
from pyanalyticsgit.repo.relatorio import Relatorio
```
Ao importar o usuário cria uma instância da classe Relatorio e chama o método:
- Exemplo: https://github.com/fga-eps-mds/2023.1-PyAnalyticsGit.git
```
Relatorio().gerar_relatorio(’fga-eps-mds’,’2023.1-PyAnalyticsGit’)
```
Caso os parâmetros não sejam fornecidos, o relatório buscará os valores das
variáveis de ambiente contidas em .env.
##
# 🤝 Colaboradores
| [<img src="https://github.com/gabrie1barbosa.png" width=80><br><sub>Gabriel Barbosa</sub>](https://github.com/gabrie1barbosa) | [<img src="https://github.com/JeffersonSenaa.png" width=80><br><sub>Jefferson Sena</sub>](https://github.com/JeffersonSenaa) | [<img src="https://github.com/mateus9levy.png" width=80><br><sub>Mateus Levy</sub>](https://github.com/mateus9levy) | [<img src="https://github.com/PedroHhenriq.png" width=80><br><sub>Pedro Henrique</sub>](https://github.com/PedroHhenriq) | [<img src="https://github.com/rodfon3301.png" width=80><br><sub>Rodrigo Fonseca</sub>](https://github.com/rodfon3301) | [<img src="https://github.com/Tiago1604.png" width=80><br><sub>Tiago Albuquerque</sub>](https://github.com/Tiago1604) |
| :---: | :---: | :---: | :---: | :---: | :---: |
##
## :ballot_box_with_check: Licença:
O PyAnalyticsGit é licenciado sob o MIT License. [licença](/LICENSE).
##
<div align=>
<img src="https://user-images.githubusercontent.com/98030427/236968066-315be92b-eabe-4d76-a5d7-bbaaa8df1e2d.png" width="200px" />
</div>
Raw data
{
"_id": null,
"home_page": "",
"name": "pyanalyticsgit",
"maintainer": "",
"docs_url": null,
"requires_python": "",
"maintainer_email": "",
"keywords": "pyAnalyticsGit",
"author": "Gabriel Barbosa, Jefferson Sena, Mateus Levy, Pedro Henrique, Rodrigo Fonseca, Tiago Albuquerque",
"author_email": "gabrielb.alencarr@gmail.com, jeffersonsena12144@gmail.com, mateuslevy06@gmail.com, pedrolulhenrique@gmail.com, Rodrigofonseca399@gmail.com, tiago28973@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/3c/d3/7951120b7258e6793e0b60930bb12e36f6e129c48071dc56d95fa3d601ba/pyanalyticsgit-0.0.6.tar.gz",
"platform": null,
"description": "<div align=\"center\">\n<img src=\"https://user-images.githubusercontent.com/98030427/236968066-315be92b-eabe-4d76-a5d7-bbaaa8df1e2d.png\" width=\"100px\" />\n</div>\n\n\n\n\n# \ud83d\udcdd Descri\u00e7\u00e3o\nO PyAnalyticsGit \u00e9 um projeto em Python criado por estudantes de Engenharia de Software da Universidade de Bras\u00edlia - UnB. A biblioteca possibilita que o usu\u00e1rio consiga gerar relat\u00f3rios automatizados a partir de um commit e com base nos dados do reposit\u00f3rios no GitHub como hist\u00f3rico de commits, nome do commit, branch, milestones e entre outros, gerar um relat\u00f3rio em markdown com gr\u00e1ficos e tabelas.\n\nA biblioteca do PyAnalyticsGit deve ser capaz de analisar o desempenho de um projeto oferecendo no relat\u00f3rio par\u00e2metros como taxa de commit por branch, fluxo de desenvolvimento por sprint, commits por usu\u00e1rio, entre outros.\n\nCom essa ferramenta, \u00e9 poss\u00edvel obter uma ampla variedade de dados e an\u00e1lises de projetos e reposit\u00f3rios do Git, incluindo gr\u00e1ficos e estat\u00edsticas. A biblioteca funciona recebendo os dados da API do GitHub e realizando a an\u00e1lise e tratamento dos dados de forma eficiente. Com essa solu\u00e7\u00e3o, os usu\u00e1rios podem otimizar seus processos e aprimorar a gest\u00e3o dos seus projetos do Git.\n\n## :dart: Objetivo\n### Qual \u00e9 o prop\u00f3sito do PyAnalyticsGit?\n\nO PyAnalyticsGit tem como objetivo geral fornecer uma forma automatizada, eficiente e acess\u00edvel de gerar relat\u00f3rios com informa\u00e7\u00f5es de projetos, progressos e as m\u00e9tricas com dados de reposit\u00f3rios no Github, afim de acompanhar e ter o controle do andamento daquele projeto. Desta forma, os principais objetivos que do PyAnalyticsGit \u00e9:\n\n* Extrair informa\u00e7\u00f5es relevantes de commits, issues e milestones do GitHub.\n* Gerar relat\u00f3rios em formato Markdown para facilitar a leitura e compartilhamento.\n* Incluir gr\u00e1ficos e tabelas para apresentar visualmente as informa\u00e7\u00f5es extra\u00eddas.\n* Facilitar o acompanhamento do desenvolvimento do projeto e a tomada de decis\u00f5es.\n\n##\n\n## Fluxo de Instala\u00e7\u00e3o e Funcionamento\n\n\n### Instala\u00e7\u00e3o/Introdu\u00e7\u00e3o\n Inicialmente, \u00e9 recomend\u00e1vel a utiliza\u00e7\u00e3o de um ambiente virtual, que pode ser\ncriado atrav\u00e9s do venv:\n\nDigite em seu terminal:\n```\npython3 -m venv myenv\n```\nPronto, assim sera criado um ambiente virtual chamado \"myenv\"\n\nPara ativar o ambiente:\n```\nsource myenv/bin/activate\n```\n\n### Instala\u00e7\u00e3o da biblioteca\nVamos come\u00e7ar a instalar a biblioteca com o seguinte comando:\n- Instale o sistema de gerenciamento de bibliotecas python \u201cpip\u201d\n- Execute o comando em seu terminal:\n```\npip install pyanalyticsgit\n```\n- Para verificar se a instala\u00e7\u00e3o ocorreu com sucesso execute em seu\nterminal:\n```\npip show pyanalyticsgit\n```\n### Automa\u00e7\u00e3o\nAp\u00f3s configurado e instalado a biblioteca o usuario poder\u00e1 configurar a automa\u00e7\u00e3o. \n\nO usu\u00e1rio deve executar o arquivo a partir do diret\u00f3rio do Reposit\u00f3rio no terminal (o diret\u00f3rio deve possuir o arquivo .git para a correta configura\u00e7\u00e3o).\n\nPara verificar se seu diret\u00f3rio \u00e9 um reposit\u00f3rio verifique se tem o arquivo\n\u201c.git\u201d execute no terminal o comando: ls -a (pois o .git \u00e9 uma pasta oculta).\n\nVerificado isso deve importar a classe Automatiza:\n```\nfrom pyanalyticsgit.repo.automatiza import Automatiza\n```\nAp\u00f3s importar deve chamar o m\u00e9todo automatiza():\n```\nAutomatizar.automatiza()\n```\nEste m\u00e9todo verifica qual o SO utilizado e\ncria o arquivo post-commit para automatizar\n\n\nAo executar o reposit\u00f3rio estar\u00e1 automatizado e a cada commit ser\u00e1 gerado um\nrelat\u00f3rio em markdown.\nAp\u00f3s executar o m\u00e9todo de automa\u00e7\u00e3o n\u00e3o \u00e9 necess\u00e1rio executar novamente.\nO usu\u00e1rio deve apagar o m\u00e9todo caso for gerar um relat\u00f3rio Est\u00e1tico.\n\n### Relat\u00f3rio Automatizado\n\nA cada evento de commit o git chama o scripty de monitoramento que executa\na cria\u00e7\u00e3o do relat\u00f3rio.\n\nO relat\u00f3rio gerado estar\u00e1 em um arquivo docs/relatorio.md\n\n- .env:\n - Deve ser criado um arquivo .env no ambiente de utiliza\u00e7\u00e3o da biblioteca e\ndefinir os valores de \u2018user_name\u2019(usu\u00e1rio ou reposit\u00f3rio que cont\u00e9m o\nreposit\u00f3rio que ser\u00e1 gerado o relat\u00f3rio) e \u2018repo_name\u2019 (reposit\u00f3rio desejado)\n - Exemplo no repostir\u00f3rio https://github.com/fga-eps-mds/2023.1-PyAnalyticsGit.git :\n\n- O arquivo \u2018.env\u2019 deve estar assim para o exemplo acima:\n ```\n user_name = \"fga-eps-mds\"\n repo_name = \"2023.1-PyAnalyticsGit\"\n ```\n### Relat\u00f3rio Est\u00e1tico\nGera relat\u00f3rios de reposit\u00f3rios a partir da fun\u00e7\u00e3o \u201cgerar_relat\u00f3rio\u201d recebendo\ncomo par\u00e2metros os valores de usu\u00e1rios e/ou reposit\u00f3rios existentes do github:\n\nPara criar o relat\u00f3rio dever\u00e1 ser importado a classe Relatorio:\n```\nfrom pyanalyticsgit.repo.relatorio import Relatorio\n```\nAo importar o usu\u00e1rio cria uma inst\u00e2ncia da classe Relatorio e chama o m\u00e9todo:\n\n- Exemplo: https://github.com/fga-eps-mds/2023.1-PyAnalyticsGit.git\n```\nRelatorio().gerar_relatorio(\u2019fga-eps-mds\u2019,\u20192023.1-PyAnalyticsGit\u2019)\n```\n\nCaso os par\u00e2metros n\u00e3o sejam fornecidos, o relat\u00f3rio buscar\u00e1 os valores das\nvari\u00e1veis de ambiente contidas em .env.\n\n##\n# \ud83e\udd1d Colaboradores\n\n| [<img src=\"https://github.com/gabrie1barbosa.png\" width=80><br><sub>Gabriel Barbosa</sub>](https://github.com/gabrie1barbosa) | [<img src=\"https://github.com/JeffersonSenaa.png\" width=80><br><sub>Jefferson Sena</sub>](https://github.com/JeffersonSenaa) | [<img src=\"https://github.com/mateus9levy.png\" width=80><br><sub>Mateus Levy</sub>](https://github.com/mateus9levy) | [<img src=\"https://github.com/PedroHhenriq.png\" width=80><br><sub>Pedro Henrique</sub>](https://github.com/PedroHhenriq) | [<img src=\"https://github.com/rodfon3301.png\" width=80><br><sub>Rodrigo Fonseca</sub>](https://github.com/rodfon3301) | [<img src=\"https://github.com/Tiago1604.png\" width=80><br><sub>Tiago Albuquerque</sub>](https://github.com/Tiago1604) |\n| :---: | :---: | :---: | :---: | :---: | :---: | \n\n##\n\n## :ballot_box_with_check: Licen\u00e7a:\nO PyAnalyticsGit \u00e9 licenciado sob o MIT License. [licen\u00e7a](/LICENSE).\n##\n\n\n\n<div align=>\n<img src=\"https://user-images.githubusercontent.com/98030427/236968066-315be92b-eabe-4d76-a5d7-bbaaa8df1e2d.png\" width=\"200px\" />\n</div>\n\n\n",
"bugtrack_url": null,
"license": "MIT License",
"summary": "Biblioteca PyAnalyticsGit para gerar relat\u00f3rios Git.",
"version": "0.0.6",
"project_urls": null,
"split_keywords": [
"pyanalyticsgit"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "3cd37951120b7258e6793e0b60930bb12e36f6e129c48071dc56d95fa3d601ba",
"md5": "8a9c7c680d8417d71c74275cd9814598",
"sha256": "6010c7c6e848ba07efb47fb7318c5a7fd8c33247697abba261cd553f1a46c524"
},
"downloads": -1,
"filename": "pyanalyticsgit-0.0.6.tar.gz",
"has_sig": false,
"md5_digest": "8a9c7c680d8417d71c74275cd9814598",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 13788,
"upload_time": "2023-07-17T23:41:54",
"upload_time_iso_8601": "2023-07-17T23:41:54.125697Z",
"url": "https://files.pythonhosted.org/packages/3c/d3/7951120b7258e6793e0b60930bb12e36f6e129c48071dc56d95fa3d601ba/pyanalyticsgit-0.0.6.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-07-17 23:41:54",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "pyanalyticsgit"
}