Friday, March 20, 2015

Sympy project: Symbolic Computations using Python Programming



Sympy is a Python Library for symbolic computations. It aims to be a Computer Algebra System, but wants to keep the code simple and readable. Sympy is entirely written in Python. 

Now you might have come across a question Why Sympy ? 

Because SymPy is…
  • Free: Licensed under BSD, SymPy is free both as in speech and as in beer.
  • Python-based: SymPy is written entirely in Python and uses Python for its language.
  • Lightweight: SymPy does not require any external libraries, making it easy to use.
  • A library: Beyond use as an interactive tool, SymPy can be embedded in other applications and extended with custom functions.
The above is the motivation for the open source developer to develop and contribute to this awesome project. At the very beginning you need to read the documentation and work as per the structure suggest.

Prior Knowledge of Python Programming

The very first requirement to understand and develop with sympy is the prior knowledge of Python Programming. If your know Python well then you will be good to start with the code and functions provided by the sympy library. 

Some Basic and Advanced Mathematical Formulas and Functions how they work

You will have to encounter very often with Mathematical formulas that has been transformed into Python functions. So you should be knowing about the Mathematical formulas and how they work. In order to help you during the contribution and development with sympy project.

Open Source Development and working

You should know how the open source project works. What are the roles of the contributers, maintainers and How to proceed with the Bugs (Issues), must know how to use the power of IRC channels for quick responses and you must know the version control system like Git, Mercurial, Bazaar. Sympy project is hosted with Git so I recommend you learning Git.

Git Documentation 
http://git-scm.com/

Open Hatch (for simple and crisp exercises to know how the open source development proceeds)
http://openhatch.org/

Writing Quality Code

In open source development the source code written is fairly simple to read and understand as thousands of contributor will be modifying and testing the code to fix bugs. So after the bugs are fixed any additions and deletions from the code should be well documented using inline documentation in the file itself and also with a suitable commit message. You should keep in mind to write optimized code, as maintainers would demand optimized code when they view your fix , they also review the code for better readability and understanding.

Prepare Your Local environment or Virtual environment 

You must be following the build, install and test procedure. To look at the bugs and then fix them and again examine that everything works fine after fixing the code, So you need a local environment. Generally the newbees simply do all the testing in their system wide python installation. But I recommend you should read about the virtualenv, virtualenv is a virtual environment for testing python applications. The modules installed in virtualenv affects only the virtualenv and not the whole system. So if anything goes wrong , You just need to fix changes or delete your virtualenv and your system would be free from troublesome problems during testing and never need manual fixes.

Have a look at the virtualenv documentation


IDE's or Python Editors or Ipython notebooks

It is upto you which resource you prefer to write your code and have a proper view of the output of that code. I use ipython Notebook. Ipython notebook has better view of inputs with its corresponding outputs. 

Have a look at the Ipython Notebook documentation 


Resources for learning, developing for  and developing with sympy

Developing for the Sympy and searching for the educational tutorials and ebooks online by Googling and searching on YouTube is not a bad idea but it is not the best idea. The best idea is to go to the sympy website and read its documnetation and changes from the previous version. Sympy also provides an awesome tutorial doc for the new developers to understand sympy working.


The motivated programmers must check sympy code hosted at the Github, Have a look at this 
Source code for sympy at Github : Sympy Source 

and those who want to contribute please fork it and read the documentation about Git and contributing to Github, The project needs to be forked and after fixing the bug you need to Raise and Issue and talk to the maintainer about that issue and then do a pull request. I know you were not able to understand the above lines, So please read the Git documentation well and then read this again you will completely understand each and every line.



Set up Git

Create a Repository

Fork a Repository

Be Social


Wednesday, March 4, 2015

Building a Search Engine using Python Downloading and Extracting Links



The following video shows the first task of making a Search Engine using Python Programming and as per planned the first task is to download the web pages and extract links from those web pages. To know more about this please have a look at this video.



Guess the number game using Random Module in Python Programming



After the Introduction to the Game development series using Pygame and Python Programming. Here is the simple game that can be developed in Python Programming. The game logic and working is discussed in the video please have a look at the video to know more.





Game Development using Python Programming and Pygame



The following video would guide you to know and understand about the Game development basics using Python Programming. For specific 2d Game development in Python programming we will be using Pygame game development library written in Python Programming. Please watch to know more.





Sunday, March 1, 2015

Building a Classifier, visualizing a decision tree in Weka data mining tool




The following video will illustrate the classification operation in Data Mining tool weka. I have taken the sample dataset that comes with Weka package and used it to illustrate the classification problem in Data Mining. Please have a look at this video to know more.





Introduction to Weka a Data Mining Tool




Hello everyone here is the video series on Data mining tool Weka. Weka is written in Java and can be used with Java for doings lots of Data Mining related tasks. The following introductory video will introduce you with the interface and working of Weka. Please have a look at this video.





Wednesday, February 25, 2015

Installing Modules in Python Programming



We have been using lots of module in the Python programming series of video. But We need some way to install some additional module to perform specific task, like performing scientific computation needs scipy module and so on. The following video shows you how to install a module in Python. Have a look.