From 3113cf78f49485fd7ee938e2605e821eba2324d7 Mon Sep 17 00:00:00 2001 From: TimoDiepers Date: Mon, 19 Feb 2024 17:19:33 +0100 Subject: [PATCH] make python 3.12 compatible --- polyviz/choro.py | 5 ++++- polyviz/treemap.py | 5 ++++- polyviz/utils.py | 8 +++++--- polyviz/violin.py | 5 ++++- 4 files changed, 17 insertions(+), 6 deletions(-) diff --git a/polyviz/choro.py b/polyviz/choro.py index 434de45..6729cd1 100644 --- a/polyviz/choro.py +++ b/polyviz/choro.py @@ -18,6 +18,9 @@ from bw2data.backends import Activity as BW25Activity except ImportError: BW25Activity = None + +valid_types = tuple(filter(None, (PeeweeActivity, BW25Activity))) + def choro( activity: Union[PeeweeActivity, BW25Activity], @@ -45,7 +48,7 @@ def choro( assert isinstance(method, tuple), "`method` should be a tuple." assert isinstance( - activity, (PeeweeActivity, BW25Activity) + activity, valid_types ), "`activity` should be a brightway2 activity." # fetch unit of method diff --git a/polyviz/treemap.py b/polyviz/treemap.py index d9c4284..d6a62bc 100644 --- a/polyviz/treemap.py +++ b/polyviz/treemap.py @@ -19,6 +19,9 @@ except ImportError: BW25Activity = None +valid_types = tuple(filter(None, (PeeweeActivity, BW25Activity))) + + def treemap( activity: Union[PeeweeActivity, BW25Activity], method: tuple, @@ -45,7 +48,7 @@ def treemap( assert isinstance(method, tuple), "`method` should be a tuple." assert isinstance( - activity, (PeeweeActivity, BW25Activity) + activity, valid_types ), "`activity` should be a brightway2 activity." # fetch unit of method diff --git a/polyviz/utils.py b/polyviz/utils.py index b62c3e5..e649449 100644 --- a/polyviz/utils.py +++ b/polyviz/utils.py @@ -24,6 +24,8 @@ except ImportError: BW25Activity = None +valid_types = tuple(filter(None, (PeeweeActivity, BW25Activity))) + def calculate_supply_chain( activity: Union[PeeweeActivity, BW25Activity], @@ -41,7 +43,7 @@ def calculate_supply_chain( """ assert isinstance( - activity, (PeeweeActivity, BW25Activity) + activity, valid_types ), "`activity` should be a brightway2 activity." amount = -1 if identify_waste_process(activity) else 1 @@ -76,7 +78,7 @@ def calculate_lcia_score( :return: LCIA score, C matrix, and reverse dictionary """ assert isinstance( - activity, (PeeweeActivity, BW25Activity) + activity, valid_types ), "`activity` should be a brightway2 activity." print("Calculating LCIA score...") @@ -117,7 +119,7 @@ def identify_waste_process(activity: Union[PeeweeActivity, BW25Activity]) -> boo def get_geo_distribution_of_impacts_for_choro_graph( - activity: (PeeweeActivity, BW25Activity), + activity: Union[PeeweeActivity, BW25Activity], method: tuple, cutoff: float = 0.0001, ) -> pd.DataFrame: diff --git a/polyviz/violin.py b/polyviz/violin.py index 683c7df..42cb4a1 100644 --- a/polyviz/violin.py +++ b/polyviz/violin.py @@ -20,6 +20,9 @@ except ImportError: BW25Activity = None +valid_types = tuple(filter(None, (PeeweeActivity, BW25Activity))) + + def violin( activities: list, method: tuple, @@ -43,7 +46,7 @@ def violin( for act in activities: assert isinstance( - act, Union[PeeweeActivity, BW25Activity] + act, valid_types ), "`activity` should be a brightway2 activity." def make_name(activities):