Secrets management: credenciales fuera del código, siempre
Variables de entorno, python-dotenv, el módulo secrets y compare_digest para manejar credenciales sin exponerlas en git ni en el código.
Variables de entorno, python-dotenv, el módulo secrets y compare_digest para manejar credenciales sin exponerlas en git ni en el código.
Por qué eval/exec son vectores de ejecución remota, por qué restringir globals no funciona, y cómo ast.literal_eval() resuelve el caso común de forma segura.
Uso de `Popen` como API de bajo nivel para streaming de output, timeouts, polling no bloqueante y terminación controlada de procesos hijos.
Por qué `shell=True` introduce inyección de comandos con input externo y cómo reemplazarlo con listas, `glob`, `Popen` encadenados y `shlex.split`.
Cómo usar subprocess.run con lista de argumentos, capture_output, text, check y timeout para ejecutar procesos externos de forma segura y robusta.
Cómo usar `sys.argv`, `stdin`/`stdout`/`stderr` y códigos de salida para construir herramientas CLI robustas y compatibles con pipelines.
Construye CLIs con subcomandos, validación de tipos y prompts interactivos usando `click` y su capa de alto nivel `typer`.
Construcción de CLIs completas con ArgumentParser: flags, posicionales, tipos, choices, nargs y subcomandos, sin dependencias externas.
Polars usa Rust, Apache Arrow y una API lazy para procesar DataFrames más rápido que pandas, sin índice y con expresiones composables.
Domina .loc vs .iloc, groupby, merge y por qué iterrows() destruye el rendimiento en favor de operaciones vectorizadas.