Skip to content

Commit

Permalink
Update relative imports in contrib
Browse files Browse the repository at this point in the history
  • Loading branch information
mrmundt committed Jan 7, 2025
1 parent 8f6092b commit 79457d3
Show file tree
Hide file tree
Showing 41 changed files with 136 additions and 127 deletions.
8 changes: 4 additions & 4 deletions pyomo/contrib/appsi/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
# This software is distributed under the 3-clause BSD License.
# ___________________________________________________________________________

from . import base
from . import solvers
from . import writers
from . import fbbt
from pyomo.contrib.appsi import base
from pyomo.contrib.appsi import solvers
from pyomo.contrib.appsi import writers
from pyomo.contrib.appsi import fbbt
6 changes: 3 additions & 3 deletions pyomo/contrib/appsi/base.py
Original file line number Diff line number Diff line change
Expand Up @@ -38,8 +38,8 @@
from pyomo.core.base.block import BlockData, Block
from pyomo.core.base.objective import ObjectiveData
from pyomo.common.collections import ComponentMap
from .utils.get_objective import get_objective
from .utils.collect_vars_and_named_exprs import collect_vars_and_named_exprs
from pyomo.contrib.appsi.utils.get_objective import get_objective
from pyomo.contrib.appsi.utils.collect_vars_and_named_exprs import collect_vars_and_named_exprs
from pyomo.opt.base import SolverFactory as LegacySolverFactory
from pyomo.opt.results.results_ import SolverResults as LegacySolverResults
from pyomo.opt.results.solution import (
Expand All @@ -52,7 +52,7 @@
)
from pyomo.core.kernel.objective import minimize
from pyomo.core.base import SymbolMap
from .cmodel import cmodel, cmodel_available
from pyomo.contrib.appsi.cmodel import cmodel, cmodel_available
from pyomo.core.staleflag import StaleFlagManager
from pyomo.core.expr.numvalue import NumericConstant

Expand Down
2 changes: 1 addition & 1 deletion pyomo/contrib/appsi/cmodel/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ def _importer():
sys.path.insert(0, pyomo_config_dir)
import appsi_cmodel
except ImportError:
from . import appsi_cmodel
from pyomo.contrib.appsi.cmodel import appsi_cmodel
finally:
assert sys.path[0] == pyomo_config_dir
sys.path.pop(0)
Expand Down
2 changes: 1 addition & 1 deletion pyomo/contrib/appsi/fbbt.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
NonNegativeFloat,
NonNegativeInt,
)
from .cmodel import cmodel, cmodel_available
from pyomo.contrib.appsi.cmodel import cmodel, cmodel_available
from typing import List, Optional
from pyomo.core.base.var import VarData
from pyomo.core.base.param import ParamData
Expand Down
6 changes: 3 additions & 3 deletions pyomo/contrib/appsi/plugins.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,9 @@
# ___________________________________________________________________________

from pyomo.common.extensions import ExtensionBuilderFactory
from .base import SolverFactory
from .solvers import Gurobi, Ipopt, Cbc, Cplex, Highs, MAiNGO
from .build import AppsiBuilder
from pyomo.contrib.appsi.base import SolverFactory
from pyomo.contrib.appsi.solvers import Gurobi, Ipopt, Cbc, Cplex, Highs, MAiNGO
from pyomo.contrib.appsi.build import AppsiBuilder


def load():
Expand Down
14 changes: 7 additions & 7 deletions pyomo/contrib/appsi/solvers/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,10 @@
# This software is distributed under the 3-clause BSD License.
# ___________________________________________________________________________

