Topics

PyImath headers?

Larry Gritz
 

I build a local OpenEXR with all the things to make PyImath enabled (using CMake). It builds the python binding module. But...

A user with another package that is trying to expose the Imath types (which are used in the APIs), has noted that none of the PyImath*.h were installed.

Are these supposed to be part of the installation? Were they omitted from the CMake scripts? I admit I haven't yet tried an autotools build to see if that installs those files.

I know this seems like a bad road to go down, since those headers (which I presumed were internal) expose all the boost python details, which of course we don't want people dependent upon if we switch to pybind11. But still, we're kind of stuck with this situation and I'm not sure what to do.

--
Larry Gritz
lg@...

Cary Phillips
 

I think we have always assumed that the purpose of PyIlmBase is simply to build the python modules, not to also serve as an API that other projects would use, but I doubt a lot of thought went into that.  I don't think the autotools build installs the PyImath headers, either. But if there's a use for them, we should install them, with the caveat that the implementation may soon change. Unless somebody has a better solution to the problem at hand. What's the other project? 

- Cary

On Tue, May 26, 2020 at 4:30 PM Larry Gritz <lg@...> wrote:
I build a local OpenEXR with all the things to make PyImath enabled (using CMake). It builds the python binding module. But...

A user with another package that is trying to expose the Imath types (which are used in the APIs), has noted that none of the PyImath*.h were installed.

Are these supposed to be part of the installation? Were they omitted from the CMake scripts? I admit I haven't yet tried an autotools build to see if that installs those files.

I know this seems like a bad road to go down, since those headers (which I presumed were internal) expose all the boost python details, which of course we don't want people dependent upon if we switch to pybind11. But still, we're kind of stuck with this situation and I'm not sure what to do.

--
Larry Gritz
lg@...









--
Cary Phillips | R&D Supervisor | ILM | San Francisco

Larry Gritz
 

Alembic.


On May 26, 2020, at 4:53 PM, Cary Phillips <cary@...> wrote:

I think we have always assumed that the purpose of PyIlmBase is simply to build the python modules, not to also serve as an API that other projects would use, but I doubt a lot of thought went into that.  I don't think the autotools build installs the PyImath headers, either. But if there's a use for them, we should install them, with the caveat that the implementation may soon change. Unless somebody has a better solution to the problem at hand. What's the other project? 

- Cary

On Tue, May 26, 2020 at 4:30 PM Larry Gritz <lg@...> wrote:
I build a local OpenEXR with all the things to make PyImath enabled (using CMake). It builds the python binding module. But...

A user with another package that is trying to expose the Imath types (which are used in the APIs), has noted that none of the PyImath*.h were installed.

Are these supposed to be part of the installation? Were they omitted from the CMake scripts? I admit I haven't yet tried an autotools build to see if that installs those files.

I know this seems like a bad road to go down, since those headers (which I presumed were internal) expose all the boost python details, which of course we don't want people dependent upon if we switch to pybind11. But still, we're kind of stuck with this situation and I'm not sure what to do.

--
Larry Gritz
lg@...









--
Cary Phillips | R&D Supervisor | ILM | San Francisco


--
Larry Gritz




Nick Porcino
 

Strong vote for coordinating with the Alembic team on migrating to pybind11. It shouldn’t be difficult to bring them along with us for an upgrade, IIRC, Alembic uses PyImath in a very straight forward way.

On May 26, 2020, at 4:55 PM, Larry Gritz <lg@...> wrote:

Alembic.


On May 26, 2020, at 4:53 PM, Cary Phillips <cary@...> wrote:

I think we have always assumed that the purpose of PyIlmBase is simply to build the python modules, not to also serve as an API that other projects would use, but I doubt a lot of thought went into that.  I don't think the autotools build installs the PyImath headers, either. But if there's a use for them, we should install them, with the caveat that the implementation may soon change. Unless somebody has a better solution to the problem at hand. What's the other project? 

- Cary

On Tue, May 26, 2020 at 4:30 PM Larry Gritz <lg@...> wrote:
I build a local OpenEXR with all the things to make PyImath enabled (using CMake). It builds the python binding module. But...

A user with another package that is trying to expose the Imath types (which are used in the APIs), has noted that none of the PyImath*.h were installed.

Are these supposed to be part of the installation? Were they omitted from the CMake scripts? I admit I haven't yet tried an autotools build to see if that installs those files.

I know this seems like a bad road to go down, since those headers (which I presumed were internal) expose all the boost python details, which of course we don't want people dependent upon if we switch to pybind11. But still, we're kind of stuck with this situation and I'm not sure what to do.

--
Larry Gritz
lg@...









-- 
Cary Phillips | R&D Supervisor | ILM | San Francisco


--
Larry Gritz





Larry Gritz
 

Do we have anybody with the free time to do our side of that work? We can't really ask them to switch to pybind11 if there's no timeline for our doing so. Unless this is a sneaky way of getting them to convert our code base as well.

