:py:mod:`ethos_penalps.post_processing.network_analyzer`
========================================================

.. py:module:: ethos_penalps.post_processing.network_analyzer


Module Contents
---------------

Classes
~~~~~~~

.. autoapisummary::

   ethos_penalps.post_processing.network_analyzer.NetworkAnalyzer
   ethos_penalps.post_processing.network_analyzer.StreamResults
   ethos_penalps.post_processing.network_analyzer.ProcessStepResults
   ethos_penalps.post_processing.network_analyzer.SinkResults
   ethos_penalps.post_processing.network_analyzer.ProcessChainStorageResults
   ethos_penalps.post_processing.network_analyzer.SourceResults
   ethos_penalps.post_processing.network_analyzer.ProcessChainResults
   ethos_penalps.post_processing.network_analyzer.StructuredNetworkLevelResults
   ethos_penalps.post_processing.network_analyzer.StructuredNetworkResults
   ethos_penalps.post_processing.network_analyzer.ResultSelector




.. py:class:: NetworkAnalyzer(list_of_network_level: list[ethos_penalps.network_level.NetworkLevel])


   .. py:method:: get_list_of_all_stream_process_step_names() -> list[str]


   .. py:method:: get_dictionary_of_nodes_names_keyed_by_chain_names() -> dict[str, list[str]]


   .. py:method:: get_downstream_stream_name(process_chain: ethos_penalps.process_chain.ProcessChain, process_step_name: str) -> str


   .. py:method:: get_upstream_stream_name(process_chain: ethos_penalps.process_chain.ProcessChain, process_step_name: str) -> str


   .. py:method:: get_source_name_from_network_level(network_level: ethos_penalps.network_level.NetworkLevel) -> str


   .. py:method:: get_sink_name_from_network_level(network_level: ethos_penalps.network_level.NetworkLevel) -> str



.. py:class:: StreamResults


   .. py:attribute:: stream_meta_data_frame
      :type: ethos_penalps.stream.StreamDataFrameMetaInformation

      

   .. py:attribute:: list_of_load_profile_meta_data
      :type: list[ethos_penalps.data_classes.LoadProfileDataFrameMetaInformation]

      

   .. py:method:: get_stream_meta_data_list() -> list[ethos_penalps.stream.StreamDataFrameMetaInformation | ethos_penalps.data_classes.EmptyMetaDataInformation]


   .. py:method:: get_stream_and_load_profile_meta_data_list(load_profiles_above: bool = True) -> list[ethos_penalps.stream.StreamDataFrameMetaInformation | ethos_penalps.data_classes.LoadProfileDataFrameMetaInformation | ethos_penalps.data_classes.EmptyMetaDataInformation]



.. py:class:: ProcessStepResults


   .. py:attribute:: process_step_meta_data_frame
      :type: ethos_penalps.data_classes.ProcessStepDataFrameMetaInformation

      

   .. py:attribute:: list_of_input_stream_results
      :type: list[StreamResults]

      

   .. py:attribute:: list_of_output_stream_results
      :type: list[StreamResults]

      

   .. py:attribute:: internal_storage_meta_data
      :type: ethos_penalps.data_classes.StorageDataFrameMetaInformation

      

   .. py:attribute:: load_profile_meta_data_frame
      :type: list[ethos_penalps.data_classes.LoadProfileDataFrameMetaInformation]

      

   .. py:method:: get_meta_data_list_with_input_and_output_streams(input_at_top: bool = True, include_internal_storage: bool = False) -> list[ethos_penalps.data_classes.ProcessStepDataFrameMetaInformation | ethos_penalps.stream.StreamDataFrameMetaInformation]


   .. py:method:: get_meta_data_list_and_input_streams(input_at_top: bool = True, include_internal_storages: bool = False) -> list[ethos_penalps.data_classes.ProcessStepDataFrameMetaInformation | ethos_penalps.stream.StreamDataFrameMetaInformation]


   .. py:method:: get_meta_data_list_with__output_streams(output_at_top: bool = True) -> list[ethos_penalps.data_classes.ProcessStepDataFrameMetaInformation | ethos_penalps.stream.StreamDataFrameMetaInformation]



.. py:class:: SinkResults


   .. py:attribute:: name
      :type: str

      

   .. py:attribute:: storage_meta_data_frame
      :type: ethos_penalps.data_classes.StorageDataFrameMetaInformation

      

   .. py:attribute:: list_of_input_stream_results
      :type: list[StreamResults]

      

   .. py:attribute:: order_collection
      :type: ethos_penalps.order_generator.OrderCollection

      

   .. py:attribute:: dict_of_splitted_order_collection
      :type: dict[str, ethos_penalps.stream_node_distributor.SplittedOrderCollection]

      

   .. py:attribute:: total_order_collection_metadata
      :type: ethos_penalps.data_classes.ProductionOrderMetadata

      

   .. py:attribute:: dict_of_splitted_order_meta_data_frame
      :type: dict[str, ethos_penalps.data_classes.ProductionOrderMetadata]

      

   .. py:method:: get_streams_and_storage_meta_data(include_order_meta_data: bool = True) -> list[ethos_penalps.data_classes.StorageDataFrameMetaInformation | ethos_penalps.stream.StreamDataFrameMetaInformation | ethos_penalps.data_classes.ProductionOrderMetadata]


   .. py:method:: _get_splitted_order_meta_data(stream_name: str) -> ethos_penalps.data_classes.ProductionOrderMetadata