from .gurobi import Gurobi, GurobiResults
from .ipopt import Ipopt
from .cbc import Cbc
from .cplex import Cplex
from .highs import Highs
from .wntr import Wntr, WntrResults
from .maingo import MAiNGO
from pyomo.contrib.appsi.solvers.gurobi import Gurobi, GurobiResults
from pyomo.contrib.appsi.solvers.ipopt import Ipopt
from pyomo.contrib.appsi.solvers.cbc import Cbc
from pyomo.contrib.appsi.solvers.cplex import Cplex
from pyomo.contrib.appsi.solvers.highs import Highs
from pyomo.contrib.appsi.solvers.wntr import Wntr, WntrResults
from pyomo.contrib.appsi.solvers.maingo import MAiNGO
4 changes: 2 additions & 2 deletions pyomo/contrib/appsi/utils/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,5 +9,5 @@
# This software is distributed under the 3-clause BSD License.
# ___________________________________________________________________________

from .get_objective import get_objective
from .collect_vars_and_named_exprs import collect_vars_and_named_exprs
from pyomo.contrib.appsi.utils.get_objective import get_objective
from pyomo.contrib.appsi.utils.collect_vars_and_named_exprs import collect_vars_and_named_exprs
4 changes: 2 additions & 2 deletions pyomo/contrib/appsi/writers/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,5 +9,5 @@
# This software is distributed under the 3-clause BSD License.
# ___________________________________________________________________________

from .nl_writer import NLWriter
from .lp_writer import LPWriter
from pyomo.contrib.appsi.writers.nl_writer import NLWriter
from pyomo.contrib.appsi.writers.lp_writer import LPWriter
4 changes: 2 additions & 2 deletions pyomo/contrib/appsi/writers/lp_writer.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,8 @@
from pyomo.core.base import SymbolMap, NumericLabeler, TextLabeler
from pyomo.common.timing import HierarchicalTimer
from pyomo.core.kernel.objective import minimize, maximize
from .config import WriterConfig
from ..cmodel import cmodel, cmodel_available
from pyomo.contrib.appsi.writers.config import WriterConfig
from pyomo.contrib.appsi.cmodel import cmodel, cmodel_available


class LPWriter(PersistentBase):
Expand Down
7 changes: 4 additions & 3 deletions pyomo/contrib/appsi/writers/nl_writer.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,9 @@
# This software is distributed under the 3-clause BSD License.
# ___________________________________________________________________________

import os
from typing import List

from pyomo.core.base.param import ParamData
from pyomo.core.base.var import VarData
from pyomo.core.base.constraint import ConstraintData
Expand All @@ -22,10 +24,9 @@
from pyomo.core.base import SymbolMap, NumericLabeler, TextLabeler
from pyomo.common.timing import HierarchicalTimer
from pyomo.core.kernel.objective import minimize
from .config import WriterConfig
from pyomo.contrib.appsi.writers.config import WriterConfig
from pyomo.common.collections import OrderedSet
import os
from ..cmodel import cmodel, cmodel_available
from pyomo.contrib.appsi.cmodel import cmodel, cmodel_available
from pyomo.repn.plugins.ampl.ampl_ import set_pyomo_amplfunc_env


Expand Down
6 changes: 3 additions & 3 deletions pyomo/contrib/cp/plugins.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,6 @@


def load():
from . import interval_var
from .repn import docplex_writer
from .transform import logical_to_disjunctive_program
from pyomo.contrib.cp import interval_var
from pyomo.contrib.cp.repn import docplex_writer
from pyomo.contrib.cp.transform import logical_to_disjunctive_program
4 changes: 2 additions & 2 deletions pyomo/contrib/doe/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@
# rights in this software.
# This software is distributed under the 3-clause BSD License.
# ___________________________________________________________________________
from .doe import DesignOfExperiments, ObjectiveLib, FiniteDifferenceStep
from .utils import rescale_FIM
from pyomo.contrib.doe.doe import DesignOfExperiments, ObjectiveLib, FiniteDifferenceStep
from pyomo.contrib.doe.utils import rescale_FIM

