Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions src/python/hardware/hardware.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -15,13 +15,13 @@
*/

#pragma once
#include <pybind11/pybind11.h>
#include "../pyparallelzone.hpp"

namespace parallelzone::hardware {

void export_ram(pybind11::module_& m);
void export_ram(python_module_type& m);

inline void export_hardware(pybind11::module_& m) {
inline void export_hardware(python_module_type& m) {
auto mhardware = m.def_submodule("hardware");
export_ram(mhardware);
}
Expand Down
11 changes: 5 additions & 6 deletions src/python/hardware/ram/ram.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -16,19 +16,18 @@

#include "../hardware.hpp"
#include <parallelzone/hardware/ram/ram.hpp>
#include <pybind11/operators.h>

namespace parallelzone::hardware {

void export_ram(pybind11::module_& m) {
void export_ram(python_module_type& m) {
using hardware::RAM;

pybind11::class_<RAM>(m, "RAM")
.def(pybind11::init<>())
python_class_type<RAM>(m, "RAM")
.def(py::init<>())
.def("total_space", &RAM::total_space)
.def("empty", &RAM::empty)
.def(pybind11::self == pybind11::self)
.def(pybind11::self != pybind11::self);
.def(py::self == py::self)
.def(py::self != py::self);
}

} // namespace parallelzone::hardware
16 changes: 8 additions & 8 deletions src/python/logging/logger.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -16,19 +16,18 @@

#include "logging.hpp"
#include <parallelzone/logging/logger.hpp>
#include <pybind11/operators.h>

namespace parallelzone {

void export_logger(pybind11::module_& m) {
void export_logger(python_module_type& m) {
using const_string_reference = Logger::const_string_reference;
using severity = Logger::severity;

using log0 = Logger& (Logger::*)(const_string_reference);
using log1 = Logger& (Logger::*)(severity, const_string_reference);

pybind11::class_<Logger> logger(m, "Logger");
logger.def(pybind11::init<>())
python_class_type<Logger> logger(m, "Logger");
logger.def(py::init<>())
.def("set_severity", &Logger::set_severity)
.def("trace", &Logger::trace)
.def("debug", &Logger::debug)
Expand All @@ -38,16 +37,17 @@ void export_logger(pybind11::module_& m) {
.def("critical", &Logger::critical)
.def("log", static_cast<log0>(&Logger::log))
.def("log", static_cast<log1>(&Logger::log))
.def(pybind11::self == pybind11::self)
.def(pybind11::self != pybind11::self);
.def(py::self == py::self)
.def(py::self != py::self);

pybind11::enum_<severity>(logger, "severity")
python_enum_type<severity>(logger, "severity", "enum.Enum")
.value("trace", severity::trace)
.value("debug", severity::debug)
.value("info", severity::info)
.value("warn", severity::warn)
.value("error", severity::error)
.value("critical", severity::critical);
.value("critical", severity::critical)
.finalize();
}

} // namespace parallelzone
6 changes: 3 additions & 3 deletions src/python/logging/logger_factory.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,9 @@

namespace parallelzone {

void export_logger_factory(pybind11::module_& m) {
pybind11::class_<LoggerFactory>(m, "LoggerFactory")
.def(pybind11::init<>())
void export_logger_factory(python_module_type& m) {
python_class_type<LoggerFactory>(m, "LoggerFactory")
.def(py::init<>())
.def("default_global_logger", &LoggerFactory::default_global_logger);
}

Expand Down
8 changes: 4 additions & 4 deletions src/python/logging/logging.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -15,14 +15,14 @@
*/

#pragma once
#include <pybind11/pybind11.h>
#include "../pyparallelzone.hpp"

namespace parallelzone {

void export_logger_factory(pybind11::module_& m);
void export_logger(pybind11::module_& m);
void export_logger_factory(python_module_type& m);
void export_logger(python_module_type& m);

inline void export_logging(pybind11::module_& m) {
inline void export_logging(python_module_type& m) {
export_logger_factory(m);
export_logger(m);
}
Expand Down
2 changes: 1 addition & 1 deletion src/python/module.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,8 @@

#include "hardware/hardware.hpp"
#include "logging/logging.hpp"
#include "pyparallelzone.hpp"
#include "runtime/runtime.hpp"
#include <pybind11/pybind11.h>

namespace parallelzone {

Expand Down
35 changes: 35 additions & 0 deletions src/python/pyparallelzone.hpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
/*
* Copyright 2023 NWChemEx-Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/

#pragma once
#include <pybind11/functional.h>
#include <pybind11/native_enum.h>
#include <pybind11/operators.h>
#include <pybind11/pybind11.h>

namespace parallelzone {

namespace py = pybind11;

using python_module_type = py::module_;

template<typename... Args>
using python_class_type = py::class_<Args...>;

template<typename... Args>
using python_enum_type = py::native_enum<Args...>;

} // namespace parallelzone
12 changes: 6 additions & 6 deletions src/python/runtime/resource_set.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -16,21 +16,21 @@

#include "runtime.hpp"
#include <parallelzone/runtime/resource_set.hpp>
#include <pybind11/operators.h>

namespace parallelzone::runtime {

void export_resource_set(pybind11::module_& m) {
pybind11::class_<ResourceSet>(m, "ResourceSet")
.def(pybind11::init<>())
void export_resource_set(python_module_type& m) {
python_class_type<ResourceSet>(m, "ResourceSet")
.def(py::init<>())
.def("mpi_rank", &ResourceSet::mpi_rank)
.def("is_mine", &ResourceSet::is_mine)
.def("has_ram", &ResourceSet::has_ram)
.def("ram", &ResourceSet::ram)
.def("logger", &ResourceSet::logger)
.def("null", &ResourceSet::null)
.def("empty", &ResourceSet::empty)
.def(pybind11::self == pybind11::self)
.def(pybind11::self != pybind11::self);
.def(py::self == py::self)
.def(py::self != py::self);
}

} // namespace parallelzone::runtime
8 changes: 4 additions & 4 deletions src/python/runtime/runtime.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -15,14 +15,14 @@
*/

#pragma once
#include <pybind11/pybind11.h>
#include "../pyparallelzone.hpp"

namespace parallelzone::runtime {

void export_runtime_view(pybind11::module_& m);
void export_resource_set(pybind11::module_& m);
void export_runtime_view(python_module_type& m);
void export_resource_set(python_module_type& m);

inline void export_runtime(pybind11::module_& m) {
inline void export_runtime(python_module_type& m) {
auto mruntime = m.def_submodule("runtime");
export_runtime_view(mruntime);
export_resource_set(mruntime);
Expand Down
14 changes: 6 additions & 8 deletions src/python/runtime/runtime_view.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -16,14 +16,12 @@

#include "runtime.hpp"
#include <parallelzone/runtime/runtime_view.hpp>
#include <pybind11/functional.h>
#include <pybind11/operators.h>

namespace parallelzone::runtime {

void export_runtime_view(pybind11::module_& m) {
pybind11::class_<RuntimeView>(m, "RuntimeView")
.def(pybind11::init<>())
void export_runtime_view(python_module_type& m) {
python_class_type<RuntimeView>(m, "RuntimeView")
.def(py::init<>())
.def("size", &RuntimeView::size)
.def("null", &RuntimeView::null)
.def("did_i_start_mpi", &RuntimeView::did_i_start_mpi)
Expand All @@ -32,9 +30,9 @@ void export_runtime_view(pybind11::module_& m) {
.def("my_resource_set", &RuntimeView::my_resource_set)
.def("count", &RuntimeView::count)
.def("logger", &RuntimeView::logger,
pybind11::return_value_policy::reference_internal)
py::return_value_policy::reference_internal)
.def("stack_callback", &RuntimeView::stack_callback)
.def(pybind11::self == pybind11::self)
.def(pybind11::self != pybind11::self);
.def(py::self == py::self)
.def(py::self != py::self);
}
} // namespace parallelzone::runtime
Loading