Contribuindo¶
O SysIdentPy é um projeto comunitário, portanto todas as contribuições são bem-vindas! Existem muitos casos de uso possíveis na área de Identificação de Sistemas e não podemos testar todos os cenários sem a sua ajuda! Se você encontrar algum bug ou tiver sugestões, por favor reporte-os no issue tracker no GitHub.
Recebemos novos contribuidores de todos os níveis de experiência. Os objetivos da comunidade SysIdentPy são ser prestativa, acolhedora e eficaz.
Ajude outros com issues no GitHub¶
Você pode ver as issues existentes e tentar ajudar outros, na maioria das vezes são perguntas para as quais você já pode saber a resposta.
Acompanhe o repositório do GitHub¶
Você pode acompanhar o SysIdentPy no GitHub (clicando no botão "watch" no canto superior direito):
Se você selecionar "Watching" em vez de "Releases only", receberá notificações quando alguém criar uma nova issue.
Assim você pode tentar ajudá-los a resolver essas issues.
Documentação¶
A documentação é tão importante quanto a própria biblioteca. O inglês não é a língua principal dos autores, então se você encontrar algum erro de digitação ou algo errado, não hesite em nos avisar.
Criar um Pull Request¶
Você pode contribuir com o código-fonte através de Pull Requests, por exemplo:
- Para corrigir um erro de digitação que você encontrou na documentação.
- Para compartilhar um artigo, vídeo ou podcast que você criou ou encontrou sobre o SysIdentPy.
- Para propor novas seções de documentação.
- Para corrigir uma issue/bug existente.
- Para adicionar um novo recurso.
Ambiente de desenvolvimento¶
Estes são alguns passos básicos para nos ajudar com o código:
- Instalar e configurar o Git no seu computador.
- Fork o SysIdentPy.
- Clone o fork na sua máquina local.
- Criar uma nova branch.
- Fazer alterações seguindo o estilo de codificação do projeto (ou sugerindo melhorias).
- Executar os testes.
- Escrever e/ou adaptar testes existentes se necessário.
- Adicionar documentação se necessário.
- Commit.
- Push para o seu fork.
- Abrir um pull_request.
Ambiente¶
Clone o repositório usando
Se você já clonou o repositório e sabe que precisa mergulhar fundo no código, aqui estão algumas diretrizes para configurar seu ambiente.
Ambiente virtual com venv¶
Você pode criar um ambiente virtual em um diretório usando o módulo venv do Python ou Conda:
Isso criará um diretório ./env/ com os binários do Python e então você poderá instalar pacotes para esse ambiente isolado.
Ativar o ambiente¶
Se você criou o ambiente usando o módulo venv do Python, ative-o com:
Ou se você usa Bash no Windows (ex: Git Bash):
Se você criou o ambiente usando Conda, ative-o com:
Para verificar se funcionou, use:
Se mostrar o binário pip em env/bin/pip, então funcionou.
Tip
Toda vez que você instalar um novo pacote com pip nesse ambiente, ative o ambiente novamente.
Note
Usamos o pacote pytest para testes. As funções de teste estão localizadas em subdiretórios de testes em cada pasta dentro do SysIdentPy, que verificam a validade dos algoritmos.
Dependências¶
Instale o SysIdentPy com as opções dev e docs para obter todas as dependências necessárias para executar os testes
Documentação¶
Primeiro, certifique-se de configurar seu ambiente conforme descrito acima, isso instalará todos os requisitos.
A documentação usa MkDocs e Material for MKDocs.
Toda a documentação está em formato Markdown no diretório ./docs/.
Verificar as alterações¶
Durante o desenvolvimento local, você pode servir o site localmente e verificar quaisquer alterações. Isso ajuda a garantir que:
- Todas as suas modificações foram aplicadas.
- Os arquivos não modificados estão sendo exibidos conforme esperado.
Isso servirá a documentação em http://127.0.0.1:8008.
Dessa forma, você pode continuar editando os arquivos fonte e ver as alterações ao vivo.
Warning
Se alguma modificação quebrar o build, você terá que servir o site novamente. Sempre verifique seu console para garantir que está servindo o site.
Executar testes localmente¶
É sempre bom verificar se suas implementações/modificações não quebram nenhuma outra parte do pacote. Você pode executar os testes do SysIdentPy localmente usando pytest na respectiva pasta para realizar todos os testes dos sub-pacotes correspondentes.
Exemplo de como executar os testes:¶
Abra um emulador de terminal de sua escolha e vá para o diretório principal, ex:
\sysidentpy\
Basta digitar pytest no emulador de terminal
e você obtém um resultado como: