zepben.ewb 1.1.0b14__py3-none-any.whl → 1.2.0b1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -75,6 +75,21 @@ class NetworkDatabaseReader(BaseDatabaseReader):
75
75
  async def _post_load(self) -> bool:
76
76
  status = await super()._post_load()
77
77
 
78
+ #
79
+ # NOTE: We need to have the feeder head equipment assigned before we can set the feeder directions to prevent
80
+ # tracing back into the zone substation in parallel feeders. Rather than splitting the feeder assignment
81
+ # into two passes, we can just assign the equipment to feeders before we set the directions.
82
+ #
83
+ self._logger.info("Assigning equipment to feeders...")
84
+ await self.assign_to_feeders.run(self.service, network_state_operators=NetworkStateOperators.NORMAL)
85
+ await self.assign_to_feeders.run(self.service, network_state_operators=NetworkStateOperators.CURRENT)
86
+ self._logger.info("Equipment assigned to feeders.")
87
+
88
+ self._logger.info("Assigning equipment to LV feeders...")
89
+ await self.assign_to_lv_feeders.run(self.service, network_state_operators=NetworkStateOperators.NORMAL)
90
+ await self.assign_to_lv_feeders.run(self.service, network_state_operators=NetworkStateOperators.CURRENT)
91
+ self._logger.info("Equipment assigned to LV feeders.")
92
+
78
93
  self._logger.info("Applying feeder direction to network...")
79
94
  await self.set_feeder_direction.run(self.service, network_state_operators=NetworkStateOperators.NORMAL)
80
95
  await self.set_feeder_direction.run(self.service, network_state_operators=NetworkStateOperators.CURRENT)
@@ -91,16 +106,6 @@ class NetworkDatabaseReader(BaseDatabaseReader):
91
106
 
92
107
  self._logger.info("Phasing applied to network.")
93
108
 
94
- self._logger.info("Assigning equipment to feeders...")
95
- await self.assign_to_feeders.run(self.service, network_state_operators=NetworkStateOperators.NORMAL)
96
- await self.assign_to_feeders.run(self.service, network_state_operators=NetworkStateOperators.CURRENT)
97
- self._logger.info("Equipment assigned to feeders.")
98
-
99
- self._logger.info("Assigning equipment to LV feeders...")
100
- await self.assign_to_lv_feeders.run(self.service, network_state_operators=NetworkStateOperators.NORMAL)
101
- await self.assign_to_lv_feeders.run(self.service, network_state_operators=NetworkStateOperators.CURRENT)
102
- self._logger.info("Equipment assigned to LV feeders.")
103
-
104
109
  self._logger.info("Validating that each equipment is assigned to a container...")
105
110
  self._validate_equipment_containers()
106
111
  self._logger.info("Equipment containers validated.")
@@ -33,6 +33,12 @@ class SetDirection:
33
33
  """
34
34
  Convenience class that provides methods for setting feeder direction on a [NetworkService]
35
35
  This class is backed by a [BranchRecursiveTraversal].
36
+
37
+ NOTE: The feeder head equipment must be assigned to its [Feeder] before this is run. If you don't,
38
+ the feeder direction will be assigned back through feeder heads when they are run in parallel.
39
+
40
+ :param debug_logger: An optional `Logger` that can be used to log debug messages on what the underlying trace is doing. This
41
+ should only ever be used in a debug cycle, and should always be `None` in production code.
36
42
  """
37
43
 
38
44
  def __init__(self, debug_logger: Logger = None):
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: zepben.ewb
3
- Version: 1.1.0b14
3
+ Version: 1.2.0b1
4
4
  Summary: Python SDK for interacting with the Energy Workbench platform
5
5
  Author-email: Kurt Greaves <kurt.greaves@zepben.com>, Max Chesterfield <max.chesterfield@zepben.com>
6
6
  License-Expression: MPL-2.0
@@ -56,7 +56,7 @@ zepben/ewb/database/sqlite/extensions/result_set.py,sha256=cVhO3kKoKq9WSXkB7cNBN
56
56
  zepben/ewb/database/sqlite/network/__init__.py,sha256=waADXEvfUG9wAN4STx5uIUHOv0UnpZLH2qU1LXgaDBc,243
57
57
  zepben/ewb/database/sqlite/network/network_cim_reader.py,sha256=OiueGdBKi4vxqVJJHPRpON8laPnREnqLIQ6_y6NixY4,211000
58
58
  zepben/ewb/database/sqlite/network/network_cim_writer.py,sha256=Vk2kvFU6tEARr0WUe4n75NfYBKkX0H4aqQN4v4bpQRE,159215
