************* Module bw2scaffold
src/bw2scaffold/__init__.py:1: [C0114(missing-module-docstring), ] Missing module docstring
src/bw2scaffold/__init__.py:6: [C0103(invalid-name), ] Constant name "dist_name" doesn't conform to UPPER_CASE naming style
************* Module bw2scaffold.cli
src/bw2scaffold/cli.py:85: [W0621(redefined-outer-name), start] Redefining name 'logger' from outer scope (line 20)
src/bw2scaffold/cli.py:90: [W1203(logging-fstring-interpolation), start] Use lazy % formatting in logging functions
src/bw2scaffold/cli.py:77: [W0613(unused-argument), start] Unused argument 'email'
src/bw2scaffold/cli.py:101: [C0116(missing-function-docstring), run] Missing function or method docstring
************* Module bw2scaffold.directories
src/bw2scaffold/directories.py:14: [W0511(fixme), ] TODO try with minimum-dependencies
src/bw2scaffold/directories.py:151: [W0511(fixme), ] TODO: This should read a template of environmental variables
src/bw2scaffold/directories.py:1: [C0114(missing-module-docstring), ] Missing module docstring
src/bw2scaffold/directories.py:48: [W0718(broad-exception-caught), get_dependencies] Catching too general exception Exception
src/bw2scaffold/directories.py:35: [W1510(subprocess-run-check), get_dependencies] 'subprocess.run' used without explicitly defining the value for 'check'.
src/bw2scaffold/directories.py:54: [W1510(subprocess-run-check), get_dependencies] 'subprocess.run' used without explicitly defining the value for 'check'.
src/bw2scaffold/directories.py:64: [E0606(possibly-used-before-assignment), get_dependencies] Possibly using variable 'proc' before assignment
src/bw2scaffold/directories.py:105: [W0105(pointless-string-statement), create_node] String statement has no effect
src/bw2scaffold/directories.py:121: [W0102(dangerous-default-value), create_structure] Dangerous default value {} as argument
src/bw2scaffold/directories.py:152: [C0103(invalid-name), create_env_vars] Variable name "BRIGHTWAY2_DIR" doesn't conform to snake_case naming style
src/bw2scaffold/directories.py:161: [W1514(unspecified-encoding), create_env_vars] Using open without explicitly specifying an encoding
src/bw2scaffold/directories.py:166: [W1514(unspecified-encoding), create_env_vars] Using open without explicitly specifying an encoding
************* Module bw2scaffold.visualization
src/bw2scaffold/visualization.py:1: [C0114(missing-module-docstring), ] Missing module docstring
src/bw2scaffold/visualization.py:9: [E0401(import-error), ] Unable to import 'bw2calc'
src/bw2scaffold/visualization.py:10: [E0401(import-error), ] Unable to import 'bw2data'
src/bw2scaffold/visualization.py:11: [E0401(import-error), ] Unable to import 'bw2io.importers'
src/bw2scaffold/visualization.py:12: [E0401(import-error), ] Unable to import 'matplotlib.pyplot'
src/bw2scaffold/visualization.py:13: [E0401(import-error), ] Unable to import 'networkx'
src/bw2scaffold/visualization.py:14: [E0401(import-error), ] Unable to import 'numpy'
src/bw2scaffold/visualization.py:16: [E0401(import-error), ] Unable to import 'pacha.engine.core.utils'
src/bw2scaffold/visualization.py:17: [E0401(import-error), ] Unable to import 'pyvis.network'
src/bw2scaffold/visualization.py:37: [R1702(too-many-nested-blocks), create_ei_network_2] Too many nested blocks (6/5)
src/bw2scaffold/visualization.py:115: [W0622(redefined-builtin), plot_ei_dyn_network] Redefining built-in 'property'
src/bw2scaffold/visualization.py:127: [W0612(unused-variable), plot_ei_dyn_network] Unused variable 'mapping_numbers'
src/bw2scaffold/visualization.py:130: [W0612(unused-variable), plot_ei_dyn_network] Unused variable 'nodes'
src/bw2scaffold/visualization.py:176: [C0103(invalid-name), ] Constant name "path_foreground" doesn't conform to UPPER_CASE naming style
src/bw2scaffold/visualization.py:177: [W1514(unspecified-encoding), ] Using open without explicitly specifying an encoding
src/bw2scaffold/visualization.py:193: [E0602(undefined-variable), ] Undefined variable 'g2'
src/bw2scaffold/visualization.py:202: [W0104(pointless-statement), ] Statement seems to have no effect
src/bw2scaffold/visualization.py:210: [W0104(pointless-statement), ] Statement seems to have no effect
src/bw2scaffold/visualization.py:221: [W0104(pointless-statement), ] Statement seems to have no effect
src/bw2scaffold/visualization.py:238: [W0104(pointless-statement), ] Statement seems to have no effect
src/bw2scaffold/visualization.py:245: [W0104(pointless-statement), ] Statement seems to have no effect
src/bw2scaffold/visualization.py:261: [W0104(pointless-statement), ] Statement seems to have no effect
src/bw2scaffold/visualization.py:264: [E0602(undefined-variable), ] Undefined variable 'datum'
src/bw2scaffold/visualization.py:6: [W0611(unused-import), ] Unused Path imported from pathlib
src/bw2scaffold/visualization.py:7: [W0611(unused-import), ] Unused pprint imported from pprint
src/bw2scaffold/visualization.py:11: [W0611(unused-import), ] Unused import bw2io.importers
src/bw2scaffold/visualization.py:12: [W0611(unused-import), ] Unused matplotlib.pyplot imported as plt
src/bw2scaffold/visualization.py:14: [W0611(unused-import), ] Unused numpy imported as np
************* Module bw2scaffold.prepare
src/bw2scaffold/prepare.py:1: [C0114(missing-module-docstring), ] Missing module docstring
************* Module bw2scaffold.plugins
src/bw2scaffold/plugins.py:1: [C0114(missing-module-docstring), ] Missing module docstring
src/bw2scaffold/plugins.py:17: [C0103(invalid-name), install_autenv] Variable name "UNIX_AUTOENV_PATH" doesn't conform to snake_case naming style
src/bw2scaffold/plugins.py:19: [R1705(no-else-return), install_autenv] Unnecessary "else" after "return", remove the "else" and de-indent the code inside it
src/bw2scaffold/plugins.py:26: [W1510(subprocess-run-check), install_autenv] 'subprocess.run' used without explicitly defining the value for 'check'.
src/bw2scaffold/plugins.py:31: [W1510(subprocess-run-check), install_autenv] 'subprocess.run' used without explicitly defining the value for 'check'.
src/bw2scaffold/plugins.py:32: [W1404(implicit-str-concat), ] Implicit string concatenation found in call
src/bw2scaffold/plugins.py:36: [W1510(subprocess-run-check), install_autenv] 'subprocess.run' used without explicitly defining the value for 'check'.
src/bw2scaffold/plugins.py:41: [W1510(subprocess-run-check), install_autenv] 'subprocess.run' used without explicitly defining the value for 'check'.
src/bw2scaffold/plugins.py:45: [W1203(logging-fstring-interpolation), install_autenv] Use lazy % formatting in logging functions
src/bw2scaffold/plugins.py:61: [R1705(no-else-return), install_graphviz] Unnecessary "else" after "return", remove the "else" and de-indent the code inside it
src/bw2scaffold/plugins.py:64: [W1510(subprocess-run-check), install_graphviz] 'subprocess.run' used without explicitly defining the value for 'check'.
src/bw2scaffold/plugins.py:69: [W1510(subprocess-run-check), install_graphviz] 'subprocess.run' used without explicitly defining the value for 'check'.
************* Module bw2scaffold.examples.run_example
src/bw2scaffold/examples/run_example.py:1: [C0114(missing-module-docstring), ] Missing module docstring
src/bw2scaffold/examples/run_example.py:1: [W0622(redefined-builtin), ] Redefining built-in 'print'
src/bw2scaffold/examples/run_example.py:4: [C0116(missing-function-docstring), prepare] Missing function or method docstring
src/bw2scaffold/examples/run_example.py:8: [C0116(missing-function-docstring), read_data] Missing function or method docstring
src/bw2scaffold/examples/run_example.py:8: [R1711(useless-return), read_data] Useless return at end of function or method
src/bw2scaffold/examples/run_example.py:13: [C0116(missing-function-docstring), build_lci] Missing function or method docstring
src/bw2scaffold/examples/run_example.py:13: [R1711(useless-return), build_lci] Useless return at end of function or method
src/bw2scaffold/examples/run_example.py:18: [C0116(missing-function-docstring), lcia_step] Missing function or method docstring
src/bw2scaffold/examples/run_example.py:18: [R1711(useless-return), lcia_step] Useless return at end of function or method
src/bw2scaffold/examples/run_example.py:23: [C0116(missing-function-docstring), main] Missing function or method docstring
************* Module bw2scaffold.bw2utils.protocols
src/bw2scaffold/bw2utils/protocols.py:7: [W0511(fixme), ] TODO: Finish bw2data protocols and validators to ensure robustness among version
src/bw2scaffold/bw2utils/protocols.py:1: [C0114(missing-module-docstring), ] Missing module docstring
src/bw2scaffold/bw2utils/protocols.py:11: [R0903(too-few-public-methods), BW2DatabasesContainer] Too few public methods (1/2)
src/bw2scaffold/bw2utils/protocols.py:20: [C0103(invalid-name), ValidateDatabasesContainer] Function name "ValidateDatabasesContainer" doesn't conform to snake_case naming style
src/bw2scaffold/bw2utils/protocols.py:20: [R1710(inconsistent-return-statements), ValidateDatabasesContainer] Either all return statements in a function should return an expression, or none of them should.
src/bw2scaffold/bw2utils/protocols.py:34: [C0116(missing-function-docstring), bw2data_databases_importer] Missing function or method docstring
src/bw2scaffold/bw2utils/protocols.py:36: [C0415(import-outside-toplevel), bw2data_databases_importer] Import outside toplevel (bw2data)
************* Module bw2scaffold.bw2utils.visualization
src/bw2scaffold/bw2utils/visualization.py:1: [C0114(missing-module-docstring), ] Missing module docstring
src/bw2scaffold/bw2utils/visualization.py:8: [E0401(import-error), ] Unable to import 'bw2calc'
src/bw2scaffold/bw2utils/visualization.py:9: [E0401(import-error), ] Unable to import 'bw2data'
src/bw2scaffold/bw2utils/visualization.py:10: [E0401(import-error), ] Unable to import 'bw2io.importers'
src/bw2scaffold/bw2utils/visualization.py:11: [E0401(import-error), ] Unable to import 'matplotlib.pyplot'
src/bw2scaffold/bw2utils/visualization.py:12: [E0401(import-error), ] Unable to import 'networkx'
src/bw2scaffold/bw2utils/visualization.py:13: [E0401(import-error), ] Unable to import 'numpy'
src/bw2scaffold/bw2utils/visualization.py:15: [E0401(import-error), ] Unable to import 'pyvis.network'
src/bw2scaffold/bw2utils/visualization.py:35: [R1702(too-many-nested-blocks), create_ei_network] Too many nested blocks (6/5)
src/bw2scaffold/bw2utils/visualization.py:115: [W0622(redefined-builtin), plot_ei_dyn_network] Redefining built-in 'property'
src/bw2scaffold/bw2utils/visualization.py:127: [W0612(unused-variable), plot_ei_dyn_network] Unused variable 'mapping_numbers'
src/bw2scaffold/bw2utils/visualization.py:130: [W0612(unused-variable), plot_ei_dyn_network] Unused variable 'nodes'
src/bw2scaffold/bw2utils/visualization.py:3: [W0611(unused-import), ] Unused import re
src/bw2scaffold/bw2utils/visualization.py:5: [W0611(unused-import), ] Unused Path imported from pathlib
src/bw2scaffold/bw2utils/visualization.py:6: [W0611(unused-import), ] Unused pprint imported from pprint
src/bw2scaffold/bw2utils/visualization.py:8: [W0611(unused-import), ] Unused bw2calc imported as bc
src/bw2scaffold/bw2utils/visualization.py:10: [W0611(unused-import), ] Unused import bw2io.importers
src/bw2scaffold/bw2utils/visualization.py:11: [W0611(unused-import), ] Unused matplotlib.pyplot imported as plt
src/bw2scaffold/bw2utils/visualization.py:13: [W0611(unused-import), ] Unused numpy imported as np
src/bw2scaffold/bw2utils/visualization.py:14: [W0611(unused-import), ] Unused import yaml
************* Module bw2scaffold.bw2utils.validators
src/bw2scaffold/bw2utils/validators.py:1: [C0114(missing-module-docstring), ] Missing module docstring
************* Module bw2scaffold.bw2utils.datamodels
src/bw2scaffold/bw2utils/datamodels.py:19: [W0511(fixme), ] TODO: Build data validators for ecoinvent and ecoinvent-act-type combinations
src/bw2scaffold/bw2utils/datamodels.py:20: [W0511(fixme), ] TODO: Build data validators for reading yaml files (from list to tuple)
src/bw2scaffold/bw2utils/datamodels.py:119: [W0511(fixme), ] TODO: Build database validator. It should alert if a database does not exist.
src/bw2scaffold/bw2utils/datamodels.py:1: [C0114(missing-module-docstring), ] Missing module docstring
src/bw2scaffold/bw2utils/datamodels.py:23: [C0115(missing-class-docstring), CharacterizationFactorEcoInvent] Missing class docstring
src/bw2scaffold/bw2utils/datamodels.py:36: [C0115(missing-class-docstring), BWNode] Missing class docstring
src/bw2scaffold/bw2utils/datamodels.py:100: [C0116(missing-function-docstring), BWNode.validate_ei_biosphere_node] Missing function or method docstring
************* Module bw2scaffold.bw2utils.logging
src/bw2scaffold/bw2utils/logging.py:18: [C0116(missing-function-docstring), getLogger] Missing function or method docstring
src/bw2scaffold/bw2utils/logging.py:18: [C0103(invalid-name), getLogger] Function name "getLogger" doesn't conform to snake_case naming style
src/bw2scaffold/bw2utils/logging.py:19: [W0621(redefined-outer-name), getLogger] Redefining name 'logger' from outer scope (line 11)
src/bw2scaffold/bw2utils/logging.py:24: [W0621(redefined-outer-name), getLogger] Redefining name 'handler' from outer scope (line 13)
************* Module test_finish
tests/test_finish.py:1: [C0114(missing-module-docstring), ] Missing module docstring
tests/test_finish.py:1: [E0401(import-error), ] Unable to import 'pytest'
tests/test_finish.py:6: [W0613(unused-argument), test_finish] Unused argument 'capfd'
************* Module conftest
tests/conftest.py:1: [R0801(duplicate-code), ] Similar lines in 2 files
==bw2scaffold.bw2utils.visualization:[64:93]
==bw2scaffold.visualization:[64:93]
                            )

                            graph.add_edges_from(
                                [
                                    (
                                        str(exchange.input.key),
                                        str(exchange.output.key),
                                        {
                                            "amount": exchange["amount"],
                                            "product": exchange["name"],
                                        },
                                    )
                                ]
                            )

                            upper_layer += [exchange.input.key]
                        processed += [key]
                n_layer = list(
                    set(upper_layer)
                )  # the n+1 layer (suppliers) become consumers for next iteration

    else:
        for key in key_list:
            for activity in bd.Database(key[0]):
                # adds nodes with attributes
                graph.add_node(
                    activity["code"],
                    activity_type=activity["activity type"],
                    location=activity["location"],
tests/conftest.py:1: [R0801(duplicate-code), ] Similar lines in 2 files
==bw2scaffold.bw2utils.visualization:[16:52]
==bw2scaffold.visualization:[18:54]
stop_flying = ["#00B5C0", "#0E304B", "#FDD003", "#FF3967"]
more_and_more = ["#76C498", "#E1CE53", "#F06B39", "#AD1234", "#372B3B"]


def create_ei_network_2(key_list=None, n_layers=None, complete=False):
    """:return networkx.DiGraph(): networkx directed graph object

    Args:
      key:  (Default value = None)
      n_layers:  (Default value = None)
      complete:  (Default value = False)

    Returns:

    """

    graph = nx.DiGraph()

    if not complete:
        processed = []
        # selecting all processes
        for n in range(n_layers + 1):
            if n == 0:
                n_layer = key_list  # begins with layer 0 (ego)
            else:
                upper_layer = []
                for key in n_layer:
                    if key not in processed:
                        # upper_layer = []

                        # adds consumer process (to)
                        graph.add_node(
                            str(key),
                            activity_type=bd.get_activity(key)["activity type"],
                            location=bd.get_activity(key)["location"],
                            name=bd.get_activity(key)["name"],
tests/conftest.py:1: [R0801(duplicate-code), ] Similar lines in 2 files
==bw2scaffold.bw2utils.visualization:[98:111]
==bw2scaffold.visualization:[66:79]
                            graph.add_edges_from(
                                [
                                    (
                                        str(exchange.input.key),
                                        str(exchange.output.key),
                                        {
                                            "amount": exchange["amount"],
                                            "product": exchange["name"],
                                        },
                                    )
                                ]
                            )

tests/conftest.py:1: [R0801(duplicate-code), ] Similar lines in 2 files
==bw2scaffold.bw2utils.visualization:[66:79]
==bw2scaffold.visualization:[98:111]
                            graph.add_edges_from(
                                [
                                    (
                                        str(exchange.input.key),
                                        str(exchange.output.key),
                                        {
                                            "amount": exchange["amount"],
                                            "product": exchange["name"],
                                        },
                                    )
                                ]
                            )

tests/conftest.py:1: [R0801(duplicate-code), ] Similar lines in 2 files
==bw2scaffold.bw2utils.visualization:[54:62]
==bw2scaffold.visualization:[55:63]
                        )
                        for exchange in bd.get_activity(key).technosphere():
                            # adds supplier node (from)
                            graph.add_node(
                                str(exchange.input.key),
                                activity_type=exchange.input.get("activity type"),
                                location=exchange.input.get("location"),
                                name=exchange.input.get("name"),

------------------------------------------------------------------
Your code has been rated at 5.69/10 (previous run: 9.20/10, -3.51)

