bw2data.utils#
Attributes#
Functions#
|
Given either a number or a |
|
Make sure all exchange inputs are tuples, not lists. |
|
Combine databases into new database called |
|
Combine LCIA methods by adding duplicate characterization factors. |
|
Download a file and write it to disk in |
|
Support multiple ways to get exactly one activity node. |
|
conservative approach to finding geocollections. Won't guess about ecoinvent or other dbs. |
|
|
|
|
|
Merge |
|
Sort the given list in the way that humans expect, e.g. 9 before 10. |
|
Generate a random string of letters and numbers. |
|
Convert the strings inside a (possibly nested) python data structure to unicode strings using encoding. |
|
|
|
Change the type for an LCI process under certain conditions. |
|
Set the Brightway2 data directory to |
|
|
|
Add some rough uncertainty to exchanges. |
Module Contents#
- bw2data.utils.as_uncertainty_dict(value)[source]#
Given either a number or a
stats_arraysuncertainty dict, return an uncertainty dict
- bw2data.utils.combine_databases(name, *dbs)[source]#
Combine databases into new database called
name.
- bw2data.utils.combine_methods(name: tuple, *ms: List[tuple]) bw2data.method.Method[source]#
Combine LCIA methods by adding duplicate characterization factors.
- Parameters:
ms (*) – Any number of method ids, e.g.
`` ("my method", "wow"), ("another method", "wheee")
- Returns:
The new Method instance.
- bw2data.utils.download_file(filename, directory='downloads', url=None)[source]#
Download a file and write it to disk in
downloadsdirectory.If
urlis None, uses the Brightway2 data base URL.urlshould everything up to the filename, such thaturl+filenameis the valid complete URL to download from.Streams download to reduce memory usage.
- Parameters:
filename (*) – The filename to download.
directory (*) – Directory to save the file. Created if it doesn’t already exist.
url (*) – URL where the file is located, if not the default Brightway data URL.
- Returns:
The path of the created file.
- bw2data.utils.get_activity(key=None, **kwargs)[source]#
Support multiple ways to get exactly one activity node.
keycan be an integer or a key tuple.
- bw2data.utils.get_geocollection(location, default_global_location=False)[source]#
conservative approach to finding geocollections. Won’t guess about ecoinvent or other dbs.
- bw2data.utils.merge_databases(parent_db, other)[source]#
Merge
otherintoparent_db, including updating exchanges.All databases must be SQLite databases.
parent_dbandothershould be the names of databases.Doesn’t return anything.
- bw2data.utils.natural_sort(l)[source]#
Sort the given list in the way that humans expect, e.g. 9 before 10.
- bw2data.utils.random_string(length=8)[source]#
Generate a random string of letters and numbers.
- Parameters:
length (*) – Length of string, default is 8
- Returns:
A string (not unicode)
- bw2data.utils.recursive_str_to_unicode(data, encoding='utf8')[source]#
Convert the strings inside a (possibly nested) python data structure to unicode strings using encoding.
- bw2data.utils.set_correct_process_type(dataset: dict) dict[source]#
Change the type for an LCI process under certain conditions.
Only will make changes if the following conditions are met:
type is None or missing -> set to either process or processwithreferenceproduct
- type is process but the dataset also includes an exchange which points to the same node
-> processwithreferenceproduct
- bw2data.utils.set_data_dir(dirpath, permanent=True)[source]#
Set the Brightway2 data directory to
dirpath.If
permanentisTrue, then setdirpathas the default data directory.Creates
dirpathif needed. Also creates basic directories, and resets metadata.
- bw2data.utils.uncertainify(data, distribution=None, bounds_factor=0.1, sd_factor=0.1)[source]#
Add some rough uncertainty to exchanges.
Warning
This function only changes exchanges with no uncertainty type or uncertainty type
UndefinedUncertainty, and does not change production exchanges!Can only apply normal or uniform uncertainty distributions; default is uniform. Distribution, if specified, must be a
stats_arrayuncertainty object.datais a LCI data dictionary.If using the normal distribution:
sd_factorwill be multiplied by the mean to calculate the standard deviation.If no bounds are desired, set
bounds_factortoNone.Otherwise, the bounds will be
[(1 - bounds_factor) * mean, (1 + bounds_factor) * mean].
If using the uniform distribution, then the bounds are
[(1 - bounds_factor) * mean, (1 + bounds_factor) * mean].Returns the modified data.