Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Graphe des dépendances #32

Open
nicolas-roelandt opened this issue May 10, 2023 · 1 comment
Open

Graphe des dépendances #32

nicolas-roelandt opened this issue May 10, 2023 · 1 comment

Comments

@nicolas-roelandt
Copy link
Collaborator

Avant de me lancer dans le lancement des scripts, j'en ai profité pour faire un graphe de dépendances (avec la bibliothèque Mermaid).

Il n'est pas parfait et ne correspond pas vraiment à un script d'exécution mais ça donne une idée.

flowchart TD
    A[prep_Data.py] -->|Process raw data| B[use_data.py]
    C[api_logicout.py]
    D[api_itinerary.py]
    B --> E[IsInclude.py]
    B --> F[histogramme.py]
    E --> F
    B-->G[indexes.py]
    B-->H[mutualisation.py]
    C-->H
    B-->I[list_mutualisations_index.py]
    E-->I
    G-->I
    B-->J[main.py]
    H-->J
Loading

Quelques questions:

Simplification des dépendances

Est-il possible que use_data ne soit pas appelé histogramme.py, list_mutualisations_index.py et main.py si il est déjà appelé par d'autres dépendances ?

Usage d'api_itinerary.py

Ce module n'est appelé par un aucun autre, est-il toujours utile/utilisé ?

Quelle est la différence entre list_mutualisations_index.py et mutualisation.py ?

Pourquoi l'un est appelé par main.py et pas l'autre ?

@artdfcp
Copy link

artdfcp commented May 19, 2023

1 - Simplification des dépendances :

Personnellement, je ne sais pas comment cela fonctionne. Si je supprime l'import, le code ne fonctionne plus, mais je vais me renseigner

2 - Oui, le fichier api_itinerary.py pourrait être suprrime. Nous l'avons gardé juste au cas au il y avait quelque problème avec les autres APIs.

3 - En ce qui concerne les fichiers "list_mutualisations_index.py" ,"mutualisation.py" et "main.py" :
Le premier crée un fichier csv avec tous les candidats à la mutualisation pour chaque balle dans la base de données, triés par leur indice de distance.

Le second prend un tour A et un autre tour B, calcule la route mutualisée C et fait une requête à l'API Logicout. Il calcule ensuite les gains de l'itinéraire C par rapport à l'itinéraire A + B,

Le script main.py prend le fichier csv géneré par "list_mutualisations_index.py" et éxecute la fonction principale du script "mutualisation.py" 1 fois pour chaque tournée, ayant comme itineraire B le mieux candidat selon notre indice.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants