10 #include <pybind11/eigen.h>
11 #include <pybind11/pybind11.h>
12 #include <pybind11/stl.h>
25 namespace py = pybind11;
32 void setupAttributes(pybind11::module& m, pybind11::module& mDetail, pybind11::module& mPy);
40 void setupVariables(pybind11::module& m, pybind11::module& mDetail, pybind11::module& mPy);
42 void setupVCPs(pybind11::module& m, pybind11::module& mDetail, pybind11::module& mPy);
50 std::shared_ptr<const ioda::detail::DataLayoutPolicy>
setupDLP(pybind11::module& mDLP);
55 std::shared_ptr<const ioda::detail::DataLayoutPolicy> default_dlp);
59 namespace py = pybind11;
61 m.doc() =
"Python bindings for ioda";
63 auto mDetail = m.def_submodule(
"detail");
64 mDetail.doc() =
"Implementation details";
66 auto mDLP = m.def_submodule(
"DLP");
67 mDLP.doc() =
"Data layout policies";
69 auto mPy = mDetail.def_submodule(
"python_bindings");
70 mPy.doc() =
"Python binding helper classes";
72 py::enum_<ioda::ObjectType> eObjType(m,
"ObjectType");
74 .value(
"Ignored", ObjectType::Ignored,
"ObjectType is ignored in search.")
75 .value(
"Unimplemented", ObjectType::Unimplemented,
"Support for this ObjectType is "
76 "unimplemented in this ioda version")
77 .value(
"Group", ObjectType::Group,
"Object is a group")
78 .value(
"Variable", ObjectType::Variable,
"Object is a variable");
Convenience classes for constructing ObsSpaces and setting up new Dimension Scales.
Interfaces for ioda::Group and related classes.
Contains definitions for how data are arranged in ioda internally.
Interfaces for ioda::ObsGroup and related classes.
Python bindings - macros.
PYBIND11_MODULE(_ioda_python, m)
void setupEngines(pybind11::module &m)
void setupObsGroup(pybind11::module &m, std::shared_ptr< const ioda::detail::DataLayoutPolicy > default_dlp)
void setupNewDimensionScales(pybind11::module &m)
std::shared_ptr< const ioda::detail::DataLayoutPolicy > setupDLP(pybind11::module &mDLP)
void setupHasAttributes(pybind11::module &m)
void setupTypeSystem(pybind11::module &m)
void setupAttCreator(pybind11::module &m)
void setupSelections(pybind11::module &m)
void setupAttributes(pybind11::module &m, pybind11::module &mDetail, pybind11::module &mPy)
void setupVCPs(pybind11::module &m, pybind11::module &mDetail, pybind11::module &mPy)
void setupGroups(pybind11::module &m)
void setupDimensions(pybind11::module &m)
void setupHasVariables(pybind11::module &m)
void setupVariables(pybind11::module &m, pybind11::module &mDetail, pybind11::module &mPy)