Hacktoberfest 2026: as issues que os mantenedores marcaram para outubro, abertas e boas para iniciantes. Ver issues do Hacktoberfest

feature request: tell fire to stop parsing argument and pass the remaining unparsed args to function

Aberta
#403 2 comentários 1 reação 0 responsáveis Ver no GitHub

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
5/5
Tempo estimado
Mais de uma semana
Facilidade para iniciantes
35/100
Tipo de issue
Funcionalidade
Clareza
Razoavelmente clara
Status de atividade
Estagnada
Stack de tecnologia
python
Domínio
cli

Direção de pesquisa

Comece pelo ponto de entrada fire.Fire e inspecione como os argumentos da linha de comando são analisados antes de chegar ao método proposto fire.decorators.SkipParse. Defina como um marcador ou decorador de interrupção da análise deve se comportar e verifique se o exemplo preserva ('which', '-a', 'python3') após run.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

enhancement

Feature Description

I am working on a tool to wrap some existed command line tools to make them easier to use (like auto install, inject argument automatically, etc). And I hope that I can have a way to tell Fire to stop parsing after encount some specific command.

Example
Here are some real world examples like poetry run python3 ./my-scripts.py or conda run -n my-env python3 ./my-scripts.py

Without this feature I can only put everything else as string, just like what -c option of bash does, e.g. bash -c "echo 'hello world'" , which could still work, but the user have to type extra string quote and dealing with escaping in some cases.

I am not sure if it is possbile to provide some decorator to archive this, for example

class Conda:
  def __init__(verbose=False):
    ...

  @fire.decorators.SkipParse
  def run(self, *argv):
    print(argv)

fire.Fire(Conda)

And when running with python fake-conda.py --verbose run which -a python3, the output should be ('which', '-a', 'python3')

Linguagem predominante
Python
Estrelas
28.2k
Forks
1.5k
Métricas de merge de PRs
Nenhum PR com merge em 30d

Guia de contribuição

Abrir o guia de contribuição

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de google/python-fire

Todas as issues de google/python-fire

Issues semelhantes

Mais issues de Python

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.