-- lg


On May 27, 2020, at 5:39 PM, Nick Porcino <nick.porcino@...> wrote:

Strong vote for coordinating with the Alembic team on migrating to pybind11. It shouldn’t be difficult to bring them along with us for an upgrade, IIRC, Alembic uses PyImath in a very straight forward way.

On May 26, 2020, at 4:55 PM, Larry Gritz <lg@...> wrote:

Alembic.


On May 26, 2020, at 4:53 PM, Cary Phillips <cary@...> wrote:

I think we have always assumed that the purpose of PyIlmBase is simply to build the python modules, not to also serve as an API that other projects would use, but I doubt a lot of thought went into that.  I don't think the autotools build installs the PyImath headers, either. But if there's a use for them, we should install them, with the caveat that the implementation may soon change. Unless somebody has a better solution to the problem at hand. What's the other project? 

- Cary

On Tue, May 26, 2020 at 4:30 PM Larry Gritz <lg@...> wrote:
I build a local OpenEXR with all the things to make PyImath enabled (using CMake). It builds the python binding module. But...

A user with another package that is trying to expose the Imath types (which are used in the APIs), has noted that none of the PyImath*.h were installed.

Are these supposed to be part of the installation? Were they omitted from the CMake scripts? I admit I haven't yet tried an autotools build to see if that installs those files.

I know this seems like a bad road to go down, since those headers (which I presumed were internal) expose all the boost python details, which of course we don't want people dependent upon if we switch to pybind11. But still, we're kind of stuck with this situation and I'm not sure what to do.

--
Larry Gritz
lg@...









-- 
Cary Phillips | R&D Supervisor | ILM | San Francisco


--
Larry Gritz






--
Larry Gritz




Lucas Miller
 

My original plan was to try and wait until the pybind11 bindings for
ILMBase were far enough along before attempting to bring Alembic over,
but my wishful thinking hit a snag when issues like these started to
show up:

https://github.com/alembic/alembic/issues/273

Which I interpret as Autodesk going through the exercise of getting
the original boost bindings working for python3.

Lucas

On Wed, May 27, 2020 at 5:53 PM Larry Gritz <lg@...> wrote:

Do we have anybody with the free time to do our side of that work? We can't really ask them to switch to pybind11 if there's no timeline for our doing so. Unless this is a sneaky way of getting them to convert our code base as well.

-- lg


On May 27, 2020, at 5:39 PM, Nick Porcino <nick.porcino@...> wrote:

Strong vote for coordinating with the Alembic team on migrating to pybind11. It shouldn’t be difficult to bring them along with us for an upgrade, IIRC, Alembic uses PyImath in a very straight forward way.

On May 26, 2020, at 4:55 PM, Larry Gritz <lg@...> wrote:

Alembic.


On May 26, 2020, at 4:53 PM, Cary Phillips <cary@...> wrote:

I think we have always assumed that the purpose of PyIlmBase is simply to build the python modules, not to also serve as an API that other projects would use, but I doubt a lot of thought went into that. I don't think the autotools build installs the PyImath headers, either. But if there's a use for them, we should install them, with the caveat that the implementation may soon change. Unless somebody has a better solution to the problem at hand. What's the other project?

- Cary

On Tue, May 26, 2020 at 4:30 PM Larry Gritz <lg@...> wrote:

I build a local OpenEXR with all the things to make PyImath enabled (using CMake). It builds the python binding module. But...

A user with another package that is trying to expose the Imath types (which are used in the APIs), has noted that none of the PyImath*.h were installed.

Are these supposed to be part of the installation? Were they omitted from the CMake scripts? I admit I haven't yet tried an autotools build to see if that installs those files.

I know this seems like a bad road to go down, since those headers (which I presumed were internal) expose all the boost python details, which of course we don't want people dependent upon if we switch to pybind11. But still, we're kind of stuck with this situation and I'm not sure what to do.

--
Larry Gritz
lg@...







--
Cary Phillips | R&D Supervisor | ILM | San Francisco


--
Larry Gritz
lg@...






--
Larry Gritz
lg@...




Nick Porcino
 

Hi Larry, not so sneaky! I’m not trying to get them to convert our code, but if there’s enough community interest around PyImath, we might be able to gather a posse and deputize the heck out of an effort :)

The first question though is this - Lucas, are there plans or ambitions or wistful wishes for Alembic to move from boost::python to pybind11?



On May 27, 2020, at 6:04 PM, Lucas Miller <miller.lucas@...> wrote:

My original plan was to try and wait until the pybind11 bindings for
ILMBase were far enough along before attempting to bring Alembic over,
but my wishful thinking hit a snag when issues like these started to
show up:

https://github.com/alembic/alembic/issues/273

Which I interpret as Autodesk going through the exercise of getting
the original boost bindings working for python3.

Lucas

On Wed, May 27, 2020 at 5:53 PM Larry Gritz <lg@...> wrote:

