Skip to content

Commit

Permalink
Remove api (#13)
Browse files Browse the repository at this point in the history
* blue for animated map

* Graph 1.1 and data into french

* Graph 1.2 and data in french

* Graph 1.3 and data in french

* Graph 1.4 and data in french

* Graph 2.1 and data in french

* Graph 2.3 and data in french

* Changes to Graph 1.1 including option to block zoom and add caption with data source

* modifications to Graph 1.2 after talking to Maxime

* Graph 1.0 pour page story with transparent background and data and graph in french

* Graph 1.4 fixed animation issues and remove autoplay when saving html

* Changes to graph 1.3 based on maxime comments

* Changes to Graph 2.1 and 2.3 after talking tot Maxime

* Graph 4.4 and data into french

* Small changes to zoom stuff

* Remove graphs no longer needed

* Update config.py for french graphs

* Graph 7 alternatives with french english

* Small change on Graph 7

* feat: add routes for french version

* fix: linting

* feat: setup migration

* remove workflows

* fix config

* generate graphs

* remove white as default

* fix: generation

---------

Co-authored-by: Sarah Rieubland <[email protected]>
  • Loading branch information
gmguarino and sarahrieubland authored Jun 3, 2024
1 parent 0cca1f9 commit 4ff7662
Show file tree
Hide file tree
Showing 12 changed files with 139 additions and 138 deletions.
55 changes: 0 additions & 55 deletions .github/workflows/build-image.yaml

This file was deleted.

59 changes: 59 additions & 0 deletions .github/workflows/generate-graphs.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
name: Build Graphs

on:
workflow_dispatch:
# push:
# branches:
# - main

jobs:
generate:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v2
with:
python-version: 3.12
- name: cache poetry install
uses: actions/cache@v2
with:
path: ~/.local
key: poetry-1.8.2-0
- uses: snok/install-poetry@v1
with:
version: 1.8.2
virtualenvs-create: true
virtualenvs-in-project: true
- name: cache deps
id: cache-deps
uses: actions/cache@v2
with:
path: .venv
key: pydeps-${{ hashFiles('**/poetry.lock') }}
- run: poetry install --no-interaction --no-root
if: steps.cache-deps.outputs.cache-hit != 'true'
- run: poetry install --no-interaction
- run: poetry run python 12_pinkbombs_app/generate.py
- id: files
uses: jitterbit/get-changed-files@v1
with:
format: 'csv'



push:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
repository: 12_pinkbombs_app
ref: 'main'
token: ${{ secrets.D4GTECH_TOKEN }}
path: './12_pinkbombs_app'
- name: setup git config
run: |
git config user.name "Pinkbombs Bot"
git config user.email "<>"
- run : git add .
- run: git commit -m "bot: update data"
- run: git push origin main
38 changes: 0 additions & 38 deletions .github/workflows/scale-down.yaml

This file was deleted.

39 changes: 0 additions & 39 deletions .github/workflows/scale-up.yaml

This file was deleted.

7 changes: 7 additions & 0 deletions data/alternatives_colors_7.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
,Saumon élevage sur terre,Saumon élevage en mer,Thon albacore en boite (pêché),"Poissons “proie” (sardines, maquereaux)","Coquillages (moules, huitres)",Algues,Huile de colza (bio),Simili poissons végétaux industriels
Éléments toxiques,5,5,6,4,4,2,1,2
Apport en omégas 3,2,2,5,1,5,0,1,2
Biodiversité,5,6,6,4,4,4,1,2
CO2,6,5,3,4,4,4,2,1
Impacts sociaux ,6,5,6,4,3,1,1,2
Condition animale,6,5,6,3,2,0,0,2
2 changes: 1 addition & 1 deletion data/alternatives_text_7.csv
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,4 @@ Omegas 3 intake,2 - Consuming salmon covers less than three-quarters of the dail
Biodiversity,5 - ,6 - ,6 - ,4 - ,4 - ,4 - ,2 - ,1 -
Carbon footprint,6 - The carbon footprint of salmon (land-based ) is estimated to be between 15 and 20 kg of CO2 equivalent per kg of salmon produced.,5 - The carbon footprint of salmon (marine-based farming) is estimated to be 10 kg of CO2 equivalent per kg of salmon produced (according to WWF).,3 - The carbon footprint of albacore tuna is estimated to be 4.4 kg of CO2 equivalent per kg of tuna produced (according to Agribalyse).,4 - The carbon footprint of forage fish is estimated to be 7.3 kg of CO2 equivalent per kg produced (according to Agribalyse).,3 - The carbon footprint of shellfish is estimated to be 5.7 kg of CO2 equivalent per kg produced (according to Agribalyse).,"4 - The carbon footprint of seaweed is estimated to be 6.7 kg of CO2 equivalent per kg produced (according to Agribalyse; average of ulva, nori, Breton kombu, sea bean).",1 - The carbon footprint of plant-based smoked salmon (similli) is estimated to be 1.6 kg of CO2 equivalent per kg produced (according to Agribalyse).,2 - The carbon footprint of rapeseed oil is estimated to be 2.3 kg of CO2 equivalent per kg produced (according to Agribalyse).
Social impacts,6 - ,6 - ,6 - ,4 - ,3 - ,1 - ,2 - ,1 -
Animal welfare,"6 - Les densités de 70 kg à 150 kg de saumons par m3, selon l'IFSA (2015), augmentent les risques de maladies infectieuses, citant plusieurs études.",4 - ,6 - ,3 - ,2 - ,1 - No impact on animal welfare.,2 - ,1 - No impact on animal welfare.
Animal welfare,"6 - Les densités de 70 kg à 150 kg de saumons par m3, selon l'IFSA (2015), augmentent les risques de maladies infectieuses, citant plusieurs études.",4 - ,6 - ,3 - ,2 - ,1 - No impact on animal welfare.,2 - ,1 - No impact on animal welfare.
2 changes: 1 addition & 1 deletion data/alternatives_text_7_fr.csv
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,4 @@ Apport en omégas 3,2 - Consommer du saumon couvre moins de trois quarts des bes
Biodiversité,5 - Fortes pressions environnementales liées à l’alimentation des saumons : l'approvisionnement en farines végétales contribue à la déforestation en Amazonie et les farines de poisson aggravent la surpêche et le déclin des populations de poissons sauvages.,"6 - Dégradation forte de la qualité de l'eau du milieu marin : rejets de nutriments et d'excréments, eutrophisation et bloom de phytoplancton, rejets de pesticides et microplastiques.","6 - Dégradation de la qualité de l'eau du milieu marin : utilisation moindre mais avérée d'insecticides, rejets de nutriments et d'excréments dans la mer, risques d'eutrophisation et bloom de phytoplancton, rejets de microplastiques dus à la désagrégation des tuyaux d'alimentation.",4 - ,4 - ,4 - ,2 - ,1 -
Empreinte carbone,6 - L'empreinte carbone du saumon (élevage terrestre) est estimée entre 15 et 20kg de CO2 equivalent par kg de saumon produit.,5 - L'empreinte carbone du saumon (élevage en mer) est estimée à 10kg de CO2 equivalent par kg de saumon produit (d'après WWF).,3 - L'empreinte carbone du thon albacore est estimée à 4.4kg de CO2 equivalent par kg de thon produit (d'après Agribalyse).,"4 - L'empreinte carbone des poissons ""proie"" est estimée à 7.26kg de CO2 equivalent par kg produit (d'après Agribalyse).",3 - L'empreinte carbone des coquillages est estimée à 5.7kg de CO2 equivalent par kg produit (d'après Agribalyse).,"4 - L'empreinte carbone des algues est estimée à 6.7kg de CO2 equivalent par kg produit (d'après Agribalyse; moyenne de ulva, nori, kombu breton, haricot de mer).",1 - L'empreinte carbone du Smili est estimée à 1.6kg de CO2 equivalent par kg produit (d'après Agribalyse).,2 - L'empreinte carbone de l'huile de colza est estimée à 2.3kg de CO2 equivalent par kg produit (d'après Agribalyse).
Impacts sociaux ,6 - Fort détournement des productions de soja et de la pêche des petits pélagiques pour nourrir les saumons au détriment des peuples humains ; 90% des captures de la pêche minotière mondiale sont composés d’espèces directement comestibles par les humains.,6 - Fort détournement des productions de soja et de la pêche des petits pélagiques pour nourrir les saumons au détriment des peuples humains ; 90% des captures de la pêche minotière mondiale sont composés d’espèces directement comestibles par les humains.,"6 - Si elevé en ferme (55%), la production de thon pollue les eaux et les terres avec des produits chimiques et des antibiotiques. Les poissions tombent malades et les maladies peuvent se répandre vite via les mouettes qui les mangent.","4 - La pêche des poissons ""proie"" provient de l'océan Atlantique Nord-Est (Méditerranée, Maroc et Mauritanie) au chalut coulissant et à la senne pélagique, mettant en péril la sécurité alimentaire des communautés locales.","3 - La production de coquillage est un secteur d'emploi important (environ 17 000 personnes), il s'agit d'une main d'oeuvre familiale.","1 - Le développement et la consommation d'algues est recommandé pour la transformation du système alimentaire à l'échelle mondiale, l'UE et pour l'ODD relatif à une aquaculture durable/faible niveau tropique. C'est une filière en plein essor. ",2 - ,"1 - Filière porteuse d'emploi, a besoin de soutien pour la bio"
Condition animale,"6 - Dans les fermes d'élevage de saumon terrestre, les densités sont de 70 kg à 150 kg de saumons par mètre cube d'eau (selon l'IFSA, 2015), ce qui augmentent les risques de maladies infectieuses.","4 - Dans les fermes d'élevage de saumon en mer (en cage marine), les densité sont de l'ordre de 25 kg de saumon par mètre cube d'eau. Le bien-être est dégradé à partir du seuil de 22 kg/m3 en cages marines pour les saumons atlantiques.","6 - Les techniques utilisées par les pêcheries de thons ont des effets négatifs sur de nombreuses espèces non ciblées (100,000 tonnes de captures accessoires et rejets chaque année dans les pêcheries mondiales de thon).","3 - Souffrance et stress des animaux capturés et ceux utilisés en appâts vivants, mais une meilleure capacité à capturer les espèces cibles.",2 - ,1 - Pas d'impacte sur la condition animale.,2 - ,1 - Pas d'impacte sur la condition animale.
Condition animale,"6 - Dans les fermes d'élevage de saumon terrestre, les densités sont de 70 kg à 150 kg de saumons par mètre cube d'eau (selon l'IFSA, 2015), ce qui augmentent les risques de maladies infectieuses.","4 - Dans les fermes d'élevage de saumon en mer (en cage marine), les densité sont de l'ordre de 25 kg de saumon par mètre cube d'eau. Le bien-être est dégradé à partir du seuil de 22 kg/m3 en cages marines pour les saumons atlantiques.","6 - Les techniques utilisées par les pêcheries de thons ont des effets négatifs sur de nombreuses espèces non ciblées (100,000 tonnes de captures accessoires et rejets chaque année dans les pêcheries mondiales de thon).","3 - Souffrance et stress des animaux capturés et ceux utilisés en appâts vivants, mais une meilleure capacité à capturer les espèces cibles.",2 - ,1 - Pas d'impacte sur la condition animale.,2 - ,1 - Pas d'impacte sur la condition animale.
6 changes: 4 additions & 2 deletions pinkbombs/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,5 +6,7 @@
from .graphs.viz import make_simple_box_chart, make_matrix_alternatives
from .graphs.maps_viz import make_ras_bubble_map

from .router import api
from .auth.authenicate import verify_token

# from .router import api
# from .auth.authenicate import verify_token

11 changes: 10 additions & 1 deletion pinkbombs/config.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import pinkbombs as pb
import pandas as pd
import graphs as pb


MAPPING = {
"salmon-collapse": {
Expand All @@ -13,6 +14,8 @@
[
'#151c97'
],
"simple_white",
"",
True,
],
},
Expand Down Expand Up @@ -72,6 +75,8 @@
"Tonnes - live weight",
"Evolution of salmon farming by country",
1980,
50,
True,
[
'#151c97',
],
Expand Down Expand Up @@ -183,6 +188,8 @@
[
'#151c97'
],
"simple_white",
"",
True,
],
},
Expand Down Expand Up @@ -242,6 +249,8 @@
"Tonnes de saumon",
"Evolution de l'élevage de saumons par pays",
1980,
50,
True,
[
'#151c97',
],
Expand Down
50 changes: 50 additions & 0 deletions pinkbombs/generate.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
from config import MAPPING, MAPS, MAPPINGFR, MAPSFR
import json

def generate_graph(graph_name, mapping):
if graph_name not in mapping:
raise ValueError(f"Graph '{graph_name}' not found")
df = mapping[graph_name]["parser"](
"data/" + mapping[graph_name]["filename"],
)
chart_obj = mapping[graph_name]["function"](df, *mapping[graph_name]["arguments"])
return chart_obj.to_json()


def generate_map(map_name, mapping):
if map_name not in mapping:
raise ValueError(f"Map '{map_name}' not found")
df = mapping[map_name]["parser"](
"data/" + mapping[map_name]["filename"],
)
html_map = mapping[map_name]["function"](df, *mapping[map_name]["arguments"])
return html_map


if __name__ == "__main__":
for graph_name in MAPPING:
print(graph_name)
graph_json = generate_graph(graph_name, MAPPING)
with open(f"data/graphs/en/{graph_name}.json", "w") as f:
json.dump(graph_json, f)

for graph_name in MAPPINGFR:
print(graph_name)
graph_json = generate_graph(graph_name, MAPPINGFR)
with open(f"data/graphs/fr/{graph_name}.json", "w") as f:
json.dump(graph_json, f)

for map_name in MAPS:
print(map_name)
map_json = generate_map(map_name, MAPS)
with open(f"data/maps/en/{map_name}.html", "w") as f:
f.write(map_json)

for map_name in MAPSFR:
print(map_name)
map_json = generate_map(map_name, MAPSFR)
with open(f"data/maps/fr/{map_name}.html", "w") as f:
f.write(map_json)



7 changes: 7 additions & 0 deletions pinkbombs/graphs/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
from .viz import make_area_chart, make_area_single_chart, make_area_chart_options
from .viz import make_area_order_chart, make_bar_chart, make_area_order_chart_grouped
from .viz import make_color_bar_chart, make_color_bar_chart2
from .viz import make_animated_bubble_map, make_treemap_chart
from .viz import make_simple_bar_chart, make_simple_pie_chart
from .viz import make_simple_box_chart, make_matrix_alternatives
from .maps_viz import make_ras_bubble_map
1 change: 0 additions & 1 deletion pinkbombs/router/api.py
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,6 @@ async def generate_graphs_fr(graph_name, connection: bool = Depends(verify_token
"data/" + MAPPINGFR[graph_name]["filename"],
)
chart_obj = MAPPINGFR[graph_name]["function"](df, *MAPPINGFR[graph_name]["arguments"])

return {
"graph_name": graph_name,
"graph": chart_obj.to_json(),
Expand Down

0 comments on commit 4ff7662

Please sign in to comment.