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.8.tar.gz (35.3 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.8-py3-none-any.whl (31.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: bw_graph_tools-0.8.tar.gz
  • Upload date:
  • Size: 35.3 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.8.tar.gz
Algorithm Hash digest
SHA256 69ef84395bad7cd2cf9618d412f50f4a8e391dd53270cd4d45deacd191d11bc9
MD5 29495bd926e3b6524fd9ae24aaf11ccd
BLAKE2b-256 097c44178d90a018ca0ff96d164f0056e7b44abde1ae1bf4e46b669c9727c6bd

See more details on using hashes here.

File details

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

File metadata

  • Download URL: bw_graph_tools-0.8-py3-none-any.whl
  • Upload date:
  • Size: 31.3 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.8-py3-none-any.whl
Algorithm Hash digest
SHA256 ec620a1911b84b788d373f972e3bb8dc8b395766246eae569807d6f93418294c
MD5 2d593b39a3c36e2f4b62076c7a0f8b9b
BLAKE2b-256 42d1ac867b718a01cf4da2f6abf41c6388040e7434b404e1702fe4d783525321

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