Pode contribuir a vontade, você será sempre bem-vindo(a). Mas temos algumas regras para serem seguidas para que todos sejam bem recebidos por todos e que todos possam contribuir de maneira feliz 😃.
Você olhou a aplicação e pensou em alguma funcionalidade que deveria ser adicionada no projeto ? 😮
Então, você tem dois passos para seguir:
Na página do projeto, você pode clicar no botão Issues
e na página irá aparecer um botão new issue
, então é só selecionar e seguir os seguintes passos:
- Selecione o tipo da sua issue:
Bug ou Feature
. - Dê um bom nome a sua issue.
- Detalhe bem sobre qual objetivo da issue.
- Imagens caso possível.
- Selecione labels para sua issue.
- Por fim, clique em
Submit new issue
.
Na página inicial do repositório tem um botão Fork
. Ao clicar é só esperar concluir o fork. E então ele irá criar o repositório na sua conta. E agora é só clonar em sua máquina, assim:
git clone https://github.com/<nome_de_usuario>/PyElit
Ao concluir, você terá o repositório em seu computador e então é só abrir em seu editor preferido e fazer suas modificações.
Antes você deve criar sua branch para seu desenvolvimento:
git checkout -b <nome_branch>
Para o nome da branch use o número da issue para facilitar, ex: issue_17
.
E agora pode começar o desenvolvimento 😃 .
Ao terminar suas modificações, você deve commitar suas alterações, mas primeiro:
git add .
O comando acima irá preparar todos os arquivos modificados para serem commitados, passando por todas as alterações que foram feitas por você onde decedirá se a alteração será adicionada (você deve estar dentro da pasta do projeto para usar o comando). Agora é só commitar as alterações:
git commit -m "<Sua_Mensagem>"
Lembre-se de usar mensagens claras. Se o que você está resolvendo já possui uma issue aberta, faça referência a issue no commit. Ex: git commit -m "#17 - Add contributing.md"
E por fim, você irá enviar as alterações para o repositório remoto:
git push --set-upstream origin <nome_branch>
Isso é apenas na primeira vez que vai enviar uma nova branch para o repositório remoto, nas próximas vezes, basta apenas:
git push
Mas isso só irá alterar no seu fork, o repositório oficial não vai ter suas alterações e agora ? 😕
Calma, agora que entra a Pull Request
ou PR
Depois de ter realizado o fork e o clone do projeto, escolhido seu editor de texto favorito. Agora é hora de codar.
Mas calma ai, antes de qualquer coisa, você deve escolher uma issue que pretender trabalhar. Se a issue que trata sobre a funcionalidade não existir, você deve criar e dizer que esta trabalhando nela, caso ela exista você deve dizer lá(caso não já tenha alguém) que pretende trabalhar na issue. E após feito isso, agora sim você está pronto para codar.
O projeto se encontra na pasta pyelit
, estamos aceitando dicas de nomes para biblioteca também 😊 .
-
Na pasta
dados
: Possui os textos usados para treinar o topic modeling. -
Na pasta
docs
: Possui os arquivos de documentação da biblioteca. -
Na pasta
Geoparsing
: Possui todos os arquivos sobre as funcionalidades relacionadas com o geoparsing.- Na pasta
./gazetteer
: Possui os arquivos do gazetteer usados pela biblioteca. - Na pasta
./utils
: Possui os arquivos onde tem as funções que foram/são utilizadas pela biblioteca. Ex: Para processar os dados do gazetteer.
- Na pasta
-
Na pasta
Pre_processamento
: Possui os arquivos usados para processamentos dos dados, funções que podem ser uteis para o geoparsing e topic modeling. -
Na pasta
TopicModeling
: Possui todos os arquivos sobre as funcionalidades relacionadas com o topic modeling.- Na pasta
modelo
: Possui o modelo treinado do Topic Modeling.
- Na pasta
Usamos o pipenv para melhor facilidade de gerenciamento das dependências. Então é preciso instalar antes de tudo:
- Instalar o pipenv:
$ pip install pipenv
Agora você deve ativar o virtualenv(aqui já será instalada todas as libs utilizadas):
$ pipenv shell
Agora você precisar instalar o modelo em pt-br do spacy:
$ python -m spacy download pt_core_news_sm
E pronto, você está pronto para iniciar o desenvolvimento.
OBS: Executar o comando acima dentro da pasta do projeto.
- Agora você esta pronto para implementar sua funcionalidade/correção.
$ pytest --disable-warnings
Nós optamos por seguir o padrão da PEP 8. Para isso instale a extensão do Python para o VSCode. Outra solução é usar o pycodestyle.
Ele já é uma dev-package no projeto.
Com o virtualenv ativado, você pode executar o pycodestyle:
-
Para executar o pycodestyle:
pycodestyle .
Na página do seu fork irá aparecer uma mensagem em amarelo solicitando que você faça uma Pull Request para o repositório original. Ao clicar irá abrir uma página para você preencher as informações sobre sua PR.
-
Referencie a issue em que você está trabalhando usando
#<numero_da_issue>
-
Descreva suas modificações
-
Espere pela avaliação da sua PR, e pode ocorrer de pedimos algumas alterações a seres feitas