3D visualization of scientific data in Python
Python GAP Other
Latest commit c181eba Oct 5, 2016 @prabhuramachandran prabhuramachandran committed on GitHub Merge pull request #444 from enthought/fix-setuptools-28.0
Fix for setuptools 28.0
Failed to load latest commit information.
artwork ENH: - Add an example gallery to the documentation. Apr 19, 2009
docs Added reference to volume_slice in the case studies part of mlab doc Sep 18, 2016
examples Fix error in counter and add example notebook. Jul 21, 2016
integrationtests/mayavi corrected test case name from copypasta May 4, 2016
mayavi Added unit test for volume_slice + generated image Sep 2, 2016
scripts Updated LUTs to include new matplotlib colorschemes Jul 5, 2016
travis Fixed typo May 3, 2016
tvtk Added view Sep 30, 2016
.coveragerc fix the coverage configuration Feb 28, 2014
.gitattributes added .gitattributes so that .pkl is a binary and should not be conve… Apr 22, 2016
.gitignore MAINT: Regularize ETS .gitignore's: include .pyd, .enamlc, .DS_Store Feb 21, 2012
.travis.yml Removed VTK6.3 May 3, 2016
.travis_before_install remove empty space Mar 1, 2014
DEVELOPING.rst Fixing spelling. Apr 2, 2011
LICENSE.txt * Modified the egg_builded to (1) allow specification of the specific… Jun 7, 2007
LICENSE_COLORBREWER.txt converting to unix line endings and removing excess whitespace Jan 28, 2011
LICENSE_YORICK.txt converting to unix line endings and removing excess whitespace Jan 28, 2011
MANIFEST.in Add notebook to MANIFEST. Jul 21, 2016
README-tvtk.txt updated link to github issue and tvtk_mayavi2.pdf Mar 10, 2016
README.rst Update readme. Aug 11, 2016
appveyor-install.cmd add mock to appveyor-install Feb 25, 2016
appveyor-test.cmd exit batch file on error Jun 19, 2015
appveyor.yml Fix error in yml. Jul 21, 2016
checksums download the wxPython source from github Jul 17, 2015
codecov.yml update condcov May 10, 2016
image_LICENSE.txt updating image locations in license file Jun 7, 2011
image_LICENSE_CP.txt converting to unix line endings and removing excess whitespace Jan 28, 2011
image_LICENSE_Eclipse.txt converting to unix line endings and removing excess whitespace Jan 28, 2011
image_LICENSE_Nuvola.txt converting to unix line endings and removing excess whitespace Jan 28, 2011
image_LICENSE_OOo.txt converting to unix line endings and removing excess whitespace Jan 28, 2011
mlab_reference.py Update docs to use Qt instead of wx. Feb 17, 2016
setup.py Update readme. Aug 11, 2016


Mayavi: 3D visualization of scientific data in Python

Mayavi docs: http://docs.enthought.com/mayavi/mayavi/ TVTK docs: http://docs.enthought.com/mayavi/tvtk

Build status http://codecov.io/github/enthought/mayavi/coverage.svg?branch=master


Mayavi seeks to provide easy and interactive visualization of 3D data. It does this by the following:

  • an (optional) rich user interface with dialogs to interact with all data and objects in the visualization.
  • a simple and clean scripting interface in Python, including one-liners, a-la mlab, or object-oriented programming interface.
  • harnesses the power of the VTK toolkit without forcing you to learn it.

Additionally Mayavi strives to be a reusable tool that can be embedded in your applications in different ways or combined with the envisage application-building framework to assemble domain-specific tools.

Mayavi is part of the Enthought Tool Suite (ETS).


Mayavi is a general purpose, cross-platform tool for 2-D and 3-D scientific data visualization. Its features include:

  • Visualization of scalar, vector and tensor data in 2 and 3 dimensions
  • Easy scriptability using Python
  • Easy extendability via custom sources, modules, and data filters
  • Reading several file formats: VTK (legacy and XML), PLOT3D, etc.
  • Saving of visualizations
  • Saving rendered visualization in a variety of image formats
  • Convenient functionality for rapid scientific plotting via mlab (see mlab documentation)
  • See the Mayavi Users Guide for more information.

Unlike its predecessor MayaVi1, Mayavi has been designed with scriptability and extensibility in mind from the ground up. While the mayavi2 application is usable by itself, it may be used as an Envisage plugin which allows it to be embedded in user applications natively. Alternatively, it may be used as a visualization engine for any application.

Quick start

If you are new to mayavi it is a good idea to read the users guide which should introduce you to how to install and use it. The user guide is available in the docs directory and also available from the mayavi home page.

If you have installed mayavi as described in the previous section you should be able to launch the mayavi2 application and also run any of the examples in the examples directory.

Getting the package

The mayavi codebase can be found in github:


General Build and Installation instructions are available here

Source tarballs for necessary stable ETS packages are available through pypi

Development versions exist in the github Enthought organization


More documentation is available in the online user manual or in docs directory of the sources. This includes a man page for the mayavi2 application, a users guide in HTML and PDF format and documentation for mlab.


Examples are all in the examples directory of the source or the SVN checkout. The docs and examples do not ship with the binary eggs. The examples directory also contains some sample data.

Test suite

The basic test suites for tvtk and mayavi can be run using nose:

nosetests -v tvtk/tests
nosetests -v mayavi

The integration tests:

cd integrationtests/mayavi
python run.py

Bug tracker, mailing list etc.

The bug tracker is available in github Please provide info and details on platform, python, vtk and gui backends and their versions. If possible, a small example replicating the the problem.

Authors and Contributors

  • Core contributors:

    Prabhu Ramachandran: primary author.

    Gaël Varoquaux: mlab, icons, many general improvements and maintenance.

    Deepak Surti: Upgrade to VTK 5.10.1, VTK 6.x with new pipeline.

  • Support and code contributions from Enthought Inc.

  • Patches from many people (see the release notes), including K K Rai and R A Ambareesha for tensor support, parametric source and image data.

    Many thanks to all those who have submitted bug reports and suggestions for further enhancements.