cuducos / calculadora-do-cidadao

💵 Tool for Brazilian Reais monetary adjustment/correction
https://calculadora-do-cidadao.readthedocs.io
GNU General Public License v3.0
149 stars 15 forks source link

Dependência da Rows #51

Closed cuducos closed 2 years ago

cuducos commented 2 years ago

Contexto

A fantástica Rows está sem novas versões desde fevereiro de 2019. Um commit de lá, de abril de 2019, resolve um problema de incompatibilidade com os Pythons mais novos:

 tests/test_main.py:6: in <module>
    from calculadora_do_cidadao import (
calculadora_do_cidadao/__init__.py:1: in <module>
    from calculadora_do_cidadao.adapters.cpi import AllUrbanCityAverage  # noqa
calculadora_do_cidadao/adapters/__init__.py:8: in <module>
    from rows import export_to_csv, import_from_csv, import_from_dicts, import_from_html
../../../.cache/pypoetry/virtualenvs/calculadora-do-cidadao-WBmB8XYj-py3.9/lib/python3.9/site-packages/rows/__init__.py:22: in <module>
    import rows.plugins as plugins
../../../.cache/pypoetry/virtualenvs/calculadora-do-cidadao-WBmB8XYj-py3.9/lib/python3.9/site-packages/rows/plugins/__init__.py:24: in <module>
    from . import plugin_html as html
../../../.cache/pypoetry/virtualenvs/calculadora-do-cidadao-WBmB8XYj-py3.9/lib/python3.9/site-packages/rows/plugins/plugin_html.py:43: in <module>
    unescape = HTMLParser().unescape
E   AttributeError: 'HTMLParser' object has no attribute 'unescape'

Problema

Como o commit é posterior ao último release, não temos uma versão publicada com esse ajuste para usar nas dependências da Calculadora do Cidadão. Tentar publicar um pacote que tem uma dependência que não tem uma versão, mas é instalada de um repositório Git com uma branch ou commit dá erro:

Publishing calculadora-do-cidadao (0.5.3) to PyPI
 - Uploading calculadora-do-cidadao-0.5.3.tar.gz 100%

  UploadError

  HTTP Error 400: Invalid value for requires_dist. Error: Can't have direct dependency: 'rows[csv,xls,html] @ git+https://github.com/turicas/rows.git@3a67d9dd65751e89281b28e3f1c30c4d6dc78e11'

Questões

Vejo alguns caminhos, mas não considero nenhum uma solução ainda — então boto para debate e para colher ideais:

O que acham?

turicas commented 2 years ago

Preciso de uma ajuda pra fazer uma nova release. Se puder parear por alguns minutos, fazemos juntos. :)

cuducos commented 2 years ago

Opa… minutos mesmo? Se for, então vamos lá 💜

Se quiser adiantar o que falta, aí me preparo e a gente faz isso!… Eu olhei no repo para tentar entender a situação, mas não consegui encontrar nada (vi os roadmaps para 0.5 e 0.6, procurei issues etc.).