Can I use WEKA from Python?

Yes and no. If you're starting from scratch, you might want to consider Jython, a rewrite of Python to seamlessly integrate with Java. The drawback is, that you can only use the libraries that Jython implements, not others like NumPy or SciPy. The article Using WEKA from Jython explains how to use WEKA classes from Jython and how to implement a new classifier in Jython, with an example of ZeroR implemented in Jython.

An approach making use of the javax.script package (new in Java 6) is Jepp, Java embedded Python. Jepp seems to have the same limitations as Jython, not being able to import Scipy or Numpy, but one can import pure Python libraries. The arcticle Using WEKA via Jepp contains more information and examples.

Another solution, to access Java from within Python applications is JPype, but It's still not fully matured.

Finally, you can use the python-weka-wrapper Python 2.7 library to access most of the non-GUI functionality of Weka (3.9.x):

For Python3, use the python-weka-wrapper3 Python library: