Update llbase JSON logging for Python 3.13 compatibility
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 3/5
- Tempo estimado
- 1-2 dias
- Facilidade para iniciantes
- 68/100
Direção de pesquisa
Comece por llbase/lljsonlog.py e, em seguida, inspecione o import de cgitb no nível do módulo, _fmt_exc_cgitb() e os caminhos do formatter padrão e do formatter cgitb de JsonFormatter. Verifique a estrutura de testes existente quanto à cobertura do import e do comportamento básico de formatação. A tarefa estará concluída quando o módulo puder ser importado no Python 3.13, a formatação padrão continuar funcionando e a opção cgitb for substituída com segurança ou claramente marcada como obsoleta.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
llbase.lljsonlog.JsonFormatter currently imports and supports cgitb for exception formatting. The cgitb module was removed in Python 3.13, so any code path that imports llbase.lljsonlog can fail or require local workarounds when running on Python 3.13.
We recently worked around this in the Join Django app by adding an internal JSON log formatter that is compatible with llbase.lljsonlog.JsonFormatter but does not import cgitb. That workaround keeps Join unblocked, but the underlying compatibility issue still exists in the shared python-llbase library.
Current library location:
llbase/lljsonlog.py
Current problem areas:
import cgitbhappens at module import time._fmt_exc_cgitb()depends oncgitb.Hook.JsonFormatter(exception_formatter="cgitb")cannot be supported on Python 3.13 without a replacement implementation.- The module still carries Python 2 compatibility code, which may make the Python 3.13 update harder to reason about.
Expected outcome:
llbase.lljsonlog.JsonFormattershould be importable on Python 3.13.- The default traceback formatter should continue to work.
- Existing users of
JsonFormatter()should not need app-level replacements. - If
exception_formatter="cgitb"is still needed, either provide a Python 3.13-safe replacement or clearly document/deprecate that option. - Add or update tests covering import and basic formatting behavior on supported Python versions.
This should let Join remove its local compatibility formatter once the shared library has a Python 3.13-compatible release.
- Linguagem predominante
- Python
- Estrelas
- 2
- Forks
- 0
- Métricas de merge de PRs
- Nenhum PR com merge em 30d
Preparar o ambiente
- Sem Dockerfile nem arquivo Docker Compose
- Sem modelo de pull request
- Ler o guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Issues semelhantes
-
Device Details tables: FS/SF columns contradict each other (nfet_01v8 Vt row, pfet_01v8 Idsat row)Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
google/skywater-pdk#450 ·
-
Drained trajectory arrays are overwritten when the sequence buffer is reusedTalvez já em andamento @sylvesterkaczmarek assumiu hoje. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
google-deepmind/bsuite#56 ·
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 82/100
LearningCircuit/local-deep-research#7206 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
chingu-voyages/V62-tier3-team-33#285 ·
Mantenedores costumam responder em até 1 dia
-
Proxy drops log notifications from backends that don't send FastMCP's msg/extra dictTalvez já em andamento @asasemahmed assumiu hoje. Abertabug server
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
Mantenedores costumam responder em até 1 dia