Skip to content

Commit

Permalink
remove pywrap prefix for pybind11 generated modules
Browse files Browse the repository at this point in the history
  • Loading branch information
lperron committed Jul 3, 2023
1 parent 79b2274 commit 32175c9
Show file tree
Hide file tree
Showing 26 changed files with 242 additions and 673 deletions.
12 changes: 6 additions & 6 deletions cmake/python.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -318,8 +318,8 @@ add_custom_command(
COMMAND ${CMAKE_COMMAND} -E $<IF:$<STREQUAL:$<TARGET_PROPERTY:ortools,TYPE>,SHARED_LIBRARY>,copy,true>
$<$<STREQUAL:$<TARGET_PROPERTY:ortools,TYPE>,SHARED_LIBRARY>:$<TARGET_SONAME_FILE:ortools>>
${PYTHON_PROJECT}/.libs
COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE:pywrapinit> ${PYTHON_PROJECT}/init/python
COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE:pywrapknapsack_solver> ${PYTHON_PROJECT}/algorithms/python
COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE:init> ${PYTHON_PROJECT}/init/python
COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE:knapsack_solver> ${PYTHON_PROJECT}/algorithms/python
COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE:linear_sum_assignment_pybind11> ${PYTHON_PROJECT}/graph/python
COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE:max_flow_pybind11> ${PYTHON_PROJECT}/graph/python
COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE:min_cost_flow_pybind11> ${PYTHON_PROJECT}/graph/python
Expand All @@ -328,7 +328,7 @@ add_custom_command(
COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE:pywrap_model_builder_helper> ${PYTHON_PROJECT}/linear_solver/python
COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE:pywrap_pdlp_pybind11> ${PYTHON_PROJECT}/pdlp/python
COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE:swig_helper> ${PYTHON_PROJECT}/sat/python
COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE:pywrap_rcpsp> ${PYTHON_PROJECT}/scheduling/python
COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE:rcpsp> ${PYTHON_PROJECT}/scheduling/python
COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE:sorted_interval_list> ${PYTHON_PROJECT}/util/python
#COMMAND ${Python3_EXECUTABLE} setup.py bdist_egg bdist_wheel
COMMAND ${Python3_EXECUTABLE} setup.py bdist_wheel
Expand All @@ -339,8 +339,8 @@ add_custom_command(
python/setup.py
Py${PROJECT_NAME}_proto
${PROJECT_NAMESPACE}::ortools
pywrapinit
pywrapknapsack_solver
init
knapsack_solver
linear_sum_assignment_pybind11
max_flow_pybind11
min_cost_flow_pybind11
Expand All @@ -349,7 +349,7 @@ add_custom_command(
pywrap_model_builder_helper
pywrap_pdlp_pybind11
swig_helper
pywrap_rcpsp
rcpsp
sorted_interval_list
BYPRODUCTS
python/${PYTHON_PROJECT}
Expand Down
4 changes: 2 additions & 2 deletions cmake/samples/python/sample.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@

"""Sample to test or-tools installation."""
import ortools
# from ortools.algorithms import pywrapknapsack_solver
# from ortools.algorithms import knapsack_solver
from ortools.constraint_solver import pywrapcp
# from ortools.graph.python import linear_sum_assignment
# from ortools.graph.python import max_flow
Expand All @@ -23,7 +23,7 @@
# from ortools.linear_solver import linear_solver_pb2
# from ortools.sat.python import swig_helper
# from ortools.sat.python import cp_model
# from ortools.scheduling import pywraprcpsp
# from ortools.scheduling import rcpsp
# from ortools.util.python import sorted_interval_list


Expand Down
3 changes: 2 additions & 1 deletion examples/python/code_samples.bzl
Original file line number Diff line number Diff line change
Expand Up @@ -16,11 +16,12 @@
load("@pip_deps//:requirements.bzl", "requirement")

PYTHON_DEPS = [
"//ortools/init/python:init",
"//ortools/linear_solver/python:model_builder",
"//ortools/sat/python:cp_model",
"//ortools/sat/colab:visualization",
"//ortools/scheduling:rcpsp_py_proto",
"//ortools/scheduling/python:pywrap_rcpsp",
"//ortools/scheduling/python:rcpsp",
requirement("absl-py"),
requirement("numpy"),
requirement("pandas"),
Expand Down
4 changes: 2 additions & 2 deletions examples/python/rcpsp_sat.py
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@
from google.protobuf import text_format
from ortools.sat.python import cp_model
from ortools.scheduling import rcpsp_pb2
from ortools.scheduling.python import pywrap_rcpsp
from ortools.scheduling.python import rcpsp

_INPUT = flags.DEFINE_string("input", "", "Input file to parse and solve.")
_OUTPUT_PROTO = flags.DEFINE_string(
Expand Down Expand Up @@ -741,7 +741,7 @@ def ComputePreemptiveLowerBound(problem, after, lower_bound):


def main(_):
rcpsp_parser = pywrap_rcpsp.RcpspParser()
rcpsp_parser = rcpsp.RcpspParser()
rcpsp_parser.parse_file(_INPUT.value)

problem = rcpsp_parser.problem()
Expand Down
4 changes: 2 additions & 2 deletions ortools/algorithms/knapsack_solver.h
Original file line number Diff line number Diff line change
Expand Up @@ -72,8 +72,8 @@ class BaseKnapsackSolver;
]
capacities = [ 34, 4 ]
solver = pywrapknapsack_solver.KnapsackSolver(
pywrapknapsack_solver.SolverType
solver = knapsack_solver.KnapsackSolver(
knapsack_solver.SolverType
.KNAPSACK_MULTIDIMENSION_BRANCH_AND_BOUND_SOLVER,
'Multi-dimensional solver')
solver.init(profits, weights, capacities)
Expand Down
16 changes: 8 additions & 8 deletions ortools/algorithms/python/BUILD.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -44,14 +44,14 @@ config_setting(
)

cc_library(
name = "pywrapknapsack_solver_doc",
hdrs = ["pywrapknapsack_solver_doc.h"],
name = "knapsack_solver_doc",
hdrs = ["knapsack_solver_doc.h"],
visibility = ["//visibility:public"],
)

pybind_extension(
name = "pywrapknapsack_solver",
srcs = ["pywrapknapsack_solver.cc"],
name = "knapsack_solver",
srcs = ["knapsack_solver.cc"],
copts = [] + select({
":use_cbc": ["-DUSE_CBC"],
"//conditions:default": [],
Expand All @@ -61,18 +61,18 @@ pybind_extension(
}),
visibility = ["//visibility:public"],
deps = [
":pywrapknapsack_solver_doc",
":knapsack_solver_doc",
"//ortools/algorithms:knapsack_solver_lib",
"@com_google_absl//absl/strings",
],
)

py_test(
name = "pywrapknapsack_solver_test",
srcs = ["pywrapknapsack_solver_test.py"],
name = "knapsack_solver_test",
srcs = ["knapsack_solver_test.py"],
python_version = "PY3",
deps = [
":pywrapknapsack_solver",
":knapsack_solver",
requirement("absl-py"),
],
)
12 changes: 6 additions & 6 deletions ortools/algorithms/python/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -11,23 +11,23 @@
# See the License for the specific language governing permissions and
# limitations under the License.

pybind11_add_module(pywrapknapsack_solver MODULE pywrapknapsack_solver.cc)
pybind11_add_module(knapsack_solver MODULE knapsack_solver.cc)
# note: macOS is APPLE and also UNIX !
if(APPLE)
set_target_properties(pywrapknapsack_solver PROPERTIES
set_target_properties(knapsack_solver PROPERTIES
SUFFIX ".so"
INSTALL_RPATH "@loader_path;@loader_path/../../../${PYTHON_PROJECT}/.libs"
)
set_property(TARGET pywrapknapsack_solver APPEND PROPERTY
set_property(TARGET knapsack_solver APPEND PROPERTY
LINK_FLAGS "-flat_namespace -undefined suppress"
)
elseif(UNIX)
set_target_properties(pywrapknapsack_solver PROPERTIES
set_target_properties(knapsack_solver PROPERTIES
INSTALL_RPATH "$ORIGIN:$ORIGIN/../../../${PYTHON_PROJECT}/.libs"
)
endif()
target_link_libraries(pywrapknapsack_solver PRIVATE ${PROJECT_NAMESPACE}::ortools)
add_library(${PROJECT_NAMESPACE}::pywrapknapsack_solver ALIAS pywrapknapsack_solver)
target_link_libraries(knapsack_solver PRIVATE ${PROJECT_NAMESPACE}::ortools)
add_library(${PROJECT_NAMESPACE}::knapsack_solver ALIAS knapsack_solver)

if(BUILD_TESTING)
file(GLOB PYTHON_SRCS "*_test.py")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,11 @@

// A pybind11 wrapper for knapsack_solver.

#include "ortools/algorithms/knapsack_solver.h"

#include <string>

#include "ortools/algorithms/knapsack_solver.h"
#include "ortools/algorithms/python/pywrapknapsack_solver_doc.h"
#include "ortools/algorithms/python/knapsack_solver_doc.h"
#include "pybind11/pybind11.h"
#include "pybind11/pytypes.h"
#include "pybind11/stl.h"
Expand All @@ -26,7 +27,7 @@ using ::operations_research::KnapsackSolver;
namespace py = pybind11;
using ::py::arg;

PYBIND11_MODULE(pywrapknapsack_solver, m) {
PYBIND11_MODULE(knapsack_solver, m) {
py::class_<KnapsackSolver>(m, "KnapsackSolver",
DOC(operations_research, KnapsackSolver))
.def(py::init<KnapsackSolver::SolverType, const std::string&>())
Expand Down
Loading

0 comments on commit 32175c9

Please sign in to comment.