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

Harshad numbers

http://www.harshad-numbers.com
http://en.wikipedia.org/wiki/Harshad_number
http://en.wikipedia.org/wiki/1729_(number)

Inverse Symbolic Calculator
P.S. Infinity

Online encyclopedia of integer sequences

http://offline.computerra.ru/print/offline/1998/235/1098

Examples:
1. A019460: 2, 3, 3, 5, 10, 13, 39, 43, 172, …
2. A006567: 13, 17, 31, 37, 71, 73, 79, 97, 107, …
3. A001462: 1, 2, 2, 3, 3, 4, 4, 4, 5, 5, 5, 6, 6, 6, 6, …
4. A005228: 1, 3, 7, 12, 18, 26, 35, 45, 56, 69, …
5. A006751: 2, 12, 1112, 3112, 132112, 1113122112, …
6. A004000: 1, 2, 4, 8, 16, 77, 145, 668, ...
7. A007449: 7, 9, 40, 74, 1526, 5436, 2323240, 29548570, …
8. A006933: 2, 4, 6, 30, 32, 34, 36, 40, 42, 44, 46, 50, …

Tiny OS

http://www.tinyos.net

TinyOS is an open source, BSD-licensed operating system designed for low-power wireless devices, such as those used in sensor networks, ubiquitious computing, personal area networks, smart buildings, and smart meters


To be continued....

Powered by Blogger.