# Deprecation errors for old Pyomo.DoE interface classes and structures
from pyomo.common.deprecation import deprecated
Expand Down
12 changes: 6 additions & 6 deletions pyomo/contrib/incidence_analysis/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,15 +9,15 @@
# This software is distributed under the 3-clause BSD License.
# ___________________________________________________________________________

from .triangularize import block_triangularize
from .matching import maximum_matching
from .interface import IncidenceGraphInterface, get_bipartite_incidence_graph
from .scc_solver import (
from pyomo.common.incidence_analysis.triangularize import block_triangularize
from pyomo.common.incidence_analysis.matching import maximum_matching
from pyomo.common.incidence_analysis.interface import IncidenceGraphInterface, get_bipartite_incidence_graph
from pyomo.common.incidence_analysis.scc_solver import (
generate_strongly_connected_components,
solve_strongly_connected_components,
)
from .incidence import get_incident_variables
from .config import IncidenceMethod
from pyomo.common.incidence_analysis.incidence import get_incident_variables
from pyomo.common.incidence_analysis.config import IncidenceMethod

#
# declare deprecation paths for removed modules
Expand Down
4 changes: 2 additions & 2 deletions pyomo/contrib/interior_point/inverse_reduced_hessian.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@
import pyomo.environ as pyo
from pyomo.opt import check_optimal_termination
from pyomo.common.dependencies import attempt_import
from .interface import InteriorPointInterface
from .linalg.scipy_interface import ScipyInterface
from pyomo.contrib.interior_point.interface import InteriorPointInterface
from pyomo.contrib.interior_point.linalg.scipy_interface import ScipyInterface

np, numpy_available = attempt_import(
'numpy', 'Interior point requires numpy', minimum_version='1.13.0'
Expand Down
7 changes: 4 additions & 3 deletions pyomo/contrib/interior_point/linalg/ma27_interface.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,13 @@
# This software is distributed under the 3-clause BSD License.
# ___________________________________________________________________________

from .base_linear_solver_interface import IPLinearSolverInterface
from typing import Union
from scipy.sparse import isspmatrix_coo, tril, spmatrix

from pyomo.contrib.interior_point.linalg.base_linear_solver_interface import IPLinearSolverInterface
from pyomo.contrib.pynumero.linalg.base import LinearSolverStatus, LinearSolverResults
from pyomo.contrib.pynumero.linalg.ma27_interface import MA27
from scipy.sparse import isspmatrix_coo, tril, spmatrix
from pyomo.contrib.pynumero.sparse import BlockVector, BlockMatrix
from typing import Union


class InteriorPointMA27Interface(MA27, IPLinearSolverInterface):
Expand Down
17 changes: 9 additions & 8 deletions pyomo/contrib/interior_point/linalg/mumps_interface.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,23 +9,24 @@
# This software is distributed under the 3-clause BSD License.
# ___________________________________________________________________________

from .base_linear_solver_interface import IPLinearSolverInterface
from pyomo.contrib.pynumero.linalg.base import LinearSolverStatus, LinearSolverResults
from pyomo.common.dependencies import attempt_import
from collections import OrderedDict
from typing import Union, Optional, Tuple

from pyomo.contrib.interior_point.linalg.base_linear_solver_interface import IPLinearSolverInterface
from pyomo.contrib.pynumero.linalg.base import LinearSolverStatus, LinearSolverResults
from pyomo.common.dependencies import attempt_import, numpy as np
from pyomo.contrib.pynumero.sparse import BlockVector
import numpy as np

mumps, mumps_available = attempt_import(
name='pyomo.contrib.pynumero.linalg.mumps_interface',
error_message='pymumps is required to use the MumpsInterface',
)

from pyomo.contrib.pynumero.linalg.mumps_interface import (
MumpsCentralizedAssembledLinearSolver,
)

mumps, mumps_available = attempt_import(
name='pyomo.contrib.pynumero.linalg.mumps_interface',
error_message='pymumps is required to use the MumpsInterface',
)


class MumpsInterface(MumpsCentralizedAssembledLinearSolver, IPLinearSolverInterface):
@classmethod
Expand Down
12 changes: 7 additions & 5 deletions pyomo/contrib/interior_point/linalg/scipy_interface.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,15 +9,17 @@
# This software is distributed under the 3-clause BSD License.
# ___________________________________________________________________________

from .base_linear_solver_interface import IPLinearSolverInterface
from pyomo.contrib.pynumero.linalg.base import LinearSolverResults
from typing import Union
import logging
from scipy.linalg import eigvals
from scipy.sparse import spmatrix

from pyomo.contrib.interior_point.linalg.base_linear_solver_interface import IPLinearSolverInterface
from pyomo.contrib.pynumero.linalg.base import LinearSolverResults
from pyomo.contrib.pynumero.sparse import BlockMatrix
import logging
import numpy as np
from pyomo.contrib.pynumero.linalg.scipy_interface import ScipyLU
from typing import Union
from pyomo.common.dependencies import numpy as np



class ScipyInterface(ScipyLU, IPLinearSolverInterface):
Expand Down
4 changes: 2 additions & 2 deletions pyomo/contrib/mcpp/plugins.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,8 @@

from pyomo.common.download import DownloadFactory
from pyomo.common.extensions import ExtensionBuilderFactory
from .getMCPP import get_mcpp
from .build import MCPPBuilder
from pyomo.contrib.mcpp.getMCPP import get_mcpp
from pyomo.contrib.mcpp.build import MCPPBuilder


def load():
Expand Down
10 changes: 5 additions & 5 deletions pyomo/contrib/mpc/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@
# This software is distributed under the 3-clause BSD License.
# ___________________________________________________________________________

from .interfaces.model_interface import DynamicModelInterface
from .data.series_data import TimeSeriesData
from .data.interval_data import IntervalData
from .data.scalar_data import ScalarData
from .data.get_cuid import get_indexed_cuid
from pyomo.contrib.mpc.interfaces.model_interface import DynamicModelInterface
from pyomo.contrib.mpc.data.series_data import TimeSeriesData
from pyomo.contrib.mpc.data.interval_data import IntervalData
from pyomo.contrib.mpc.data.scalar_data import ScalarData
from pyomo.contrib.mpc.data.get_cuid import get_indexed_cuid
8 changes: 4 additions & 4 deletions pyomo/contrib/mpc/data/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,10 @@
# This software is distributed under the 3-clause BSD License.
# ___________________________________________________________________________

from .scalar_data import ScalarData
from .series_data import TimeSeriesData
from .interval_data import IntervalData
from .convert import series_to_interval, interval_to_series
from pyomo.contrib.mpc.data.scalar_data import ScalarData
from pyomo.contrib.mpc.data.series_data import TimeSeriesData
from pyomo.contrib.mpc.data.interval_data import IntervalData
from pyomo.contrib.mpc.data.convert import series_to_interval, interval_to_series

__doc__ = """A module containing data structures for storing values associated
with time-indexed Pyomo variables.
Expand Down
2 changes: 1 addition & 1 deletion pyomo/contrib/pynumero/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,4 +9,4 @@
# This software is distributed under the 3-clause BSD License.
# ___________________________________________________________________________

from .intrinsic import norm, allclose, where, isin, intersect1d, setdiff1d
from pyomo.contrib.pynumero.intrinsic import norm, allclose, where, isin, intersect1d, setdiff1d
2 changes: 1 addition & 1 deletion pyomo/contrib/pynumero/interfaces/external_grey_box.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
from pyomo.core.base.set import UnindexedComponent_set
from pyomo.core.base.reference import Reference

from ..sparse.block_matrix import BlockMatrix
from pyomo.contrib.pynumero.sparse.block_matrix import BlockMatrix


logger = logging.getLogger('pyomo.contrib.pynumero')
Expand Down
6 changes: 3 additions & 3 deletions pyomo/contrib/pynumero/interfaces/pyomo_nlp.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,21 +13,21 @@
"""

import os
import numpy as np

from scipy.sparse import coo_matrix
from pyomo.common.deprecation import deprecated
from pyomo.common.dependencies import numpy as np
from pyomo.common.tempfiles import TempfileManager
from pyomo.opt import WriterFactory
import pyomo.core.base as pyo
from pyomo.common.collections import ComponentMap
from pyomo.common.env import CtypesEnviron
from pyomo.solvers.amplfunc_merge import amplfunc_merge
from ..sparse.block_matrix import BlockMatrix
from pyomo.contrib.pynumero.sparse.block_matrix import BlockMatrix
from pyomo.contrib.pynumero.interfaces.ampl_nlp import AslNLP
from pyomo.contrib.pynumero.interfaces.nlp import NLP
from pyomo.core.base.suffix import SuffixFinder
from .external_grey_box import ExternalGreyBoxBlock
from pyomo.contrib.pynumero.interfaces.external_grey_box import ExternalGreyBoxBlock


# TODO: There are todos in the code below
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
# This software is distributed under the 3-clause BSD License.
# ___________________________________________________________________________

import pyomo.common.unittest as unittest
from pyomo.contrib.pynumero.dependencies import (
numpy as np,
numpy_available,
Expand All @@ -20,7 +21,7 @@
if not (numpy_available and scipy_available):
raise unittest.SkipTest("Pynumero needs scipy and numpy to run NLP tests")

from ..external_grey_box import ExternalGreyBoxModel, ExternalGreyBoxBlock
from pyomo.contrib.pynumero.interfaces.external_grey_box import ExternalGreyBoxModel, ExternalGreyBoxBlock

# set of external models for testing
# basic model is a simple pipe sequence with nonlinear pressure drop
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,8 +31,8 @@

from pyomo.contrib.pynumero.algorithms.solvers.cyipopt_solver import cyipopt_available

from ..external_grey_box import ExternalGreyBoxModel, ExternalGreyBoxBlock
from ..pyomo_nlp import PyomoGreyBoxNLP
from pyomo.contrib.pynumero.interfaces.external_grey_box import ExternalGreyBoxModel, ExternalGreyBoxBlock
from pyomo.contrib.pynumero.interfaces.pyomo_nlp import PyomoGreyBoxNLP
from pyomo.contrib.pynumero.interfaces.tests.compare_utils import (
check_vectors_specific_order,
check_sparse_matrix_specific_order,
Expand Down
2 changes: 1 addition & 1 deletion pyomo/contrib/pynumero/linalg/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,4 +9,4 @@
# This software is distributed under the 3-clause BSD License.
# ___________________________________________________________________________

from ..dependencies import numpy_available, scipy_available
from pyomo.contrib.pynumero.dependencies import numpy_available, scipy_available
10 changes: 6 additions & 4 deletions pyomo/contrib/pynumero/linalg/ma27_interface.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,14 @@
# This software is distributed under the 3-clause BSD License.
# ___________________________________________________________________________

from .base import DirectLinearSolverInterface, LinearSolverStatus, LinearSolverResults
from .ma27 import MA27Interface
from typing import Union, Tuple, Optional

from pyomo.common.dependencies import numpy as np
from pyomo.contrib.pynumero.linalg.base import DirectLinearSolverInterface, LinearSolverStatus, LinearSolverResults
from pyomo.contrib.pynumero.linalg.ma27 import MA27Interface
from scipy.sparse import isspmatrix_coo, tril, spmatrix
from pyomo.contrib.pynumero.sparse import BlockVector, BlockMatrix
from typing import Union, Tuple, Optional
import numpy as np



class MA27(DirectLinearSolverInterface):
Expand Down
Loading

0 comments on commit 79457d3

Please sign in to comment.