bw2data.parameters#
Attributes#
Classes#
Parameter set for a group of activities. |
|
Parameter set for a database. Group name is the name of the database. |
|
Parameter set for a project. Group name is 'project'. |
Module Contents#
- class bw2data.parameters.ActivityParameter[source]#
Bases:
ParameterBase
Parameter set for a group of activities.
Columns:
group: str
database: str
code: str. Code and database define the linked activity for this parameter.
name: str, unique within a group
formula: str, optional
amount: float, optional
data: object, optional. Used for any other metadata.
Activities can only have parameters in one group. Group names cannot be ‘project’ or the name of any existing database.
Activity parameter groups can depend on other activity parameter groups, so that a formula in group “a” can depend on a variable in group “b”. This dependency information is stored in
Group.order
- in our small example, we could define the following:a = Group.get(name="a") a.order = ["b", "c"] a.save()
In this case, a variable not found in “a” would be searched for in “b” and then “c”, in that order. Database and then project parameters are also implicitly included at the end of
Group.order
.Note that there is no magic for reading and writing to
data
(unlikeActivity
objects) - it must be used directly.- static _static_dependencies(group)[source]#
Get dictionary of
{name: amount}
for all variables defined in dependency chain.Be careful! This could have variables which overlap with local variable names. Designed for internal use.
- static dependency_chain(group, include_self=False)[source]#
Find where each missing variable is defined in dependency chain.
Will also load in all parameters needed to resolve the
ParameterizedExchanges
for this group.If
include_self
is True will include parameters within the group as possible dependenciesReturns:
[ { 'kind': one of 'project', 'database', 'activity', 'group': group name, 'names': set of variables names } ]
- static is_dependency_within_group(name, group, include_order=False)[source]#
Determine if the given parameter name is a dependency within the given activity group.
The optional
include_order
parameter will include dependencies from groups found in the theGroup
.`order` field.
- static is_dependent_on(name, group)[source]#
Test if any activity parameters are dependent on the given parameter name from the given group.
- static load(group)[source]#
Return dictionary of parameter data with names as keys and
.dict()
as values.
- static recalculate(group: str, signal: bool = True)[source]#
Recalculate all values for activity parameters in this group, and update their underlying Activity and Exchange values.
- static recalculate_exchanges(group: str, signal: bool = True)[source]#
Recalculate formulas for all parameterized exchanges in group
group
.
- static static(group, only=None, full=False)[source]#
Get dictionary of
{name: amount}
for parameters defined ingroup
.only
restricts returned names to ones found inonly
.full
returns all names, including those found in the dependency chain.
- classmethod update_formula_activity_parameter_name(old: str, new: str, include_order: bool = False, signal: bool = True)[source]#
Performs an update of the formula of relevant parameters.
This method specifically targets activity parameters used in activity formulas
- classmethod update_formula_database_parameter_name(old: str, new: str, signal: bool = True)[source]#
Performs an update of the formula of relevant parameters.
This method specifically targets database parameters used in activity formulas
- class bw2data.parameters.DatabaseParameter[source]#
Bases:
ParameterBase
Parameter set for a database. Group name is the name of the database.
Columns:
database: str
name: str, unique within a database
formula: str, optional
amount: float, optional
data: object, optional. Used for any other metadata.
Note that there is no magic for reading and writing to
data
(unlikeActivity
objects) - it must be used directly.- static dependency_chain(group, include_self=False)[source]#
Find where each missing variable is defined in dependency chain.
If
include_self
is True will include parameters within the group as possible dependenciesReturns:
[ { 'kind': one of 'project', 'database', 'activity', 'group': group name, 'names': set of variables names } ]
- static is_dependent_on(name)[source]#
Test if any database parameters are dependent on the given project parameter name.
- static load(database)[source]#
Return dictionary of parameter data with names as keys and
.dict()
as values.
- static recalculate(database: str, signal: bool = True)[source]#
Recalculate all database parameters for
database
, if expired.
- classmethod update_formula_database_parameter_name(old: str, new: str, signal: bool = True)[source]#
Performs an update of the formula of relevant parameters.
This method specifically targets database parameters used in database formulas
- class bw2data.parameters.Group[source]#
- class bw2data.parameters.ParameterizedExchange[source]#
- class bw2data.parameters.ProjectParameter[source]#
Bases:
ParameterBase
Parameter set for a project. Group name is ‘project’.
- Columns:
name: str, unique
formula: str, optional
amount: float, optional
data: object, optional. Used for any other metadata.
Note that there is no magic for reading and writing to
data
(unlikeActivity
objects) - it must be used directly.- static dependency_chain()[source]#
Determine if
`ProjectParameter
parameters have dependencies within the group.Returns:
[ { 'kind': 'project', 'group': 'project', 'names': set of variables names } ]
- static load(group=None)[source]#
Return dictionary of parameter data with names as keys and
.dict()
as values.
- static recalculate(ignored: bool | None = None, signal: bool = True)[source]#
Recalculate all parameters.
ignored
included for API compatibility with otherrecalculate
methods - it will really be ignored.
- static static(ignored='project', only=None)[source]#
Get dictionary of
{name: amount}
for all project parameters.only
restricts returned names to ones found inonly
.ignored
included for API compatibility with otherrecalculate
methods.