Skip to main content

Python bindings for ITAPS interfaces

Project description


PyTAPS requires the following to be installed on your system:

  • Python 2.5+
  • NumPy 1.3.0+
  • At least one of…
    • MOAB (or other iMesh interface)
    • CGM (or other iGeom interface)
    • Lasso (or other iRel interface)

Once you have the prerequisites, the easiest way to install PyTAPS is to use Pip (0.7+ recommended):

pip install pytaps

This will download, compile, and install PyTAPS automatically. If you have some but not all of the ITAPS interfaces (e.g. only iMesh), this will only install interfaces for the libraries you have, as described in Autodetection of Libraries.

Building Manually

Like many Python packages, PyTAPS uses Setuptools for installation, so in general setup consists simply of downloading the tarball, extracting it, and typing python install inside the extracted directory. However, certain ITAPS interfaces may require some additional setup.

Autodetection of Libraries

The PyTAPS setup script supports importing definitions from the files, where iXxx is the name of the interface. PyTAPS will attempt to find these files automatically, by searching in some common locations:

  1. The files specified in the environment variables IXXX_DEFS
  2. For each directory dir in the environment variables PATH and CPATH, look in dir/../lib
  3. Each directory in the environment variable LD_LIBRARY_PATH
  4. /usr/local/lib
  5. /usr/lib

If the PyTAPS setup script cannot find the file, it will assume you do not have that interface installed and automatically disable it in PyTAPS.

If you have the files installed but not in any of the above locations, you can specify where they are in the global command-line options --iXxx-path=PATH, like so:

python --iMesh-path=PATH install


The following example illustrates the basics of using iMesh. This script gets all the faces of a mesh and prints out the coordinates of their vertices:

from itaps import iBase, iMesh

mesh = iMesh.Mesh()

faces = mesh.getEntities()
adj = mesh.getEntAdj(faces, iBase.Type.vertex)

for i in adj:
    for j in i:
        x, y, z = mesh.getVtxCoords(j)
        print "%f, %f, %f" % (x, y, z)


Basic tests of the interfaces are located in test/. To run all the tests, run python test. To run a subset of tests, use -S <suite_name>, e.g. python -S test.imesh.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for PyTAPS, version 1.4
Filename, size File type Python version Upload date Hashes
Filename, size PyTAPS-1.4.tar.gz (128.6 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page