Skip to content

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

get_value(
    flows, unit, start=None, end=None, year=None, month=None
)

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

convert(quantity, from_unit, to_unit, coeffdic=None)

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]