background
BackgroundImplementation
Bases: BasicImplementation
, BackgroundInterface
The default Background Implementation exposes an ordinary inventory database as a collection of LCI results. Because it does not perform any ordering, there is no way to distinguish between foreground and background elements in a database using the proxy. It is thus inconsistent for the same resource to implement both inventory and [proxy] background interfaces.
background_flows(search=None, **kwargs)
all process reference flows are background flows
Parameters:
Name | Type | Description | Default |
---|---|---|---|
search |
|
None
|
|
kwargs |
|
{}
|
Returns:
Type | Description |
---|---|
|
consumers(process, ref_flow=None, **kwargs)
Not supported for trivial backgrounds
Parameters:
Name | Type | Description | Default |
---|---|---|---|
process |
|
required | |
ref_flow |
|
None
|
|
kwargs |
|
{}
|
Returns:
Type | Description |
---|---|
|
cutoffs(process, ref_flow=None, **kwargs)
All processes are LCI, so they have only exterior flows. Emissions are the exterior flows with non-elementary contexts
Parameters:
Name | Type | Description | Default |
---|---|---|---|
process |
|
required | |
ref_flow |
|
None
|
|
kwargs |
|
{}
|
Returns:
Type | Description |
---|---|
|
dependencies(process, ref_flow=None, **kwargs)
All processes are LCI, so they have no dependencies
Parameters:
Name | Type | Description | Default |
---|---|---|---|
process |
|
required | |
ref_flow |
|
None
|
|
kwargs |
|
{}
|
Returns:
Type | Description |
---|---|
|
emissions(process, ref_flow=None, **kwargs)
All processes are LCI, so they have only exterior flows. Emissions are the exterior flows with elementary contexts
Parameters:
Name | Type | Description | Default |
---|---|---|---|
process |
|
required | |
ref_flow |
|
None
|
|
kwargs |
|
{}
|
Returns:
Type | Description |
---|---|
|
exterior_flows(direction=None, search=None, **kwargs)
Exterior flows are all flows that do not have interior terminations (i.e. not found in the index targets) Elementary contexts have a sense, but intermediate contexts do not [necessarily]- so we need some way to determine their directionality. This whole implementation is just a stand-in anyway- the important thing is that this is handled correctly in tarjan
Parameters:
Name | Type | Description | Default |
---|---|---|---|
direction |
|
None
|
|
search |
|
None
|
|
kwargs |
|
{}
|
Returns:
Type | Description |
---|---|
|
foreground_flows(search=None, **kwargs)
No foreground flows in the proxy background
Parameters:
Name | Type | Description | Default |
---|---|---|---|
search |
|
None
|
|
kwargs |
|
{}
|
Returns:
Type | Description |
---|---|
|
is_in_scc(process, ref_flow=None, **kwargs)
Distinction between is_in_background and is_in_scc will reveal the proxy nature of the interface
Parameters:
Name | Type | Description | Default |
---|---|---|---|
process |
|
required | |
ref_flow |
|
None
|
|
kwargs |
|
{}
|
Returns:
Type | Description |
---|---|
|
setup_bm(index=None)
Requires an index interface or catalog query <-- preferred This must provide .get() and .get_context() (so really it should maybe be 'basic' The trivial implementation uses .flows() and .targets() to mock up an exterior flows method
Parameters:
Name | Type | Description | Default |
---|---|---|---|
index |
|
None
|
Returns:
Type | Description |
---|---|
|
sys_lci(demand, **kwargs)
For LCI, we simply yield process direct exchanges as LCI. For sys_lci, we should just do the same. yield the supplied demand as a degenerate LCI.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
demand |
|
required | |
kwargs |
|
{}
|
Returns:
Type | Description |
---|---|
|
sys_lcia(process, query_qty, observed=None, ref_flow=None, **kwargs)
returns an LciaResult object, aggregated as appropriate depending on the interface's privacy level. This is an ensemble function that stitches together bg functions with quantity access.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
process |
|
required | |
query_qty |
must be an operable quantity_ref. the process must have exchange access |
required | |
observed |
iterable of DirectedFlows (flow: FlowSpec, direction: str) |
None
|
|
ref_flow |
|
None
|
|
kwargs |
|
{}
|
Returns:
Type | Description |
---|---|
|