DEV Community

Martinmanhue
Martinmanhue

Posted on

Iter: programar desde la intención

Vista previa técnica: Iter todavía no está publicado en PyPI y no existe un paquete oficial instalable.

Abrir un recurso, convertir datos o cambiar de backend suele exigir aprender una interfaz diferente y repetir código de integración.

Iter nace de una idea sencilla:

Aprende una vez. Usa cualquier biblioteca.

iter convert data.json to data.csv
Enter fullscreen mode Exit fullscreen mode

El usuario expresa una sola intención. Iter se encarga de abrir el recurso, detectar los formatos, seleccionar un adaptador compatible, convertir los datos y guardar el resultado.

Una intención. Una instrucción.

¿Qué busca cambiar Iter?

Actualmente, una tarea sencilla puede exigir:

  • importar bibliotecas;
  • aprender APIs diferentes;
  • configurar formatos manualmente;
  • escribir código de integración;
  • seleccionar cada backend.

Con Iter, el usuario indica principalmente qué quiere conseguir:

iter analyze sales.csv
Enter fullscreen mode Exit fullscreen mode

Iter selecciona automáticamente una herramienta compatible.

Si el usuario necesita controlar la biblioteca, puede indicarla:

iter analyze sales.csv with pandas
Enter fullscreen mode Exit fullscreen mode

La automatización es el comportamiento predeterminado. El control detallado sigue siendo opcional.

Everything is a Resource

Iter representa archivos, datos y recursos web mediante una estructura común llamada Resource.

El sistema está organizado alrededor de cinco componentes:

  • Resource: representa el recurso.
  • Resolver: identifica formatos, tipos y backends.
  • Registry: registra y selecciona adaptadores.
  • Adapter: ejecuta operaciones concretas.
  • Engine: coordina el proceso.

La meta no es afirmar que todas las bibliotecas son idénticas. La meta es unificar intenciones comunes y conservar las diferencias importantes cuando sean necesarias.

Estado actual

Iter 0.3.0-rc.2 está en fase de corrección de errores y validación privada.

Actualmente:

  • el código principal permanece privado;
  • Iter todavía no está publicado en PyPI;
  • no existe un paquete demostrativo;
  • la sintaxis puede ajustarse antes del lanzamiento;
  • solamente se anunciarán como disponibles las funciones implementadas y verificadas.

Este repositorio público presenta la idea, la arquitectura y la experiencia prevista para Iter.

Participa antes del lanzamiento

¿Qué biblioteca, formato o backend debería unificar Iter primero?

Puedes conocer la vista previa, seguir el lanzamiento y dejar una propuesta:

Vista previa pública:

https://github.com/Martinmanhue/iter-public

Deja tu propuesta aquí:

https://github.com/Martinmanhue/iter-public/issues/1

Si la idea te parece útil, apoya el proyecto dando una ⭐ en GitHub.


Iter — Everything is a Resource.

Top comments (0)