# Polarity

**Polarity** es una librería diseñada para facilitar los procesos ETL (Extract, Transform, Load) en proyectos de ingeniería de datos, utilizando **Polars** para el procesamiento eficiente de datos y **Pydantic** para la validación de los mismos.

## Características

- **Procesamiento rápido de datos**: Aprovecha la velocidad de Polars para manejar grandes volúmenes de datos de manera eficiente.
- **Validación de datos**: Utiliza modelos de Pydantic para garantizar que los datos sean válidos antes de cargarlos.
- **Flexible y escalable**: Ideal para proyectos ETL donde la eficiencia y la integridad de los datos son clave.
- **Compatible con múltiples fuentes de datos**: Soporta distintos formatos y fuentes de datos para extracción y carga.

## Instalación

Puedes instalar Polarity directamente desde PyPI utilizando `pip`:

```bash
pip install polarity
```
```bash
conda install polarity
```
```bash
poetry add polarity
```
```bash
uv add polarity
```


## Qué es Polarity

Polarity es una librería para procesos ETL que combina el procesamiento de datos de alto rendimiento proporcionado por Polars con la validación robusta de esquemas de datos mediante Pydantic. Está diseñada para simplificar y acelerar las tareas de extracción, transformación y carga de datos, asegurando que tus datos sean consistentes y correctos.

### Características principales:

- Procesamiento eficiente de datos: Utiliza Polars, un motor de procesamiento de datos altamente optimizado y rápido.
- Validación de datos robusta: Define y valida esquemas de datos fácilmente con Pydantic.
- Escalabilidad: Ideal para manejar grandes volúmenes de datos en flujos de trabajo ETL.
- Fácil integración: Compatible con múltiples formatos y fuentes de datos para extracción y carga.

## Ejemplo de uso

Aquí tienes un ejemplo sencillo de cómo utilizar Polarity en un flujo de trabajo ETL:

```python

```

## Documentación
La documentación completa, ejemplos y guías de uso se encuentran bajo construcción.

## Contribuir
Si estás interesado en contribuir a Polarity, aquí tienes algunas maneras de hacerlo:

- Informar sobre problemas o bugs abriendo un issue.
- Mejorar la documentación o agregar ejemplos.
- Enviar un Pull Request con mejoras o nuevas funcionalidades.

#### Para comenzar:

1. Haz un fork del repositorio.
2. Crea una nueva rama (git checkout -b feature/nueva-funcionalidad).
3. Realiza los cambios necesarios.
4. Haz commit de tus cambios (git commit -m 'Agrega nueva funcionalidad').
5. Haz push a tu rama (git push origin feature/nueva-funcionalidad).
6. Abre un Pull Request.

## Versionado
Utilizamos el Semantic Versioning para etiquetar las versiones del proyecto. Puedes encontrar las versiones disponibles en el repositorio de GitHub.

## Soporte
Si necesitas ayuda o tienes preguntas sobre el uso de Polarity, puedes abrir un issue en el repositorio de GitHub o contactar al autor directamente por correo electrónico.

## Licencia
Este proyecto está licenciado bajo la Licencia MIT. Consulta el archivo LICENSE para más detalles.

## Acerca de
Polarity es desarrollado y mantenido por JuanManiglia. Si tienes alguna pregunta o sugerencia, no dudes en ponerte en contacto.