Tuesday, April 5, 2011

Python resource and extensions


Tutorials:
Installing:

http://webnewage.org/2009/06/23/what-is-pip
http://pypi.python.org/pypi/distribute#distribute-setup-py
http://pypi.python.org/pypi/pip
http://pypi.python.org/pypi/setuptools#files
http://www.komtet.ru/lib/plangs/python/easy-install-zagruzka-i-ustanovka-paketa
http://www.crummy.com/software/BeautifulSoup/#Download
http://peak.telecommunity.com/DevCenter/EasyInstall#installing-easy-install
http://stackoverflow.com/questions/1213690/what-is-the-most-compatible-way-to-install-python-modules-on-a-mac
http://stackoverflow.com/questions/452283/how-can-i-install-the-beautiful-soup-module-on-the-mac

Sources:

http://developer.berlios.de/softwaremap/trove_list.php?form_cat=76

Extensions:
http://pypi.python.org



1. C-Extension for Python: http://cython.org

Cython is a language that makes writing C extensions for the Python language as easy as Python itself. Cython is based on the well-known Pyrex, but supports more cutting edge functionality and optimizations.
The Cython language is very close to the Python language, but Cython additionally supports calling C functions and declaring C types on variables and class attributes. This allows the compiler to generate very efficient C code from Cython code.
This makes Cython the ideal language for wrapping external C libraries, and for fast C modules that speed up the execution of Python code.


2. Mathematics open source library: http://sagemath.org
3. http://www.pythonxy.com
4. http://www.enthought.com/products/epd.php
5. SciPy
6. PyCuda: http://mathema.tician.de/software/pycuda
7. Mrjob: https://github.com/Yelp/mrjob
    Run Hadoop Streaming jobs on Amazon Elastic MapReduce or your own Hadoop cluster
8. CRC: http://crcmod.sourceforge.net
9.Twisted: http://twistedmatrix.com/trac
     An event-driven networking engine written in Python
10. Requests: http://pypi.python.org/pypi/requests
11. MatplotLib: matplotlib.sourceforge.net
http://www.matplotlib.com
12. Py-LLVM: http://www.mdevan.org/llvm-py/index.html
13. Kalman filtering: http://www.scipy.org/Cookbook/KalmanFiltering
14. OpenGL: http://pyopengl.sourceforge.net
15. MapReduce on Python: http://me.lt/4xP7k
16.  Natural language toolkit http://www.nltk.org/download
17. Astronomy http://www.astropy.org

Open Source Python Tools for Classification (http://amundblog.blogspot.com)

  • Monte - less comprehensive than Orange, written purely in Python (i.e. noSWIGed C++). Looks interesting (has several classifiers algorithms), but the APIs seems to be in an early phase (relatively new tool in version 0.1.0)
  • libsvm - Python API for most popular open source implementation of SVM.Note: libsvm is also included with Orange and PyML. (I used this tools during my PhD a few years ago)
  • RPy - not exactly a classification tool, but it is quite useful with a statistics tool when you are doing classification (it has a nice plotting capability, not unlike matlabs), check out the demo.
  • PyML - also less comprehensive than Orange (specialized towards classification and regression, it supports SVM/SMO, ANN and Ridge Regression), but it has a nice API. Example of use: 
    from PyML import multi, svm, datafunc
    # read training data, last column has the class
    mydataset = datafunc.SparseDataSet('iris.data', labelsColumn = -1)
    myclassifier = multi.OneAgainstRest(svm.SVM())
    print "cross-validation results", myclassifier.cv(mydataset)
My recommendation is to either go with Orange or with PyML.

Catalogue:
http://www.java2s.com/Open-Source/Python/CatalogPython.htm
http://blogs.msdn.com/b/somasegar/archive/2011/08/29/python-tools-for-visual-studio.aspx

1 comment:

Powered by Blogger.