Skip to main content

Graph traversal class and utilities

Project description

bw_graph_tools

PyPI Status Python Version [License][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][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 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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

bw_graph_tools-0.7.tar.gz (31.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

bw_graph_tools-0.7-py3-none-any.whl (30.1 kB view details)

Uploaded Python 3

File details

Details for the file bw_graph_tools-0.7.tar.gz.

File metadata

  • Download URL: bw_graph_tools-0.7.tar.gz
  • Upload date:
  • Size: 31.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.0

File hashes

Hashes for bw_graph_tools-0.7.tar.gz
Algorithm Hash digest
SHA256 0769740f05105766c404d2f28b28efa1977411592ce37ef9aba446504934a8c4
MD5 9a7ab60f2605924aa7bc856528492574
BLAKE2b-256 8fa45ecda9a8a591d80f769a31ba4e40abf562f698a241d640aade1fd29629d3

See more details on using hashes here.

File details

Details for the file bw_graph_tools-0.7-py3-none-any.whl.

File metadata

  • Download URL: bw_graph_tools-0.7-py3-none-any.whl
  • Upload date:
  • Size: 30.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.0

File hashes

Hashes for bw_graph_tools-0.7-py3-none-any.whl
Algorithm Hash digest
SHA256 ae1de359388021941e9b592bbe7154db93d62b21cbf3d4b77fd5e44cfc5fa221
MD5 5fd842a817ac1b29d15bbfa7a8d5b75b
BLAKE2b-256 f6e8044602a77c39e66cac2dc2f304d8aa11d6e52156a71af1401dafe2ca4b7f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page