clj-python / clj-python/libpython-clj
"auto flush" tty optionally
Ninguém assumiu esta issue ainda.
- Linguagem predominante
- Clojure
- Estrelas
- 1.2k
- Forks
- 74
- Métricas de merge de PRs
- Nenhum PR com merge em 30d
Descrição
The fix of #216 is not fully solving the issue.
using "libpythin-clj", there is so far no way to enforce "autoflush".
So when a third party python library does not explicitly flush, then we cannot force it.
And this can result in not seeing "debug outputs" on time for long running processes.
(in my tests they only came when the JVM proccess ends)
When using a normal "python" executable, there are some documented ways, but none of it is working with "libpython-clj".
(using "unbuffer" and similar tricks, like env varaibales: PYTHONUNBUFFERED=false)
On this branch https://github.com/behrica/libpython-clj/tree/auto-flush
I have a solution (so far hardcoded), which solves it.
It adds "flush" to each write.
This would need to be optional and configurable (eventually together with a way to configure as well the return value of "isatty" (which I did not need in my tests, false was working fine)
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 comparando o branch auto-flush com a implementação atual de libpython-clj e revise o fix de #216. Defina como autoflush deve ser configurado e verifique isso com um processo de longa duração que escreva por meio de uma biblioteca Python de terceiros; considera-se concluído quando a opção fizer o flush de forma confiável a cada escrita quando habilitada.
Escrita pelo modelo de indexação a partir do texto da issue.
Avaliação
- Stack de tecnologia
- clojure, python
- Domínio
- backend
- Tipo de issue
- Funcionalidade
- Dificuldade
- 4/5
- Tempo estimado
- 3-5 dias
- Status de atividade
- Estagnada
- Clareza
- Razoavelmente clara
- Facilidade para iniciantes
- 35/100