.. py:class:: ProcessChainStorageResults


   .. py:attribute:: name
      :type: str

      

   .. py:attribute:: storage_meta_data_frame
      :type: ethos_penalps.data_classes.StorageDataFrameMetaInformation

      

   .. py:attribute:: list_of_input_stream_results
      :type: list[StreamResults]

      

   .. py:attribute:: list_of_output_stream_results
      :type: list[StreamResults]

      

   .. py:attribute:: order_collection
      :type: ethos_penalps.order_generator.OrderCollection

      

   .. py:attribute:: dict_of_splitted_order_collection
      :type: dict[ethos_penalps.data_classes.ProcessChainIdentifier, ethos_penalps.stream_node_distributor.SplittedOrderCollection]

      

   .. py:attribute:: total_order_collection_metadata
      :type: ethos_penalps.data_classes.ProductionOrderMetadata

      

   .. py:attribute:: dict_of_splitted_order_meta_data_frame
      :type: dict[str, ethos_penalps.data_classes.ProductionOrderMetadata]

      

   .. py:method:: get_streams_and_storage_meta_data(include_order_meta_data: bool = True) -> list[ethos_penalps.data_classes.StorageDataFrameMetaInformation | ethos_penalps.stream.StreamDataFrameMetaInformation | ethos_penalps.data_classes.ProductionOrderMetadata]


   .. py:method:: _get_splitted_order_meta_data(stream_name: str) -> ethos_penalps.data_classes.ProductionOrderMetadata



.. py:class:: SourceResults


   .. py:attribute:: name
      :type: str

      

   .. py:attribute:: storage_meta_data_frame
      :type: ethos_penalps.data_classes.StorageDataFrameMetaInformation

      

   .. py:attribute:: list_of_output_stream_results
      :type: list[StreamResults]

      

   .. py:method:: get_streams_and_storage_meta_data(include_order_meta_data: bool = True) -> list[ethos_penalps.data_classes.StorageDataFrameMetaInformation | ethos_penalps.stream.StreamDataFrameMetaInformation]



.. py:class:: ProcessChainResults


   .. py:attribute:: process_chain_name
      :type: str

      

   .. py:attribute:: list_of_process_step_results
      :type: list[ProcessStepResults]

      

   .. py:attribute:: downstream_end_node_position
      :type: int

      

   .. py:attribute:: upstream_end_node_position
      :type: int

      

   .. py:method:: get_process_chain_without_sources_and_sinks(include_internal_storages: bool) -> list[ethos_penalps.stream.StreamDataFrameMetaInformation | ethos_penalps.data_classes.ProcessStepDataFrameMetaInformation]

      Returns a list of StreamDataFrameMetaInformation | ProcessStepDataFrameMetaInformation in order
      from the upstream to the downstream node

      :param include_internal_storages: _description_
      :type include_internal_storages: bool
      :return: _description_
      :rtype: list[StreamDataFrameMetaInformation | ProcessStepDataFrameMetaInformation]



.. py:class:: StructuredNetworkLevelResults


   .. py:attribute:: main_sink_results
      :type: SinkResults | ProcessChainStorageResults

      

   .. py:attribute:: main_source_results
      :type: SourceResults | ProcessChainStorageResults

      

   .. py:attribute:: list_of_process_chain_results
      :type: list[ProcessChainResults]

      

   .. py:method:: get_list_of_process_chain_meta_data_results() -> list[ProcessChainResults]



.. py:class:: StructuredNetworkResults


   .. py:attribute:: list_of_structured_level_results
      :type: list[StructuredNetworkLevelResults]

      

   .. py:attribute:: downstream_network_level_position
      :type: int

      

   .. py:attribute:: upstream_network_level_position
      :type: int

      

   .. py:method:: get_network_level_in_material_flow_direction() -> list[StructuredNetworkLevelResults]


   .. py:method:: get_network_level_in_reversed_material_flow_direction() -> list[StructuredNetworkLevelResults]



.. py:class:: ResultSelector(production_plan: ethos_penalps.production_plan.ProductionPlan, list_of_network_level: list[ethos_penalps.network_level.NetworkLevel], load_profile_handler: ethos_penalps.load_profile_calculator.LoadProfileHandler)


   .. py:method:: get_structured_network_results() -> StructuredNetworkResults


   .. py:method:: _create_structured_network_level_results(network_level: ethos_penalps.network_level.NetworkLevel) -> StructuredNetworkLevelResults


   .. py:method:: _get_process_chain_results(process_chain: ethos_penalps.process_chain.ProcessChain) -> ProcessChainResults


   .. py:method:: _get_process_step_results(process_step: ethos_penalps.process_nodes.process_step.ProcessStep) -> ProcessStepResults


   .. py:method:: _get_sink_results(sink: ethos_penalps.process_nodes.sink.Sink) -> SinkResults


   .. py:method:: _get_process_chain_storage_results(process_chain_storage: ethos_penalps.process_nodes.process_chain_storage.ProcessChainStorage) -> ProcessChainStorageResults


   .. py:method:: _get_source_results(source: ethos_penalps.process_nodes.sink.Source) -> SourceResults


   .. py:method:: _get_stream_results(stream_name: str) -> StreamResults


   .. py:method:: initialize_data_frames()



