matplotlib / matplotlib/matplotlib
Add a public backend fallback API
Ninguém assumiu esta issue ainda.
- Linguagem predominante
- Python
- Estrelas
- 23.2k
- Forks
- 8.5k
- Merge médio
- 1d 6h
- PRs com merge (30d)
- 66
Descrição
Bug report
Bug summary
Back in #11600/#11896 I added backend fallback autodetection, which (by default) picks the first available backend among macosx, qt5agg, qt4agg, gtk3agg, etc. Initially the fallback order was configurable, but that got removed before the PRs were merged because of concerns about the API. I would like to revive that feature (essentially so that I can configure my envs to use module://mplcairo.qt by default, but module://mplcairo.base when no $DISPLAY is available). In itself it's not really hard, it's just a matter of what API we expose. One concern was that the initial approach was to put the list of backends to attempt in rcParams["backend"], which made that entry "active" (it's not just a plain dict entry, but something rather more complicated). One possible API (considering that this mostly just only needs to work before importing matplotlib) may be to only support configuring this in the $MPLBACKEND environment variable, which could e.g. be set to a (semi?)colon-separated list of backends to attempt.
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.
Direção de pesquisa
Comece lendo o trabalho de autodetecção de fallback de backend referenciado em #11600 e #11896 e, em seguida, inspecione como rcParams["backend"] e a variável de ambiente $MPLBACKEND são tratados antes da importação de matplotlib. A issue deixa a API pública e a sintaxe da lista de fallback sem resolução; sua conclusão exigiria uma interface de configuração acordada, com cobertura do comportamento de seleção do backend.
Escrita pelo modelo de indexação a partir do texto da issue.
Avaliação
- Stack de tecnologia
- python
- Domínio
- backend
- Tipo de issue
- Funcionalidade
- Dificuldade
- 5/5
- Tempo estimado
- Mais de uma semana
- Status de atividade
- Pouca atividade
- Clareza
- Precisa de esclarecimento
- Facilidade para iniciantes
- 35/100