Skip to content

Commit caebfc4

Browse files
andrewlee94jalving
andauthored
Replace _BlockData with BlockData (#144)
Pyomo recently made ComponentData classes public (Pyomo/pyomo#3221) which will be part of the upcoming release. Currently, this causes the following error to occur in OMLT: ``` TypeError: metaclass conflict: the metaclass of a derived class must be a (non-strict) subclass of the metaclasses of all its bases ``` The Pyomo team is working to try to address this issue, however OMLT should update its code to address this as otherwise deprecation warnings will be emitted when using the old class names. The fix is to replace all instances of `_BlockData` with `BlockData` (just removing the underscore) - this applies to any other instance of Pyomo component data objects as well (although I could only find 2 instances of these in the OMLT code). **Legal Acknowledgement**\ By contributing to this software project, I agree my contributions are submitted under the BSD license. I represent I am authorized to make the contributions and grant the license. If my employer has rights to intellectual property that includes these contributions, I represent that I have received permission to make contributions and grant the required license on behalf of that employer. Co-authored-by: jalving <[email protected]>
1 parent c6d274f commit caebfc4

File tree

2 files changed

+3
-3
lines changed

2 files changed

+3
-3
lines changed

docs/api_doc/omlt.block.rst

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ OMLT Block
88
:show-inheritance:
99

1010
.. note::
11-
`OmltBlock` is the name used to declare the custom Pyomo block which is exposed to the user. The block functionality is given by `OmltBlockData` which inherits from Pyomo `_BlockData`.
11+
`OmltBlock` is the name used to declare the custom Pyomo block which is exposed to the user. The block functionality is given by `OmltBlockData` which inherits from Pyomo `BlockData`.
1212

1313
.. autoclass:: omlt.block.OmltBlockData
1414
:members:

src/omlt/block.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -25,11 +25,11 @@ class is used in combination with a formulation object to construct the
2525
"""
2626

2727
import pyomo.environ as pyo
28-
from pyomo.core.base.block import _BlockData, declare_custom_block
28+
from pyomo.core.base.block import BlockData, declare_custom_block
2929

3030

3131
@declare_custom_block(name="OmltBlock")
32-
class OmltBlockData(_BlockData):
32+
class OmltBlockData(BlockData):
3333
def __init__(self, component):
3434
super().__init__(component)
3535
self.__formulation = None

0 commit comments

Comments
 (0)