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.9.tar.gz (36.7 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.9-py3-none-any.whl (32.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: bw_graph_tools-0.9.tar.gz
  • Upload date:
  • Size: 36.7 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.9.tar.gz
Algorithm Hash digest
SHA256 881fa4504b45880e4be782ba1a64678cfe9dbcd0841c3f71f41d285de53dc984
MD5 c2e22b8c1ec8e98d712f815cbe13dff1
BLAKE2b-256 2a581e53c178a2779295c0094006db9b6ec23fb78266eb900d4845d69cebbfb0

See more details on using hashes here.

File details

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

File metadata

  • Download URL: bw_graph_tools-0.9-py3-none-any.whl
  • Upload date:
  • Size: 32.7 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.9-py3-none-any.whl
Algorithm Hash digest
SHA256 e60d21c53671cb2d0700a7fb7134e42acc9eb4763a8ce847e2ebab78c5d46428
MD5 29ca97c3da103ad09fb36add7c0f9208
BLAKE2b-256 f39ed3656424524ebd300ce38c32af70a42238f65e055f1aa9e62933ed60bf48

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