Metadata-Version: 2.4
Name: seti-az-keyring
Version: 0.2.1
Summary: Keyring backend + setup CLI: autentica feeds privados de Azure Artifacts con tu sesión de `az login` — sin tokens a mano.
Author: SETI — CoE IA & Datos
License: MIT
Keywords: azure-artifacts,azure-devops,keyring,pip,private-feed,uv
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Software Development :: Build Tools
Requires-Python: >=3.9
Requires-Dist: keyring>=24
Description-Content-Type: text/markdown

# seti-az-keyring

Conecta tu máquina a un **feed privado de Azure Artifacts** usando tu sesión de **`az login`** — el dev
**nunca escribe ni ve un token**. Es un backend de [`keyring`](https://github.com/jaraco/keyring) más un
comando `setup` que deja todo configurado. Genérico: sirve para cualquier org/feed de Azure DevOps.

## Uso — un comando

```powershell
az login --use-device-code            # tu sesión de Azure (una vez)
uvx --no-config seti-az-keyring setup https://pkgs.dev.azure.com/<org>/<proyecto>/_packaging/<feed>/pypi/simple/ --install <tu-paquete>
```

El `setup` hace todo de una vez: verifica tu sesión de `az` (incluida la llave de Azure DevOps), instala
el backend en el entorno aislado del `keyring` de [uv](https://docs.astral.sh/uv/) (`uv tool install
keyring --with seti-az-keyring`), registra la carpeta de tools en el PATH, escribe tu `uv.toml`
(`keyring-provider = "subprocess"` + el índice del feed, con usuario en la URL para que uv consulte el
keyring) y — con `--install` — instala tu paquete del feed ahí mismo (así el primer install nunca choca
con un PATH desactualizado). Es **idempotente**: repetirlo revisa lo que ya está y repara lo que falte.
Al final:

```
✔ listo — ya puedes usar: <tu-paquete>
```

(o te avisa, en palabras simples, si necesitas abrir una terminal nueva — solo la primera vez).

## Cómo funciona por dentro

Con `keyring-provider = "subprocess"`, uv le pide al `keyring` la credencial del feed; este backend
responde corriendo `az account get-access-token` (recurso de Azure DevOps) y devuelve ese token, que
Azure Artifacts acepta. Para cualquier otro host devuelve `None` (no estorba), y vive **aislado** en el
entorno del `keyring` de uv (no toca el keyring del sistema).

## Notas

- Requiere [Azure CLI](https://learn.microsoft.com/cli/azure/) y [uv](https://docs.astral.sh/uv/).
- No guarda nada: cada credencial sale de tu sesión de `az` en el momento y expira sola.
- Solo lectura: no almacena contraseñas (`set_password`/`delete_password` no están soportados).

## Licencia

MIT.