59
- zepben/ewb/database/sqlite/network/network_database_reader.py,sha256=o9y8L-V5G4JNSyqoB81p-qBkXSNr7Xrk5eXDRrwivuo,9141
59
+ zepben/ewb/database/sqlite/network/network_database_reader.py,sha256=uw0J32nnfufm_9MgE5TxPZb5j_6YoeBzWtq-h1Lh2Fo,9505
60
60
  zepben/ewb/database/sqlite/network/network_database_tables.py,sha256=jNXIj2AbXs_KWlSpfeBtPPGW5BHbqh-GxKd9nxPr_u4,15753
61
61
  zepben/ewb/database/sqlite/network/network_database_writer.py,sha256=ANmNcK-9MZpyW6qWmq1htHyDNYroFf0OC_Wzd7I3NoA,1989
62
62
  zepben/ewb/database/sqlite/network/network_service_reader.py,sha256=eExu1jNOfhQb1zJfF13-mNR8ulX0Yw6j5ApYCu3b82s,24406
@@ -560,7 +560,7 @@ zepben/ewb/services/network/tracing/feeder/assign_to_lv_feeders.py,sha256=2j4GlY
560
560
  zepben/ewb/services/network/tracing/feeder/clear_direction.py,sha256=ApbypMhaX0zDmHKwkcOID9viYr9b6Tj0rCX9Q4W0BT0,4142
561
561
  zepben/ewb/services/network/tracing/feeder/direction_status.py,sha256=2QRys_WFtazvFOJZ-5XU0ORD55T-O9wAxd93OI3Hc3w,3982
562
562
  zepben/ewb/services/network/tracing/feeder/feeder_direction.py,sha256=Xdwneh6Gyjhj711P86kETPzs3fXzQB0DwUoe8vZQMpg,3534
563
- zepben/ewb/services/network/tracing/feeder/set_direction.py,sha256=C83E2-9m--zSL4X1KAH6ObLG5N-nGtUN1ZQEV2zcuss,7233
563
+ zepben/ewb/services/network/tracing/feeder/set_direction.py,sha256=VXSUxkxJpLgO0_m5XF8WRbMsVwMRW9vqklCcphnStP4,7667
564
564
  zepben/ewb/services/network/tracing/networktrace/__init__.py,sha256=8-znO960twGtcAGArLGl_ijbCB9BBv0_hUNYf1eF0Lk,243
565
565
  zepben/ewb/services/network/tracing/networktrace/compute_data.py,sha256=u26vBTK-X0ePibK-z2faB2PABj9AMCj5igNmcquNPrs,2661
566
566
  zepben/ewb/services/network/tracing/networktrace/network_trace.py,sha256=VZVakaEsbiwsSPmwiKncojSl3E7-7UMPTiTxjfIfvZQ,22458
@@ -635,8 +635,8 @@ zepben/ewb/streaming/mutations/update_network_state_client.py,sha256=e0Oma5PRT8m
635
635
  zepben/ewb/streaming/mutations/update_network_state_service.py,sha256=irR-TO67QXRyBmK8PU8SzM31NKSSefZt_nQGHi5IhT8,3260
636
636
  zepben/ewb/testing/__init__.py,sha256=waADXEvfUG9wAN4STx5uIUHOv0UnpZLH2qU1LXgaDBc,243
637
637
  zepben/ewb/testing/test_network_builder.py,sha256=KG0o2ZHUswx3xClu-JnLs_pYIYbQ5jjtvtyZ7LI6IZ8,38092
638
- zepben_ewb-1.1.0b14.dist-info/licenses/LICENSE,sha256=aAHD66h6PQIETpkJDvg5yEObyFvXUED8u7S8dlh6K0Y,16725
639
- zepben_ewb-1.1.0b14.dist-info/METADATA,sha256=VSIGJM4iXIDCoFijeZWfaAHCuVCfc8hx9zmVoHYeAHE,3233
640
- zepben_ewb-1.1.0b14.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
641
- zepben_ewb-1.1.0b14.dist-info/top_level.txt,sha256=eVLDJiO6FGjL_Z7KdmFE-R8uf1Q07aaVLGe9Ee4kmBw,7
642
- zepben_ewb-1.1.0b14.dist-info/RECORD,,
638
+ zepben_ewb-1.2.0b1.dist-info/licenses/LICENSE,sha256=aAHD66h6PQIETpkJDvg5yEObyFvXUED8u7S8dlh6K0Y,16725
639
+ zepben_ewb-1.2.0b1.dist-info/METADATA,sha256=LZdlYfujRNUpTubhHrFE49M4h6tgFcgyhxvGzD-BCvI,3232
640
+ zepben_ewb-1.2.0b1.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
641
+ zepben_ewb-1.2.0b1.dist-info/top_level.txt,sha256=eVLDJiO6FGjL_Z7KdmFE-R8uf1Q07aaVLGe9Ee4kmBw,7
642
+ zepben_ewb-1.2.0b1.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (80.9.0)
2
+ Generator: setuptools (80.10.2)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5