Produtividade no Shell
Aliases, funções de shell e truques de histórico para desenvolvedores Python que usam bash/zsh - git, uv, pytest e SSH mais rápidos sem memorizar todas as flags.
Busque em todas as páginas da documentação
Aliases, funções de shell e truques de histórico para desenvolvedores Python que usam bash/zsh - git, uv, pytest e SSH mais rápidos sem memorizar todas as flags.
# ~/.bashrc ou ~/.zshrc
alias gs='git status -sb'
alias uvr='uv run'
alias pyt='uv run pytest -q'
gco() { git checkout "$@"; }Quando usar isso:
curl | jq da semana passada a partir do histórico# Trechos de ~/.zshrc para monorepo Python
export PATH="$HOME/.local/bin:$PATH"
alias uvs='uv sync'
alias uvt='uv run pytest -q'
alias ruffc='uv run ruff check .'
alias rufff='uv run ruff format .'
# Padrão de função de smoke test commitado - promova para bin/smoke.sh quando compartilhado
billing-smoke() {
set -euo pipefail
curl -sf http://localhost:8000/health
curl -sf http://localhost:8000/ready
echo "smoke ok"
}
# Checkout git fzf (requer fzf)
alias gcb='git branch | fzf | xargs git checkout'O que isso demonstra:
uv/ruff/pytest de alta frequênciaset -euo pipefail para testes de fumaçaHISTSIZE, HISTFILESIZE, histappend para persistência.| Ferramenta | Propósito |
|---|---|
fzf | Seleção fuzzy de arquivos, branches |
direnv | Carrega .envrc automaticamente por diretório de projeto |
zoxide | z billing para pular para diretório frecent |
starship | Prompt cross-shell com indicador de venv |
# Mostrar venv ativo no prompt - módulo python do starship ou:
export PS1='($(basename $VIRTUAL_ENV)) \u@\h:\w$ '
# Busca no histórico para trás com rg
bind '"\C-r": reverse-search-history' # padrão bashalias ls='ls --color' OK; mascarar python é perigoso. Correção: evite alias em python, rm, git push.set -euo pipefail no topo.curl -H "Authorization: Bearer ..." salvo. Correção: padrão HISTIGNORE ou prefixo de espaço + HISTCONTROL=ignorespace./opt/app/bin..bashrc enorme lentifica SSH - Carregar plugins sob demanda no estilo nvm. Correção: dividir em ~/.bashrc.d/ opcionais.| Alternativa | Usar Quando | Não Usar Quando |
|---|---|---|
Makefile make test | Equipe quer uma interface | Desenvolvedores Windows sem make |
Runner just | Receitas de comando ricas | Política de zero dependências extras |
| Tarefas IDE | Desenvolvedores focados em GUI | Operadores apenas SSH |
| CLI Dedicada (Typer) | Subcomandos complexos | Alias simples é suficiente |
Ambos são bons no macOS/Linux - zsh é o padrão no macOS; garanta que os scripts sejam compatíveis com bash para CI.
.envrc com layout uv ou source .venv/bin/activate automático ao cd.
Documentar no docs/shell.md do repositório - não forçar dotfiles via repositório sem opt-in.
export HISTTIMEFORMAT='%F %T ' no bash para quando você executou aquele comando de migração.
git config --global core.excludesfile ~/.gitignore_global para .DS_Store, .idea.
Verificar bindkey no zsh; instalar o pacote de keybindings do fzf.
uv generate-shell-completion zsh >> diretório de completion do ~/.zshrc.
Aliases geralmente são desabilitados - use comandos completos em cron/systemd.
Desabilitar plugins não utilizados; apenas o starship é mais leve.
Quando ele tem argumentos, tratamento de erros, ou é compartilhado pela equipe - mova para bin/ com testes.
Versões do Stack: Esta página foi escrita para Python 3.14.0 (estável 3.14, manutenção 3.13), FastAPI 0.115+, Django 5.2, Flask 3.1, Pydantic 2, PyTorch 2.6+, pandas 2.2+, Polars 1.x, ruff 0.9+, e uv 0.6+.
Revisado por Chris St. John·Última atualização: 19 de jul. de 2026