Do we have anybody with the free time to do our side of that work? We can't really ask them to switch to pybind11 if there's no timeline for our doing so. Unless this is a sneaky way of getting them to convert our code base as well.

-- lg


On May 27, 2020, at 5:39 PM, Nick Porcino <nick.porcino@...> wrote:

Strong vote for coordinating with the Alembic team on migrating to pybind11. It shouldn’t be difficult to bring them along with us for an upgrade, IIRC, Alembic uses PyImath in a very straight forward way.

On May 26, 2020, at 4:55 PM, Larry Gritz <lg@...> wrote:

Alembic.


On May 26, 2020, at 4:53 PM, Cary Phillips <cary@...> wrote:

I think we have always assumed that the purpose of PyIlmBase is simply to build the python modules, not to also serve as an API that other projects would use, but I doubt a lot of thought went into that.  I don't think the autotools build installs the PyImath headers, either. But if there's a use for them, we should install them, with the caveat that the implementation may soon change. Unless somebody has a better solution to the problem at hand. What's the other project?

- Cary

On Tue, May 26, 2020 at 4:30 PM Larry Gritz <lg@...> wrote:

I build a local OpenEXR with all the things to make PyImath enabled (using CMake). It builds the python binding module. But...

A user with another package that is trying to expose the Imath types (which are used in the APIs), has noted that none of the PyImath*.h were installed.

Are these supposed to be part of the installation? Were they omitted from the CMake scripts? I admit I haven't yet tried an autotools build to see if that installs those files.

I know this seems like a bad road to go down, since those headers (which I presumed were internal) expose all the boost python details, which of course we don't want people dependent upon if we switch to pybind11. But still, we're kind of stuck with this situation and I'm not sure what to do.

--
Larry Gritz
lg@...









--
Cary Phillips | R&D Supervisor | ILM | San Francisco


--
Larry Gritz
lg@...






--
Larry Gritz
lg@...







Lucas Miller
 

It's still in the ambitions phase (not formally planned) but it is
something that I've wanted to do for a while.

Lucas

On Wed, May 27, 2020 at 10:15 PM Nick Porcino <nick.porcino@...> wrote:

Hi Larry, not so sneaky! I’m not trying to get them to convert our code, but if there’s enough community interest around PyImath, we might be able to gather a posse and deputize the heck out of an effort :)

The first question though is this - Lucas, are there plans or ambitions or wistful wishes for Alembic to move from boost::python to pybind11?



On May 27, 2020, at 6:04 PM, Lucas Miller <miller.lucas@...> wrote:

My original plan was to try and wait until the pybind11 bindings for
ILMBase were far enough along before attempting to bring Alembic over,
but my wishful thinking hit a snag when issues like these started to
show up:

https://github.com/alembic/alembic/issues/273

Which I interpret as Autodesk going through the exercise of getting
the original boost bindings working for python3.

Lucas

On Wed, May 27, 2020 at 5:53 PM Larry Gritz <lg@...> wrote:


Do we have anybody with the free time to do our side of that work? We can't really ask them to switch to pybind11 if there's no timeline for our doing so. Unless this is a sneaky way of getting them to convert our code base as well.

-- lg


On May 27, 2020, at 5:39 PM, Nick Porcino <nick.porcino@...> wrote:

Strong vote for coordinating with the Alembic team on migrating to pybind11. It shouldn’t be difficult to bring them along with us for an upgrade, IIRC, Alembic uses PyImath in a very straight forward way.

On May 26, 2020, at 4:55 PM, Larry Gritz <lg@...> wrote:

Alembic.


On May 26, 2020, at 4:53 PM, Cary Phillips <cary@...> wrote:

I think we have always assumed that the purpose of PyIlmBase is simply to build the python modules, not to also serve as an API that other projects would use, but I doubt a lot of thought went into that. I don't think the autotools build installs the PyImath headers, either. But if there's a use for them, we should install them, with the caveat that the implementation may soon change. Unless somebody has a better solution to the problem at hand. What's the other project?

- Cary

On Tue, May 26, 2020 at 4:30 PM Larry Gritz <lg@...> wrote:


I build a local OpenEXR with all the things to make PyImath enabled (using CMake). It builds the python binding module. But...

A user with another package that is trying to expose the Imath types (which are used in the APIs), has noted that none of the PyImath*.h were installed.

Are these supposed to be part of the installation? Were they omitted from the CMake scripts? I admit I haven't yet tried an autotools build to see if that installs those files.

I know this seems like a bad road to go down, since those headers (which I presumed were internal) expose all the boost python details, which of course we don't want people dependent upon if we switch to pybind11. But still, we're kind of stuck with this situation and I'm not sure what to do.

--
Larry Gritz
lg@...









--
Cary Phillips | R&D Supervisor | ILM | San Francisco


--
Larry Gritz
lg@...






--
Larry Gritz
lg@...