bw_graph_tools

PyPI Status Python Version License

Read the documentation at https://bw_graph_tools.readthedocs.io/ Tests Codecov

pre-commit Black

Installation

You can install bw_graph_tools via [pip] from [PyPI]:

$ pip install bw_graph_tools

Packages are also on conda at the channel cmutel.

Usage

bw_graph_tools has three main components: A graph traversal class NewNodeEachVisitGraphTraversal; a function to guess production exchanges using only bw_processing datapackages guess_production_exchanges; and a function to find the path from node A to node B with the largest amount of the reference product of A, get_path_from_matrix and it’s sister path_as_brightway_objects.

NewNodeEachVisitGraphTraversal

Normally we construct matrices and solve the resulting set of linear equations to get a life cycle inventory or impact assessment result. The matrix approach is elegant, in that it simultaneously solves all equations and handles cycles in the graph, and much faster than graph traversal. However, in some cases we want to actually traverse the supply chain graph and calculate the individual impact of visiting nodes at that point in the graph. Graph traversal’s use cases include:

  • Distinguishing between different paths to the same object

  • Convolving temporal distributions

If we add temporal information using bw_temporalis, then the same node can occur at different times depending on how the temporal dynamics its preceding path. For example:

Contributing

Contributions are very welcome. To learn more, see the Contributor Guide.

License

Distributed under the terms of the BSD 3 Clause license, bw_graph_tools is free and open source software.

Issues

If you encounter any problems, please [file an issue] along with a detailed description.

Documentation

  1. Install the sphinx-furo conda environment from the file .docs/environment.yml.

  2. Build the documentation locally by running

sphinx-autobuild docs _build/html -a -j auto --open-browser