2. Quickstart

2.1. Installation

Create a project folder and a venv folder within:

$ mkdir myproject
$ cd myproject
$ python3 -m venv venv

2.1.1. Activate the environment

Before you work on your project, activate the corresponding environment:

$ . venv/bin/activate

Your shell prompt will change to show the name of the activated environment.

2.1.2. Install

$ pip install PymaciesArg

2.2. Initialization

import datetime
import os
import pathlib
from pymacies_arg import (
    PymaciesArg,
    PharmaciesLoader,
    LocationsLoader,
    DepartmentsLoader,
)

from sqlalchemy import create_engine

# this path is pointing to project/
PATH = os.path.abspath(os.path.dirname(__file__))
SQLALCHEMY_DATABASE_URI = "sqlite:///" + PATH + "db_data.db"
engine = create_engine(SQLALCHEMY_DATABASE_URI)

now = datetime.datetime.now()
date = f"{now.year}-{now.month}-{now.day}"

pymacies = PymaciesArg(date, pathlib.Path(PATH))

2.3. ETL - Extract, Transform and Load

# Extract
file_paths = pymacies.extract_raws()

# Transform
provinces = [
    "BUENOS AIRES",
    "SANTA FE",
    "CABA",
    "TUCUMÁN",
    "MISIONES",
    "CÓRDOBA",
    "ENTRE RÍOS",
    "CHACO",
    "SALTA",
    "CORRIENTES",
    "RÍO NEGRO",
    "LA PAMPA",
    "SANTIAGO DEL ESTERO",
    "SAN LUIS",
    "SAN JUAN",
    "NEUQUÉN",
    "CHUBUT",
    "JUJUY",
    "CATAMARCA",
    "FORMOSA",
    "LA RIOJA",
    "SANTA CRUZ",
    "TIERRA DEL FUEGO",
    "MENDOZA",
]
paths = [
    pymacies.trasform_raws(file_paths, province) for province in provinces
]

# Load
for path in paths:
    PharmaciesLoader(engine).load_table(path[0])
    LocationsLoader(engine).load_table(path[1])
    DepartmentsLoader(engine).load_table(path[2])

2.4. Resources helpers

PymaciesArg provides two helper functions to load data from https://datos.gob.ar via pymacies.trasform_raws() and pymacies.extract_raws().