Is MOAB still compatible with PyTAPS?
Hi, I've been trying to build MOAB to use with the PyTAPS interface. I have noticed that the PyTAPS repo haven't been updated in a long time, and algo I keep getting this error when trying to import the iMesh module:
>>> from itaps import iMesh
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: /usr/local/lib/python2.7/site-packages/PyTAPS-1.4-py2.7-linux-x86_64.egg/itaps/iMesh.so: undefined symbol: imesh_getentities_
When I try to run a C++ program using MOAB I can successfully link against the MOAB libraries and run it. So, should I use an old version of MOAB?
Comments (14)
-
-
reporter That's excellent. Is he working on a private fork? I'm a new user, so I may not have anything to request, but for sure a more pythonic interface would great.
Also, how soon do you think it will be available? Like months, weeks...?
-
We have a branch in this repo: https://bitbucket.org/fathomteam/moab/branch/pshriwise/pymoab_shared_only that you can play with in order to an idea about PyMOAB. Once we have successfully integrated this into master, we would much appreciate if you can contribute back new interfaces and examples.
We hope to have this verified, tested and merged by end of March, in time for MOAB 5.0.
-
reporter Looks great. Sure I will try to contribute. Just for curiosity, how will pymoab interoperate with the iGeom interface?
-
reporter Also, will this python interface possibly work with MPI Parallelism? I'm planning to adopt MOAB (i.e. pymoab) + Trilinos (i.e. PyTrilinos) in my research group, so it would be great if it was possible to run our simulations on distributed memory systems.
-
Yes our intent is to make PyMOAB to work correctly on distributed systems. However, the first version of the Python interface for MOAB may not expose MPI parallelism yet or be compatible with iGeom interfaces. The next update will certainly depend on MPI4Py and we will verify scalability of the mesh ops with the Python interfaces. We also do plan to create interfaces for CGM and MeshKit along the vein of PyMOAB in the future.
-
reporter Ok, great. MPI4Py is a great interface, and with this anyone should be able to interop with most parallel solvers. I look forward to use the library and help.
I have cloned the repo here and have tried a few things. I was wondering if, and maybe how, you are planning to check coverage for the tests when using Cython for the interface. I was trying to get coverage info and was unable to get coverage referring to the Cython code.
-
Hi @Estanho! Current PyMOAB developer here... glad to hear you're interested in the interface!
It's possible that code coverage checks will be done separately for the python interface(s) via a tool like coverage.py. It now has plugins for checking coverage in Cython modules (see here).
It will require us to use a relatively new version of Cython (> 0.22.0), but I think this is already the case due to how some of the interface designed...
-
reporter Hi @pshriwise, I tried doing this but couldn't figure out. I don't have much experience with Cython. But now that I have gone through the code, maybe there is no need to get coverage info for now, since the Cython code seems to be pretty straightforward as it's mostly wrapping MOAB functionality.
Regarding the information that PyTAPS is stale, maybe there should be information on the PyTAPS repo, and also on the SIGMA website, and the PyPi website, calling for development for PyMOAB. It was a bit hard for me to find this information.
-
I agree that coverage might not be of concern yet. I think the priority here should be a rich set of unit tests for now. As more MOAB interfaces/classes get added to PyMOAB, coverage reporting will definitely become important.
I've been mostly focusing on getting the interface fully integrated into MOAB, but yes this should certainly happen. My guess is that this will occur in a public manner with the release of MOAB 5.0 (maybe @vijaysm can confirm that).
-
Yes I've updated the website to reflect that PyTAPS is unsupported and will be replaced with interfaces based on Cython. As MOAB 5.0 rolls out, we will add more information about this. Let me know if we need to update anything else.
-
reporter @pshriwise I have been working on a MeshTopoUtil wrapper. Are you working on something similar? If not, I could open a PR for it if there's interest.
-
I am not! A welcome addition to the interface for sure (with proper testing of course) :)
-
reporter - changed status to resolved
- Log in to comment
Currently the support for PyTAPS is stale. We are working on a more Pythonic interface to MOAB without all the inconsistencies and bloat of PyTAPS. This work is currently being submitted as a PR by @pshriwise, and we hope to have that merged to master soon. Please let us know if you have specific requirements or requests for the interfaces.