Outils
Sinamet est accompagnés de quelques outils supplémentaires qui viennent faciliter le fonctionnement de la librarie. Ils ne sont pas strictement nécessaire à la manipulation des données à travers l'ORM, mais servent à standardiser et simplifier certaines opérations en lien avec l'analyse des flux.
Profile
Profile transforme une liste de flux ou de stock en un profil temporel,
c'est à dire une liste de tuplets (valeur, date). Ces profils temporels peuvent être ainsi facilement affichés
sur un graphique. Voici l'idée en quelques lignes :
from sinamet.tools import Profile
with Sidb.connect() as sidb:
lst_flux = sidb.get_import( ) #A Completer avec la cible
profile = Profile.build(lst_flux, unit='kWh')
plot(x=profile.times, y=profile.value)
Les opérations mathématiques simples (addition, soustraction, multiplication, division) sont directement applicables sur les profils.
Profile
Série de valeurs datées.
Parameters:
-
times–liste des repères temporels (dates).
-
values–liste des valeurs associées à chaque repère temporel.
get_value
staticmethod
Renvoie la valeur d'une liste de flux sur la période indiquée. La période est renseignée soit par une date de début et/ou de fin, soit par une année, soit par une année et un mois (de 1 à 12)
Parameters:
-
flows–Liste des flux
-
unit–Unité pour exprimer les flux
-
start–Date de début
-
end–Date de fin
-
year–Année
-
month–Mois
Conversion d'unités
Un utilitaire de conversion d'unités est disponible dans Sinamet. Il dispose de coefficients standards (L en m3, J en Wh ou tep ou cal, m2 en ha, t en kg), gère les préfixes d'unités (k, M, G, T, ...) et peut utiliser des coefficients complémentaires pour réaliser les conversions.
convert
Converti une valeur d'une unité vers une autre.
Parameters quantity: Quantité initiale from_unit: Unité initiale to_unit: Unité finale coeffdic: Dictionnaire complémentaire (Optionnel)
Examples:
>>> from sinamet.tools.unitconverter import convert
>>> convert(12, 't', 'kg') # Converti des tonnes en kilo.
>>> convert(12000, 'L', 'm3') # Converti des tonnes en kilo.
>>> convert(12, 't', 'kg') # Converti des tonnes en kilo.
>>> convert(1378, 'kg', 'm3', coeffdic={"g/cm3":7.874}) # Utilise un coefficient de densité massique complémentaire
Dictsyntax
Dictsyntax peut être utilisé pour structurer de manière standard les données traitées d'un module. Il permet de distinguer les paramètres (s, 'sets'), les données brutes (r, 'results'), et les données complémentaires graphiques (g, 'graphicsinfo') dans un dictionnaire (généralement appelé data). Par exemple :
from sinamet.tools.dictsyntax import r, s, g
data = {s: [], r:[], g:[]}
[A détailler]
Opestring
Permet de réaliser des opérations autour des chaînes de caractère. Dispose en particulier d'une fonction de hachage.
[A détailler]
timext
Permet de réaliser des opérations autour des dates.
[A détailler]
Path
Permet d'accéder à des chemins de dossier standard pour chaque package (dossier "data", "build", "cache")
[A détailler]