2. Quickstart
2.1. Installation
Create a project folder and a venv folder within:
$ mkdir myproject
$ cd myproject
$ python3 -m venv venv
> mkdir myproject
> cd myproject
> py -3 -m venv venv
2.1.1. Activate the environment
Before you work on your project, activate the corresponding environment:
$ . venv/bin/activate
> venv\Scripts\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().