google / google/python-fire

Add support for environment variable configuration

Aberta
#634 1 comentário 1 reação 0 responsáveis Ver no GitHub
Linguagem predominante
Python
Estrelas
28.2k
Forks
1.5k
Métricas de merge de PRs
Nenhum PR com merge em 30d

Descrição

### Problem

Currently, Python Fire CLI tools require all configuration to be passed via command-line arguments. For sensitive data or frequently used configurations, this can be cumbersome and insecure.

### Proposed Solution

Add support for reading configuration values from environment variables with a naming convention like `FIRE_`.

### Example Usage
```markdown
python import fire

def deploy(api_key, region='us-east-1'):
"""Deploy application"""
print(f"Deploying to {region} with key {api_key}")

if __name__ == '__main__':
fire.Fire(deploy)
```

Current usage (exposes secret):
```markdown
‍‍python deploy.py --api-key=secret123 --region=eu-west-1
```

Proposed usage:
```markdown
export FIRE_API_KEY=secret123
python deploy.py --region=eu-west-1
```

### Benefits

- Security: Sensitive data not exposed in process lists
- Convenience: Reduce repetitive argument typing
- DevOps: Better integration with container/cloud environments

### Alternative Considered
Using config files, but environment variables are more standard in modern deployment workflows.

Guia de contribuição

Abrir o guia de contribuição

Direção de pesquisa

Comece rastreando o fluxo de análise dos argumentos de linha de comando e de configuração do Python Fire; a issue não nomeia arquivos, testes nem pontos de entrada. A implementação deve incluir a convenção FIRE_, preservar o comportamento da linha de comando e cobrir com testes os exemplos documentados de API-key e região.

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

Avaliação

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

Receba novas issues na sua caixa de entrada

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