Skip to content

{geocodebr} em Python #54

@rafapereirabr

Description

@rafapereirabr

Hoje a gente teve uma conversa muito boa eu e @kimjoaoun com a proposta de criar o {geocodebr} em Python. Listo abaixo alguns principios que concordamos deveriam nortear o desenvolvimento das versões em R e em Python de maneira coordenada.

Pincipios gerais

  • As versões em R e em Python devem ser identicas em termos de interface para os usuários (nome das funções, parâmetros, documentação etc)
  • O funcionamento das funções deve ser consistente em ambas linguagens. Isto significar que as funções devem receber os mesmos tipos de input e garantir que o output também é idêntico nos dois pacotes .
  • a documentação dos pacotes será principalmente em português para aumentar adesão de usuários Brasilieiros, incluindo órgãos governamentais

Pontos a se resolver

O @kimjoaoun ja fez uma versão preliminar em Python. Listo abaixo algumas questões que precisariam ser resolvidas na versão em Python para termos um release. Quando chegarmos num acordo sobre a lista de pontos abaixo, daí podemos criar um issue para cada ponto.

  1. Padronização de enderecos de input deve serguir o mesmo processo que se faz no R e na padronização do CNEFE para garantir consistência entra linguas e melhores resultados
    • Ecaminhamento ideal: criar um pacote {endereçobr} para Python.
  2. Formato de input: a versão R atualmente aceita somente campos separados e a verão em Python aceita somente endereço completo como uma string unica.
    • Encaminhamento: implementar no Python o input com campos em colunas separadas.
    • Numa versão futura, poderiamos permitir o usuario passar uma string só, e dar um warning alertando que isso pode prejudicar performance.
  3. Disponibilizar dentro do pacote de Python os mesmos sample data sets utilizados para testes e exemplos
  4. Implementar no pacote de Python os mesmos testes unitários implementados na versão R
  5. Resultados identicos entre pacotes. Seria possivel criar um Gtihub actions que roda o geocode utilizando os dois pacotes em R e em Python e checa se os resultados são identicos.

Metadata

Metadata

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions