Skip to main content

A Python module to process cats data

Project description

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cat_data_tools-1.0.0.tar.gz (18.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

cat_data_tools-1.0.0-py3-none-any.whl (20.0 kB view details)

Uploaded Python 3

File details

Details for the file cat_data_tools-1.0.0.tar.gz.

File metadata

  • Download URL: cat_data_tools-1.0.0.tar.gz
  • Upload date:
  • Size: 18.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for cat_data_tools-1.0.0.tar.gz
Algorithm Hash digest
SHA256 7a2ae5e398bd538a4a2384364a5163b778bfc2c76b6a23d7ecba5598d254a9e3
MD5 46092a0964277b2dc4c6f839725abe1f
BLAKE2b-256 39ca50ffe5299483c6d97c1d2b9d23e9a0a08d62bd480bf1d3a85445884dbee2

See more details on using hashes here.

File details

Details for the file cat_data_tools-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: cat_data_tools-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 20.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for cat_data_tools-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6284b67647d3c41b7483505977b0be83e9122a6be305d9f966c693693675ffa6
MD5 629a84635a5f6ee87624e386bf8018a6
BLAKE2b-256 442eaf89aec57e49e1a2ac0ec5a8abe65e4247e87e7df69164a590e09e04bb37

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page