From 4c1a2fc2e02ac4b6719ae373f29cdd4019b9db14 Mon Sep 17 00:00:00 2001 From: Matthias Wittgen Date: Thu, 31 Jul 2025 17:53:20 -0700 Subject: [PATCH 1/2] Switch to pybind11 version 3 and use smart holders. --- python/astshim/channel.cc | 2 +- python/astshim/chebyMap.cc | 4 ++-- python/astshim/cmpFrame.cc | 2 +- python/astshim/cmpMap.cc | 2 +- python/astshim/fitsChan.cc | 4 ++-- python/astshim/fitsTable.cc | 2 +- python/astshim/frame.cc | 10 +++++----- python/astshim/frameDict.cc | 4 ++-- python/astshim/frameSet.cc | 2 +- python/astshim/keyMap/keyMap.cc | 2 +- python/astshim/lutMap.cc | 2 +- python/astshim/mapBox.cc | 2 +- python/astshim/mapSplit.cc | 2 +- python/astshim/mapping.cc | 2 +- python/astshim/mathMap.cc | 2 +- python/astshim/matrixMap.cc | 2 +- python/astshim/normMap.cc | 2 +- python/astshim/object.cc | 4 ++-- python/astshim/parallelMap.cc | 2 +- python/astshim/pcdMap.cc | 2 +- python/astshim/permMap.cc | 2 +- python/astshim/polyMap.cc | 2 +- python/astshim/quadApprox.cc | 2 +- python/astshim/rateMap.cc | 2 +- python/astshim/seriesMap.cc | 2 +- python/astshim/shiftMap.cc | 2 +- python/astshim/skyFrame.cc | 2 +- python/astshim/slaMap.cc | 2 +- python/astshim/specFrame.cc | 2 +- python/astshim/sphMap.cc | 2 +- python/astshim/stream.cc | 6 +++--- python/astshim/table.cc | 2 +- python/astshim/timeFrame.cc | 2 +- python/astshim/timeMap.cc | 2 +- python/astshim/tranMap.cc | 2 +- python/astshim/unitMap.cc | 2 +- python/astshim/unitNormMap.cc | 2 +- python/astshim/wcsMap.cc | 2 +- python/astshim/winMap.cc | 2 +- python/astshim/xmlChan.cc | 2 +- python/astshim/zoomMap.cc | 2 +- 41 files changed, 51 insertions(+), 51 deletions(-) diff --git a/python/astshim/channel.cc b/python/astshim/channel.cc index d405194..265d124 100644 --- a/python/astshim/channel.cc +++ b/python/astshim/channel.cc @@ -34,7 +34,7 @@ using namespace pybind11::literals; namespace ast { void wrapChannel(lsst::cpputils::python::WrapperCollection &wrappers) { - using PyChannel = py::class_, Object>; + using PyChannel = py::classh; wrappers.wrapType(PyChannel(wrappers.module, "Channel"), [](auto &mod, auto &cls) { cls.def(py::init(), "stream"_a, "options"_a = ""); diff --git a/python/astshim/chebyMap.cc b/python/astshim/chebyMap.cc index 1042eae..0b16e7a 100644 --- a/python/astshim/chebyMap.cc +++ b/python/astshim/chebyMap.cc @@ -36,7 +36,7 @@ using namespace pybind11::literals; namespace ast { void wrapChebyMap(lsst::cpputils::python::WrapperCollection &wrappers) { - using PyChebyDomain = py::class_>; + using PyChebyDomain = py::classh; wrappers.wrapType(PyChebyDomain(wrappers.module, "ChebyDomain"), [](auto &mod, auto &cls) { cls.def(py::init const &, std::vector const &>(), "lbnd"_a, "ubnd"_a); @@ -44,7 +44,7 @@ void wrapChebyMap(lsst::cpputils::python::WrapperCollection &wrappers) { cls.def_readonly("ubnd", &ChebyDomain::ubnd); }); - using PyChebyMap = py::class_, Mapping>; + using PyChebyMap = py::classh; wrappers.wrapType(PyChebyMap(wrappers.module, "ChebyMap"), [](auto &mod, auto &cls) { cls.def(py::init const &, diff --git a/python/astshim/cmpFrame.cc b/python/astshim/cmpFrame.cc index 053f375..4679c1a 100644 --- a/python/astshim/cmpFrame.cc +++ b/python/astshim/cmpFrame.cc @@ -33,7 +33,7 @@ using namespace pybind11::literals; namespace ast { void wrapCmpFrame(lsst::cpputils::python::WrapperCollection &wrappers) { - using PyCmpFrame = py::class_, Frame>; + using PyCmpFrame = py::classh; wrappers.wrapType(PyCmpFrame(wrappers.module, "CmpFrame"), [](auto &mod, auto &cls) { cls.def(py::init(), "frame1"_a, "frame2"_a, "options"_a = ""); diff --git a/python/astshim/cmpMap.cc b/python/astshim/cmpMap.cc index 3fcd1dd..1718656 100644 --- a/python/astshim/cmpMap.cc +++ b/python/astshim/cmpMap.cc @@ -31,7 +31,7 @@ using namespace pybind11::literals; namespace ast { void wrapCmpMap(lsst::cpputils::python::WrapperCollection &wrappers) { - using PrCmpMap = py::class_, Mapping>; + using PrCmpMap = py::classh; wrappers.wrapType(PrCmpMap(wrappers.module, "CmpMap"), [](auto &mod, auto &cls) { cls.def(py::init(), "map1"_a, "map2"_a, "series"_a, "options"_a = ""); diff --git a/python/astshim/fitsChan.cc b/python/astshim/fitsChan.cc index 971987f..cfda99a 100644 --- a/python/astshim/fitsChan.cc +++ b/python/astshim/fitsChan.cc @@ -38,7 +38,7 @@ namespace { template void wrapFoundValue(lsst::cpputils::python::WrapperCollection &wrappers, std::string const &suffix) { - using PyFoundValue = py::class_>; + using PyFoundValue = py::classh>; std::string name = "FoundValue" + suffix; wrappers.wrapType(PyFoundValue(wrappers.module, name.c_str()), [](auto &mod, auto &cls) { cls.def(py::init(), "found"_a, "value"_a); @@ -78,7 +78,7 @@ void wrapFitsChan(lsst::cpputils::python::WrapperCollection &wrappers) { wrapFoundValue(wrappers, "L"); // Wrap FitsChan - using PyFitsChan = py::class_, Channel>; + using PyFitsChan = py::classh; wrappers.wrapType(PyFitsChan(wrappers.module, "FitsChan"), [](auto &mod, auto &cls) { cls.def(py::init(), "stream"_a, "options"_a = ""); diff --git a/python/astshim/fitsTable.cc b/python/astshim/fitsTable.cc index 8fe7f11..8a23c09 100644 --- a/python/astshim/fitsTable.cc +++ b/python/astshim/fitsTable.cc @@ -37,7 +37,7 @@ using namespace pybind11::literals; namespace ast { void wrapFitsTable(lsst::cpputils::python::WrapperCollection &wrappers) { - using PyFitsTable = py::class_, Table>; + using PyFitsTable = py::classh; wrappers.wrapType(PyFitsTable(wrappers.module, "FitsTable"), [](auto &mod, auto &cls) { cls.def(py::init(), "options"_a = ""); cls.def(py::init(), "header"_a, "options"_a = ""); diff --git a/python/astshim/frame.cc b/python/astshim/frame.cc index 9282822..1d0a914 100644 --- a/python/astshim/frame.cc +++ b/python/astshim/frame.cc @@ -34,7 +34,7 @@ using namespace pybind11::literals; namespace ast { void wrapDirectionPoint(lsst::cpputils::python::WrapperCollection &wrappers) { - wrappers.wrapType(py::class_(wrappers.module, "DirectionPoint"), [](auto &mod, auto &cls) { + wrappers.wrapType(py::classh(wrappers.module, "DirectionPoint"), [](auto &mod, auto &cls) { cls.def(py::init(), "direction"_a, "point"_a); cls.def_readwrite("direction", &DirectionPoint::direction); cls.def_readwrite("point", &DirectionPoint::point); @@ -42,7 +42,7 @@ void wrapDirectionPoint(lsst::cpputils::python::WrapperCollection &wrappers) { } void wrapNReadValue(lsst::cpputils::python::WrapperCollection &wrappers) { - wrappers.wrapType(py::class_(wrappers.module, "NReadValue"), [](auto &mod, auto &cls) { + wrappers.wrapType(py::classh(wrappers.module, "NReadValue"), [](auto &mod, auto &cls) { cls.def(py::init(), "nread"_a, "value"_a); cls.def_readwrite("nread", &NReadValue::nread); cls.def_readwrite("value", &NReadValue::value); @@ -50,7 +50,7 @@ void wrapNReadValue(lsst::cpputils::python::WrapperCollection &wrappers) { } void wrapResolvedPoint(lsst::cpputils::python::WrapperCollection &wrappers) { - wrappers.wrapType(py::class_ (wrappers.module, "ResolvedPoint"), [](auto &mod, auto &cls) { + wrappers.wrapType(py::classh (wrappers.module, "ResolvedPoint"), [](auto &mod, auto &cls) { cls.def(py::init(), "naxes"_a); cls.def_readwrite("point", &ResolvedPoint::point); cls.def_readwrite("d1", &ResolvedPoint::d1); @@ -59,7 +59,7 @@ void wrapResolvedPoint(lsst::cpputils::python::WrapperCollection &wrappers) { } void wrapFrameMapping(lsst::cpputils::python::WrapperCollection &wrappers) { - wrappers.wrapType(py::class_(wrappers.module, "FrameMapping"), [](auto &mod, auto &cls) { + wrappers.wrapType(py::classh(wrappers.module, "FrameMapping"), [](auto &mod, auto &cls) { cls.def(py::init, std::shared_ptr>(), "frame"_a, "mapping"_a); cls.def_readwrite("frame", &FrameMapping::frame); cls.def_readwrite("mapping", &FrameMapping::mapping); @@ -72,7 +72,7 @@ void wrapFrame(lsst::cpputils::python::WrapperCollection &wrappers) { wrapResolvedPoint(wrappers); wrapFrameMapping(wrappers); - using PyFrame = py::class_, Mapping>; + using PyFrame = py::classh; wrappers.wrapType(PyFrame(wrappers.module, "Frame"), [](auto &mod, auto &cls) { cls.def(py::init(), "naxes"_a, "options"_a = ""); cls.def(py::init()); diff --git a/python/astshim/frameDict.cc b/python/astshim/frameDict.cc index 65b29fb..7d8e190 100644 --- a/python/astshim/frameDict.cc +++ b/python/astshim/frameDict.cc @@ -64,7 +64,7 @@ class FrameDictMaker { } void wrapFrameDict(lsst::cpputils::python::WrapperCollection &wrappers) { - using PyFrameDictMaker = py::class_>; + using PyFrameDictMaker = py::classh; static auto clsMaker = wrappers.wrapType(PyFrameDictMaker(wrappers.module, "FrameDictMaker"), [](auto &mod, auto &cls) { cls.def(py::init<>()); cls.def("__call__", &FrameDictMaker::operator()); @@ -72,7 +72,7 @@ void wrapFrameDict(lsst::cpputils::python::WrapperCollection &wrappers) { [cls](FrameDictMaker const &self) { return py::make_tuple(cls, py::tuple()); }); }); - using PyFrameDict = py::class_, FrameSet>; + using PyFrameDict = py::classh; wrappers.wrapType(PyFrameDict(wrappers.module, "FrameDict"), [](auto &mod, auto &cls) { cls.def(py::init(), "frame"_a, "options"_a = ""); diff --git a/python/astshim/frameSet.cc b/python/astshim/frameSet.cc index 7de2944..79402eb 100644 --- a/python/astshim/frameSet.cc +++ b/python/astshim/frameSet.cc @@ -31,7 +31,7 @@ using namespace pybind11::literals; namespace ast { void wrapFrameSet(lsst::cpputils::python::WrapperCollection &wrappers) { - using PyFrameSet = py::class_, Frame>; + using PyFrameSet = py::classh; wrappers.wrapType(PyFrameSet(wrappers.module, "FrameSet"), [](auto &mod, auto &cls) { cls.def(py::init(), "frame"_a, "options"_a = ""); cls.def(py::init(), "baseFrame"_a, diff --git a/python/astshim/keyMap/keyMap.cc b/python/astshim/keyMap/keyMap.cc index beccf86..e57b6e4 100644 --- a/python/astshim/keyMap/keyMap.cc +++ b/python/astshim/keyMap/keyMap.cc @@ -34,7 +34,7 @@ using namespace pybind11::literals; namespace ast { void wrapKeyMap(lsst::cpputils::python::WrapperCollection &wrappers){ - using PyKeyMap = py::class_, Object> ; + using PyKeyMap = py::classh ; wrappers.wrapType(PyKeyMap (wrappers.module, "KeyMap"), [](auto &mod, auto &cls) { diff --git a/python/astshim/lutMap.cc b/python/astshim/lutMap.cc index 2a4c864..987026e 100644 --- a/python/astshim/lutMap.cc +++ b/python/astshim/lutMap.cc @@ -35,7 +35,7 @@ using namespace pybind11::literals; namespace ast { void wrapLutMap(lsst::cpputils::python::WrapperCollection &wrappers) { - using PyLutMap = py::class_, Mapping>; + using PyLutMap = py::classh; wrappers.wrapType(PyLutMap(wrappers.module, "LutMap"), [](auto &mod, auto &cls) { cls.def(py::init const &, double, double, std::string const &>(), "lut"_a, "start"_a, "inc"_a, "options"_a = ""); diff --git a/python/astshim/mapBox.cc b/python/astshim/mapBox.cc index b08208c..23c0259 100644 --- a/python/astshim/mapBox.cc +++ b/python/astshim/mapBox.cc @@ -33,7 +33,7 @@ using namespace pybind11::literals; namespace ast { void wrapMapBox(lsst::cpputils::python::WrapperCollection &wrappers) { - using PyMapBox = py::class_; + using PyMapBox = py::classh; wrappers.wrapType(PyMapBox(wrappers.module, "MapBox"), [](auto &mod, auto &cls) { cls.def(py::init const &, std::vector const &, int, int>(), "map"_a, "lbnd"_a, "ubnd"_a, "minOutCoord"_a = 1, "maxOutCoord"_a = 0); diff --git a/python/astshim/mapSplit.cc b/python/astshim/mapSplit.cc index c1ed953..64110e6 100644 --- a/python/astshim/mapSplit.cc +++ b/python/astshim/mapSplit.cc @@ -34,7 +34,7 @@ using namespace pybind11::literals; namespace ast { void wrapMapSplit(lsst::cpputils::python::WrapperCollection &wrappers) { - using PyMapSplit = py::class_; + using PyMapSplit = py::classh; wrappers.wrapType(PyMapSplit(wrappers.module, "MapSplit"), [](auto &mod, auto &cls) { cls.def(py::init const &>(), "map"_a, "in"_a); cls.def_readonly("splitMap", &MapSplit::splitMap); diff --git a/python/astshim/mapping.cc b/python/astshim/mapping.cc index 0e60275..f9acd05 100644 --- a/python/astshim/mapping.cc +++ b/python/astshim/mapping.cc @@ -36,7 +36,7 @@ using namespace pybind11::literals; namespace ast { void wrapMapping(lsst::cpputils::python::WrapperCollection &wrappers) { -using PyMapping = py::class_, Object>; +using PyMapping = py::classh; wrappers.wrapType(PyMapping(wrappers.module, "Mapping"), [](auto &mod, auto &cls) { cls.def_property_readonly("nIn", &Mapping::getNIn); cls.def_property_readonly("nOut", &Mapping::getNOut); diff --git a/python/astshim/mathMap.cc b/python/astshim/mathMap.cc index 5caf869..0dcbc47 100644 --- a/python/astshim/mathMap.cc +++ b/python/astshim/mathMap.cc @@ -36,7 +36,7 @@ using namespace pybind11::literals; namespace ast { void wrapMathMap(lsst::cpputils::python::WrapperCollection &wrappers) { -using PyMathMap = py::class_, Mapping>; +using PyMathMap = py::classh; wrappers.wrapType(PyMathMap(wrappers.module, "MathMap"), [](auto &mod, auto &cls) { cls.def(py::init const &, std::vector const &, std::string const &>(), diff --git a/python/astshim/matrixMap.cc b/python/astshim/matrixMap.cc index 4c9deae..c44532d 100644 --- a/python/astshim/matrixMap.cc +++ b/python/astshim/matrixMap.cc @@ -33,7 +33,7 @@ using namespace pybind11::literals; namespace ast { void wrapMatrixMap(lsst::cpputils::python::WrapperCollection &wrappers) { - using PyMatrixMap = py::class_, Mapping>; + using PyMatrixMap = py::classh; wrappers.wrapType(PyMatrixMap(wrappers.module, "MatrixMap"), [](auto &mod, auto &cls) { cls.def(py::init(), "matrix"_a, "options"_a = ""); cls.def(py::init const &, std::string const &>(), "diag"_a, "options"_a = ""); diff --git a/python/astshim/normMap.cc b/python/astshim/normMap.cc index 000da52..5cc48c2 100644 --- a/python/astshim/normMap.cc +++ b/python/astshim/normMap.cc @@ -34,7 +34,7 @@ using namespace pybind11::literals; namespace ast { void wrapNormMap(lsst::cpputils::python::WrapperCollection &wrappers) { - using PyNormMap = py::class_, Mapping>; + using PyNormMap = py::classh; wrappers.wrapType(PyNormMap(wrappers.module, "NormMap"), [](auto &mod, auto &cls) { cls.def(py::init(), "frame"_a, "options"_a = ""); cls.def(py::init()); diff --git a/python/astshim/object.cc b/python/astshim/object.cc index 8765a7c..874f4f4 100644 --- a/python/astshim/object.cc +++ b/python/astshim/object.cc @@ -55,7 +55,7 @@ class ObjectMaker { } void wrapObject(lsst::cpputils::python::WrapperCollection &wrappers) { - using PyObjectMaker = py::class_>; + using PyObjectMaker = py::classh; static auto makerCls = wrappers.wrapType(PyObjectMaker(wrappers.module, "ObjectMaker"), [](auto &mod, auto &cls) { cls.def(py::init<>()); cls.def("__call__", &ObjectMaker::operator()); @@ -63,7 +63,7 @@ void wrapObject(lsst::cpputils::python::WrapperCollection &wrappers) { [cls](ObjectMaker const &self) { return py::make_tuple(cls, py::tuple()); }); }); - using PyObject = py::class_>; + using PyObject = py::classh; wrappers.wrapType(PyObject(wrappers.module, "Object"), [](auto &mod, auto &cls) { cls.def_static("fromString", &Object::fromString); // do not wrap fromAstObject because it uses a bare AST pointer diff --git a/python/astshim/parallelMap.cc b/python/astshim/parallelMap.cc index 37307b0..885a449 100644 --- a/python/astshim/parallelMap.cc +++ b/python/astshim/parallelMap.cc @@ -34,7 +34,7 @@ using namespace pybind11::literals; namespace ast { void wrapParallelMap(lsst::cpputils::python::WrapperCollection &wrappers) { - using PyParallelMap = py::class_, CmpMap>; + using PyParallelMap = py::classh; wrappers.wrapType(PyParallelMap(wrappers.module, "ParallelMap"), [](auto &mod, auto &cls) { cls.def(py::init(), "map1"_a, "map2"_a, "options"_a = ""); diff --git a/python/astshim/pcdMap.cc b/python/astshim/pcdMap.cc index 384a7db..0505bf6 100644 --- a/python/astshim/pcdMap.cc +++ b/python/astshim/pcdMap.cc @@ -35,7 +35,7 @@ using namespace pybind11::literals; namespace ast { void wrapPcdMap(lsst::cpputils::python::WrapperCollection &wrappers) { - using PyPcdMap = py::class_, Mapping>; + using PyPcdMap = py::classh; wrappers.wrapType(PyPcdMap(wrappers.module, "PcdMap"), [](auto &mod, auto &cls) { cls.def(py::init const &, std::string const &>(), "disco"_a, "pcdcen"_a, "options"_a = ""); diff --git a/python/astshim/permMap.cc b/python/astshim/permMap.cc index 606881f..c25721a 100644 --- a/python/astshim/permMap.cc +++ b/python/astshim/permMap.cc @@ -35,7 +35,7 @@ using namespace pybind11::literals; namespace ast { void wrapPermMap(lsst::cpputils::python::WrapperCollection &wrappers) { - using PyPermMap = py::class_, Mapping>; + using PyPermMap = py::classh; wrappers.wrapType(PyPermMap (wrappers.module, "PermMap"), [](auto &mod, auto &cls) { cls.def(py::init const &, std::vector const &, std::vector const &, std::string const &>(), diff --git a/python/astshim/polyMap.cc b/python/astshim/polyMap.cc index f60d49e..d9ecb66 100644 --- a/python/astshim/polyMap.cc +++ b/python/astshim/polyMap.cc @@ -36,7 +36,7 @@ using namespace pybind11::literals; namespace ast { void wrapPolyMap(lsst::cpputils::python::WrapperCollection &wrappers){ - using PyPolyMap = py::class_, Mapping>; + using PyPolyMap = py::classh; wrappers.wrapType(PyPolyMap (wrappers.module, "PolyMap"), [](auto &mod, auto &cls) { cls.def(py::init(), "coeff_f"_a, "coeff_i"_a, "options"_a = "IterInverse=0"); diff --git a/python/astshim/quadApprox.cc b/python/astshim/quadApprox.cc index 03c28cd..cc160cd 100644 --- a/python/astshim/quadApprox.cc +++ b/python/astshim/quadApprox.cc @@ -32,7 +32,7 @@ using namespace pybind11::literals; namespace ast { void wrapQuadApprox(lsst::cpputils::python::WrapperCollection &wrappers) { - using PyQuadApprox = py::class_; + using PyQuadApprox = py::classh; wrappers.wrapType(PyQuadApprox(wrappers.module, "QuadApprox"), [](auto &mod, auto &cls) { cls.def(py::init const &, std::vector const &, int, int>(), "map"_a, "lbnd"_a, "ubnd"_a, "nx"_a = 3, "ny"_a = 3); diff --git a/python/astshim/rateMap.cc b/python/astshim/rateMap.cc index 605d54d..29536bf 100644 --- a/python/astshim/rateMap.cc +++ b/python/astshim/rateMap.cc @@ -33,7 +33,7 @@ using namespace pybind11::literals; namespace ast { void wrapRateMap(lsst::cpputils::python::WrapperCollection &wrappers) { - using PyRateMap = py::class_, Mapping> ; + using PyRateMap = py::classh ; wrappers.wrapType(PyRateMap(wrappers.module, "RateMap"), [](auto &mod, auto &cls) { cls.def(py::init(), "map"_a, "ax1"_a, "ax2"_a, "options"_a = ""); diff --git a/python/astshim/seriesMap.cc b/python/astshim/seriesMap.cc index e42a645..c7b5c59 100644 --- a/python/astshim/seriesMap.cc +++ b/python/astshim/seriesMap.cc @@ -34,7 +34,7 @@ using namespace pybind11::literals; namespace ast { void wrapSeriesMap(lsst::cpputils::python::WrapperCollection &wrappers){ - using PySeriesMap = py::class_, CmpMap>; + using PySeriesMap = py::classh; wrappers.wrapType(PySeriesMap(wrappers.module, "SeriesMap"), [](auto &mod, auto &cls) { cls.def(py::init(), "map1"_a, "map2"_a, "options"_a = ""); diff --git a/python/astshim/shiftMap.cc b/python/astshim/shiftMap.cc index 7fdfe36..17b3f8c 100644 --- a/python/astshim/shiftMap.cc +++ b/python/astshim/shiftMap.cc @@ -35,7 +35,7 @@ using namespace pybind11::literals; namespace ast { void wrapShiftMap(lsst::cpputils::python::WrapperCollection &wrappers) { - using PyShiftMap = py::class_, Mapping>; + using PyShiftMap = py::classh; wrappers.wrapType(PyShiftMap(wrappers.module, "ShiftMap"), [](auto &mod, auto &cls) { cls.def(py::init const &, std::string const &>(), "shift"_a, "options"_a = ""); cls.def(py::init()); diff --git a/python/astshim/skyFrame.cc b/python/astshim/skyFrame.cc index cb1140d..1f4cb4a 100644 --- a/python/astshim/skyFrame.cc +++ b/python/astshim/skyFrame.cc @@ -35,7 +35,7 @@ using namespace pybind11::literals; namespace ast { void wrapSkyFrame(lsst::cpputils::python::WrapperCollection &wrappers) { - using PySkyFrame = py::class_, Frame>; + using PySkyFrame = py::classh; wrappers.wrapType(PySkyFrame(wrappers.module, "SkyFrame"), [](auto &mod, auto &cls) { cls.def(py::init(), "options"_a = ""); diff --git a/python/astshim/slaMap.cc b/python/astshim/slaMap.cc index ecae44a..a54bd6b 100644 --- a/python/astshim/slaMap.cc +++ b/python/astshim/slaMap.cc @@ -35,7 +35,7 @@ using namespace pybind11::literals; namespace ast { void wrapSlaMap(lsst::cpputils::python::WrapperCollection &wrappers) { - using PySlaMap = py::class_, Mapping>; + using PySlaMap = py::classh; wrappers.wrapType(PySlaMap(wrappers.module, "SlaMap"), [](auto &mod, auto &cls) { cls.def(py::init(), "options"_a = ""); cls.def(py::init()); diff --git a/python/astshim/specFrame.cc b/python/astshim/specFrame.cc index 47a63bc..76e768a 100644 --- a/python/astshim/specFrame.cc +++ b/python/astshim/specFrame.cc @@ -37,7 +37,7 @@ using namespace pybind11::literals; namespace ast { void wrapSpecFrame(lsst::cpputils::python::WrapperCollection &wrappers) { - using PySpecFrame= py::class_, Frame>; + using PySpecFrame= py::classh; wrappers.wrapType(PySpecFrame(wrappers.module, "SpecFrame"), [](auto &mod, auto &cls) { cls.def(py::init(), "options"_a = ""); cls.def(py::init()); diff --git a/python/astshim/sphMap.cc b/python/astshim/sphMap.cc index 8118593..f319a00 100644 --- a/python/astshim/sphMap.cc +++ b/python/astshim/sphMap.cc @@ -32,7 +32,7 @@ using namespace pybind11::literals; namespace ast { void wrapSphMap(lsst::cpputils::python::WrapperCollection &wrappers) { - using PySphMap=py::class_, Mapping>; + using PySphMap=py::classh; wrappers.wrapType(PySphMap(wrappers.module, "SphMap"), [](auto &mod, auto &cls) { cls.def(py::init(), "options"_a = ""); diff --git a/python/astshim/stream.cc b/python/astshim/stream.cc index 3c82d1c..26c4642 100644 --- a/python/astshim/stream.cc +++ b/python/astshim/stream.cc @@ -32,7 +32,7 @@ using namespace pybind11::literals; namespace ast { void wrapStream(lsst::cpputils::python::WrapperCollection &wrappers) { - using PyStream = py::class_>; + using PyStream = py::classh; wrappers.wrapType(PyStream(wrappers.module, "Stream"), [](auto &mod, auto &clsStream) { clsStream.def(py::init(), "istream"_a, "ostream"_a); @@ -45,14 +45,14 @@ void wrapStream(lsst::cpputils::python::WrapperCollection &wrappers) { clsStream.def("sink", &Stream::sink, "str"_a); }); - using PyFileStream = py::class_, Stream>; + using PyFileStream = py::classh; wrappers.wrapType(PyFileStream(wrappers.module, "FileStream"), [](auto &mod, auto &clsFileStream) { clsFileStream.def(py::init(), "path"_a, "doWrite"_a = false); clsFileStream.def_property_readonly("path", &FileStream::getPath); }); - using PyStringStream = py::class_, Stream>; + using PyStringStream = py::classh; wrappers.wrapType(PyStringStream(wrappers.module, "StringStream"), [](auto &mod, auto &clsStringStream) { clsStringStream.def(py::init(), "data"_a = ""); diff --git a/python/astshim/table.cc b/python/astshim/table.cc index 2ba0280..09e919f 100644 --- a/python/astshim/table.cc +++ b/python/astshim/table.cc @@ -35,7 +35,7 @@ using namespace pybind11::literals; namespace ast { void wrapTable(lsst::cpputils::python::WrapperCollection &wrappers) { - using PyTable = py::class_, KeyMap>; + using PyTable = py::classh; wrappers.wrapType( PyTable(wrappers.module, "Tsble"), [](auto &mod, auto &cls) { cls.def(py::init(), "options"_a = ""); diff --git a/python/astshim/timeFrame.cc b/python/astshim/timeFrame.cc index c31b5d2..fc425f1 100644 --- a/python/astshim/timeFrame.cc +++ b/python/astshim/timeFrame.cc @@ -35,7 +35,7 @@ using namespace pybind11::literals; namespace ast { void wrapTimeFrame(lsst::cpputils::python::WrapperCollection &wrappers) { - using PyTimeFrame=py::class_, Frame>; + using PyTimeFrame=py::classh; wrappers.wrapType(PyTimeFrame(wrappers.module, "TimeFrame"), [](auto &mod, auto &cls) { cls.def(py::init(), "options"_a = ""); diff --git a/python/astshim/timeMap.cc b/python/astshim/timeMap.cc index 9535b16..60d1121 100644 --- a/python/astshim/timeMap.cc +++ b/python/astshim/timeMap.cc @@ -35,7 +35,7 @@ using namespace pybind11::literals; namespace ast { void wrapTimeMap(lsst::cpputils::python::WrapperCollection &wrappers){ - using PyTimeMap= py::class_, Mapping> ; + using PyTimeMap= py::classh ; wrappers.wrapType(PyTimeMap(wrappers.module, "TimeMap"), [](auto &mod, auto &cls) { cls.def(py::init(), "options"_a = ""); diff --git a/python/astshim/tranMap.cc b/python/astshim/tranMap.cc index 1971137..aab7482 100644 --- a/python/astshim/tranMap.cc +++ b/python/astshim/tranMap.cc @@ -33,7 +33,7 @@ using namespace pybind11::literals; namespace ast { void wrapTranMap(lsst::cpputils::python::WrapperCollection &wrappers) { - using PyTranMap = py::class_, Mapping>; + using PyTranMap = py::classh; wrappers.wrapType(PyTranMap(wrappers.module, "TranMap"), [](auto &mod, auto &cls) { cls.def(py::init(), "map1"_a, "map2"_a, "options"_a = ""); diff --git a/python/astshim/unitMap.cc b/python/astshim/unitMap.cc index 74fcb68..caa2ec3 100644 --- a/python/astshim/unitMap.cc +++ b/python/astshim/unitMap.cc @@ -33,7 +33,7 @@ using namespace pybind11::literals; namespace ast { void wrapUnitMap(lsst::cpputils::python::WrapperCollection &wrappers) { - using PyUnitMap = py::class_, Mapping>; + using PyUnitMap = py::classh; wrappers.wrapType(PyUnitMap(wrappers.module, "UnitMap"), [](auto &mod, auto &cls) { cls.def(py::init(), "ncoord"_a, "options"_a = ""); cls.def(py::init()); diff --git a/python/astshim/unitNormMap.cc b/python/astshim/unitNormMap.cc index bd39c60..b5a8d9c 100644 --- a/python/astshim/unitNormMap.cc +++ b/python/astshim/unitNormMap.cc @@ -35,7 +35,7 @@ using namespace pybind11::literals; namespace ast { void wrapUnitNormMap(lsst::cpputils::python::WrapperCollection &wrappers) { - using PyUnitNormapMap=py::class_, Mapping> ; + using PyUnitNormapMap=py::classh ; wrappers.wrapType(PyUnitNormapMap (wrappers.module, "UnitNormMap"), [](auto &mod, auto &cls) { cls.def(py::init const &, std::string const &>(), "centre"_a, "options"_a = ""); diff --git a/python/astshim/wcsMap.cc b/python/astshim/wcsMap.cc index 7b12e30..5df56a3 100644 --- a/python/astshim/wcsMap.cc +++ b/python/astshim/wcsMap.cc @@ -71,7 +71,7 @@ void wrapWcsMap(lsst::cpputils::python::WrapperCollection &wrappers) { enm.export_values(); }); - using PyWcsMap= py::class_, Mapping>; + using PyWcsMap= py::classh; wrappers.wrapType(PyWcsMap (wrappers.module, "WcsMap"), [](auto &mod, auto &cls) { cls.def(py::init(), "ncoord"_a, "type"_a, "lonax"_a, diff --git a/python/astshim/winMap.cc b/python/astshim/winMap.cc index aac5ce3..1a63ec3 100644 --- a/python/astshim/winMap.cc +++ b/python/astshim/winMap.cc @@ -35,7 +35,7 @@ using namespace pybind11::literals; namespace ast { void wrapWinMap(lsst::cpputils::python::WrapperCollection &wrappers) { - using PyWinMap = py::class_, Mapping>; + using PyWinMap = py::classh; wrappers.wrapType(PyWinMap(wrappers.module, "WinMap"), [](auto &mod, auto &cls) { cls.def(py::init const &, std::vector const &, std::vector const &, diff --git a/python/astshim/xmlChan.cc b/python/astshim/xmlChan.cc index c8ffb76..a336b9a 100644 --- a/python/astshim/xmlChan.cc +++ b/python/astshim/xmlChan.cc @@ -33,7 +33,7 @@ using namespace pybind11::literals; namespace ast { void wrapXmlChan(lsst::cpputils::python::WrapperCollection &wrappers) { - using PyXmlChan=py::class_, Channel>; + using PyXmlChan=py::classh; wrappers.wrapType(PyXmlChan(wrappers.module, "XmlChan"), [](auto &mod, auto &cls) { cls.def(py::init(), "stream"_a, "options"_a = ""); diff --git a/python/astshim/zoomMap.cc b/python/astshim/zoomMap.cc index ee47032..35ec428 100644 --- a/python/astshim/zoomMap.cc +++ b/python/astshim/zoomMap.cc @@ -33,7 +33,7 @@ using namespace pybind11::literals; namespace ast { void wrapZoomMap(lsst::cpputils::python::WrapperCollection &wrappers) { - using PyZoomMap = py::class_, Mapping>; + using PyZoomMap = py::classh; wrappers.wrapType(PyZoomMap(wrappers.module, "ZoomMap"), [](auto &mod, auto &cls) { cls.def(py::init(),"ncoord"_a, "zoom"_a, "options"_a = ""); cls.def(py::init()); From 919e5fbba2da00443297d69b2e20188b60625655 Mon Sep 17 00:00:00 2001 From: Matthias Wittgen Date: Thu, 31 Jul 2025 17:49:56 -0700 Subject: [PATCH 2/2] Avoid signed/unsigned comparison warning. --- src/base.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/base.cc b/src/base.cc index 79687c6..e5b149d 100644 --- a/src/base.cc +++ b/src/base.cc @@ -68,7 +68,7 @@ ConstArray2D arrayFromVector(std::vector const &vec, int nAxes) { Array2D arrayFromVector(std::vector &vec, int nAxes) { int nPoints = vec.size() / nAxes; - if (nPoints * nAxes != vec.size()) { + if (static_cast(nPoints * nAxes) != vec.size()) { std::ostringstream os; os << "vec length = " << vec.size() << " not a multiple of nAxes = " << nAxes; throw std::runtime_error(os.str());