# Pysyft Federated Ml

> ML federado y privacidad con PySyft v2 (syft 0.10+).

- Skill: `ntizar/pysyft-federated-ml` (Agent Skill)
- Install (CLI): `npx skillmds@latest add ntizar/pysyft-federated-ml`
- Raw SKILL.md: https://api.skillmd.com/api/skills/ntizar/pysyft-federated-ml/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: AI & ML
- License: Apache-2.0
- Author: ntizar (https://skillmd.com/u/ntizar)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/ntizar/pysyft-federated-ml

---


# PySyft — Aprendizaje Federado y Privacidad (v2)

## Resumen

PySyft (repo `OpenMined/PySyft`, ~10K⭐, licencia Apache-2.0) permite a data scientists
**enviar cómputos que otros ejecutan sin compartir los datos subyacentes**. Es el framework de
referencia en **ML federado** (federated learning) y computación privada.
La versión actual (`syft` **0.10+**) adoptó una API nueva respecto al legacy ≤0.9.

## Instalación y uso

```bash
pip install -U "syft[data_science]" "syft-rds"   # instalar el sync engine + dataset/jobs registry
```

```python
import syft as sy                       # motor de sync (nuevo)
from syft_rds import login_do, login_ds # datasets y jobs (login_do = data owner, login_ds = data scientist)
```

> Si dependes de la API legacy **≤0.9**, fija `syft<0.10` (la vieja API cambió).

## Arquitectura / Patrones reutilizables

- **Sync engine**: `import syft as sy` — los datasets y jobs viven en `syft-rds` (`from syft_rds import ...`).
- **Separación de roles**: `login_do` (dueño de datos) vs `login_ds` (científico). El dato nunca se transfiere,
  se envía el *cómputo* al dato (pattern submit-computation-to-data).
- **Privacidad por diseño**: aplicar modelos sobre datos que no ves — útil para proyectos que tratan
  datos sensibles (salud, movilidad personal, geo) sin exponerlos.
- Patrón de **training federado**: los workers entrenan localmente y solo comparten gradientes/actualizaciones.

## Pitfalls

- La API **cambió** entre ≤0.9 y 0.10: si copias código viejo, `syft-client` ya no aplica → usa `syft` + `syft_rds`.
- Requiere **Python 3.10+**.
- El flujo federado real necesita varios workers/nodos activos; para pruebas locales, levantar nodos de
  entrenamiento simulados (tutorial oficial) antes de esperar convergencia.

## Verificación

`pip install -U "syft[data_science]" "syft-rds"` + `import syft as sy; from syft_rds import login_do, login_ds`
debe ejecutarse sin error.

## Referencia

- Repo: https://github.com/OpenMined/PySyft
- Docs: https://docs.openmined.org
- PyPI: `syft` (0.10+), `syft-rds` (datasets/jobs)

