Skip to main content

Cat data tools

codecov licencia languages commits GitHub contributors

Overview

Python module with tools to process cat data.

Adaptadores

Esta nota está inspirada en el tema de arquitectura hexagonal. La necesidad nació de la petición de que nos hizo el equipo de trampeo por tener las coordenadas de las trampas con capturas. En el estado actual no tenemos las coordenadas, pero nos hicieron llegar las coordenadas en un archivo GPX. Ese archivo lo cambiamos a formato GeoJSON y de ahí a csv. La promesa es que ese archivo ya no nos lo van a mandar. El próximo formato serán archivos de mapsource.

¿Qué hicimos?

Sabemos que las próximas coordenadas vendrán de un archivo distinto. Así que decidimos que un adaptador decida cómo generar el DataFrame a partir de diferentes fuentes de datos. El adaptador nos regresará objetos que transforan de la fuente de datos a DataFrame. El nombre del archivo fuente es el criterio para saber el tipo de objeto que nos entregará el DataFrame que necesitamos.

¿Dónde lo hicimos?

Trabajamos en el repositorio cat_data_tools. ¿Cuál es el objetivo de este repositorio? ¿Dónde utilizamos este repositorio? Aquí podemos ver la implementación.

¿Qué hace el adaptador?

La función Adapter_for_path_to_dataframe() nos entrega un objeto del tipo Adapter_from_path (creo que podemos mejorar el nombre. Tal vez transformer en lugar de adapter). Estos objetos tienen un método get_dataframe() encargado de entregar el DataFrame con las columnas correctas. La única razón para cambiar a la función Adapter_for_path_to_dataframe() es que agreguemos a una clase "transformer" nueva. Las clases transformer cambian de manera independiente, cada una dependen del archivo con el que las inicializamos. La razón por la que podrían cambiar todas las clases transformer es que las columnas de salida cambien de nombre.

¿Qué logramos?

El cambio que nos prometieron que vendría lo tenemos encapsulado. Cuando la fuente de datos sea distinta tenemos que escribir una nueva clase que cumpla con la misma interfaz. ¿Podemos decir lo mismo sin usar la palabra interfaz? Además tendremos que agregar un opción en el diccionario choice.

Metadata

Release files for cat-data-tools 1.5.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for cat-data-tools 1.5.0
File Size Uploaded
cat_data_tools-1.5.0.tar.gz 19.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for cat-data-tools 1.5.0
File Interpreter ABI Platform
cat_data_tools-1.5.0-py3-none-any.whl Python 3 none any Details

Total release size: 41.3 kB

Release files / cat_data_tools-1.5.0.tar.gz

Download URL cat_data_tools-1.5.0.tar.gz
Size 19.6 kB
Tags Source
SHA-256 checksum
How to use checksums
48374f976bace9b173a0325c4f47514ae7a1a3c562019006a1cbdeda423b30b4
BLAKE2b-256 checksum
How to use checksums
b8861f5ced2a6c5fca2b9df2890ecc78490d4d088e78a78ccc41c911ccbc7348
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / cat_data_tools-1.5.0-py3-none-any.whl

Download URL cat_data_tools-1.5.0-py3-none-any.whl
Size 21.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
0775339642915476a999ccfad8aaad16e47d66fb39171ef7002c200347feca5b
BLAKE2b-256 checksum
How to use checksums
0c4bd748bb418b58435889e490fec397c56ceb95ac800d03a111d24d6d5bfe42
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release history Release notifications | RSS feed

This release

1.5.0 This release

2 release files

1.4.0

2 release files

1.3.0

2 release files

1.2.0

2 release files

1.1.0

2 release files

1.0.2

2 release files

1.0.1

2 release files

1.0.0

2 release files

0.11.0

2 release files

0.9.2

2 release files

0.9.1

2 release files

0.9.0

2 release files

0.8.0

2 release files

0.7.1

2 release files

0.7.0

2 release files

0.6.1

2 release files

0.6.0

2 release files

0.5.0

2 release files

0.4.1

2 release files

0.4.0

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page