To use this notebook you must have a (free) FEO account, available here. You may then install the feo-client library, if necessary, and then use the package to log in. You can also run notebook in a Colab notebook via the badge below.
!pip install feo-client
from feo.client.auth import login
login()
Asset¶
Object-oriented interface for Assets via the Python client
In the FEO platform, Assets
are a subset of Nodes. Assets are Nodes which correspond to physical plant and equipment like power stations and steelworks.
To begin, import the Asset client.
from feo.client import Asset
Like nodes, assets can be searched for:
search_results = Asset.search("Rooppur nuclear power plant", sector="power")
search_results
for asset in search_results:
print(asset.id, asset.name_primary_en)
... or directly instantiated:
asset = Asset.from_id("PWRURNBGDA0U0")
asset.id, asset.name_primary_en
Assets are categorised according to their industrial sector
. FEO currently supports two industrial sectors: power and steel production. Some assets are composed of sub-assets called units.
asset.sector
Depending on their sector, assets will have a variety of different properties.
asset.asset_properties
AssetCollection¶
An object-oriented interface for groups of assets via the Python Client
from feo.client import AssetCollection
collection = AssetCollection.from_parent_node("POL") # Poland
An AssetCollection is just an extension of a Pandas DataFrame
collection
To paginate through the assets in the collection, use the .next_page()
method
collection.next_page()
Original Asset
objects can be recovered via the to_assets
method:
collection.iloc[0:4].to_assets()
RecordCollection¶
An object-oriented interface for groups of records via the Python Client
from feo.client import RecordCollection
Production records for a PowerUnit Asset
can be searched with the asset's id
.
record_collection = RecordCollection.search(
"PWRCOAPOLA48U1",
valid_timestamp_start="2023-04-01 11:00:00",
datum_type=["production"],
)
A RecordCollection is just an extension of a Pandas DataFrame
record_collection
To paginate through the records in the collection, use the .next_page()
method
record_collection.next_page()