-
Notifications
You must be signed in to change notification settings - Fork 286
SciPy2017 Sprints
Welcome and thank you for participating in this sprint!
The #mayavi slack channel on the SciPy 2017 slack is where we plan to communicate about this sprint.
Please note that Prabhu will not be available after 10am on 16th but will be fully available on 15th (Saturday).
There are a variety of tasks that you can help with. Most of the tasks require knowledge of how to use Mayavi, and the intermediate/advanced tasks often require knowledge of VTK. Learning how to use Mayavi is quite easy -- just go over the user guide.
There is also a lot of material that I have put together for a two-day workshop on Mayavi here. Look at the slides directory to see this if you are interested. It is a lot of material.
The installations.txt provides some basic installation instructions for Mayavi. These are also reproduced below.
EDM is Enthought's freely available installer. First install edm by downloading an appropriate installer from https://www.enthought.com/products/edm/installers/
Install the installer and then create an environment with Mayavi installed as follows.
EDM provides Python 2.7.x as well as Python 3.6.x runtimes. The default is
2.7. The easiest way to install Mayavi would be to simply run the following
after installing edm
.
$ edm install mayavi jupyter notebook
This will also install jupyter and the jupyter notebook. Once you do this, you can start a shell with the right Python by just running::
$ edm shell
You should be all set with Mayavi, hopefully. Let us know on slack if you run into problems. See the section below on testing your installation.
In order to install a 3.x version of Python you can do the following::
$ edm environments create --version 3.6 py3
Where "py3" is the name of the environment. You may change this name to something else if you wish. Once you create this environment, you can activate it like so::
$ edm shell -e py3
You can now install Mayavi as follows::
$ edm install mayavi jupyter notebook pyqt
Note that you need to install pyqt explicitly in this case. On Python 2.7, pyside is automatically installed.
Install miniconda (if you do not already have it) from https://conda.io/miniconda.html
Once you have conda installed you can do this:
$ conda create -n scipy17 python=3.5 pyqt=4
$ source activate scipy17
$ conda install -c menpo mayavi
You should be all set with this. You can install jupyter if you wish as follows:
$ conda install jupyter
Try this:
$ jupyter console
In [1]: %gui qt
In [2]: from mayavi import mlab
In [3]: mlab.test_plot3d()
This should produce a window that is interactive and usable without any tracebacks or exceptions.
If you want the latest version with some important bug fixes you could clone the Mayavi git repo if you wish:
$ git clone https://github.com/enthought/mayavi.git
$ cd mayavi
$ python setup.py install
The advantage here is that you will also get all the Mayavi examples.
Mayavi sometimes runs into issues with VTK 7.x but unfortunately, VTK 6.x does not work with Python 3. However, if you are running into problems and want to run things properly you may need to switch to a throw-away python 2.x session just to get everything running.
With conda you can do::
$ conda create -n junk python=2
$ conda install -c menpo vtk=6
$ conda install jupyter scipy pyqt=4
$ pip install mayavi[app]
If you run into trouble with ValueError: API 'QString' do this:
$ export QT_API=pyqt
before you start up IPython/Jupyter.
I am putting up a brief list of tasks below. The "B" stands for tasks suitable for a Beginner, "I" for intermediate and "A" for advanced.
- Update installation documentation. (B)
- Update documentation to clean up outdated issues. (B)
- Indentify/fix more Python3 related issues. (B/I)
- Run all examples and check them, file an issue. (B)
- Work on various issues filed on github. (B/I)
- Improve test coverage. (I/A)
- Qt5 support. (I/A)
- Fix test builds so the dashboard is green. (I/A)
I will try and put up tickets or milestones for these if we have enough people signed up for the sprints.