My top 10 Python projects on the Github

There are currently 336000 projects repos for Python language(Desktop/Web/Mobile) on the GitHub and I will be providing you with my top 10 list among them.

1- Number one is surely without doubt  Django

The Web framework for perfectionists with deadlines. A high-level Python Web framework that encourages rapid development and clean, pragmatic design.

2 – Requests 

Requests is the only Non-GMO HTTP library for Python, safe for human consumption.

3- Peewee

Peewee is a simple and small ORM. It has few (but expressive) concepts, making it easy to learn and intuitive to use.


Scrapy is a fast high-level web crawling and web scraping framework, used to crawl websites and extract structured data from their pages. It can be used for a wide range of purposes, from data mining to monitoring and automated testing.

5 – python social auth 

Python Social Auth is an easy-to-setup social authentication/registration mechanism with support for several frameworks and auth providers.

Crafted using base code from django-social-auth, it implements a common interface to define new authentication providers from third parties, and to bring support for more frameworks and ORMs.

6- Pinax 

Pinax is an open-source platform built on the Django Web Framework. By integrating numerous reusable Django apps and providing starter projects and infrastructure tools, Pinax takes care of the things that many sites have in common so you can focus on what makes your site different.

Pinax has been used for everything from social networks to conference websites, and from intranets to online games.

7- Pyinstaller

PyInstaller is a program that freezes (packages) Python programs into stand-alone executables, under Windows, Linux, Mac OS X, FreeBSD, Solaris and AIX. Its main advantages over similar tools are that PyInstaller works with Python 2.7 and 3.3—3.5, it builds smaller executables thanks to transparent compression, it is fully multi-platform, and use the OS support to load the dynamic libraries, thus ensuring full compatibility.

8- Flask

Flask is a microframework for Python based on Werkzeug and Jinja2. It’s intended for getting started very quickly and was developed with best intentions in mind.

9 – Web2Py

Free and open source full-stack enterprise framework for agile development of secure database-driven web-based applications, written and programmable in Python

10 – IoT Python

Client libraries and samples for connecting to IBM Watson IoT using Python 2.7 or 3.5




Convert Python Script to Exe file

It’s been a while to move on python development on full time basis. Frankly speaking I love Python, because there are many open-source tools that can help you to make it your job easier.

So, Let’s get started.

In this article, I will show you how to create an executable file from your python scripts.

There are a few options available. You can check them on the following links;

1- Py2exe 

2-cx Freeze


After trying all three different packages, my winner will be Pyinstaller. The reason is; PyInstaller supports all major operations systems. So, if you would like to deploy your application on multi OS, the process would likely to be same on these platforms. In addition, its very well documented and its up to dated and maintained actively.  The package supports all main GUI libraries PyQt4, PyQt5, PySide, Django, wxPython, matplotlib and others without having to handle plugins or external data files manually.

As I assume, you already installed Python 2.7 on your system.

Next, you can download PyInstaller from the following links;

Either from

or you can clone the project files on the projects GitHub page


Open command line, and write the following command.

-> python install


What to generate;

-D, –onedir : Create a one-folder bundle containing an executable (default)

-F, –onefile : Create a one-file bundled executable.

–specpath DIR : Folder to store the generated spec file (default: current directory)

–windowed: prevents a console window from being displayed when the application is run.

I just created a test page with Pyqt4. See the below screenshot.


Finally, the following commands will create an .exe file for your apps.

->pyinstaller –onefile –windowed


The executable file is already created in the dist folder.

it’s that easy.  As always, if you have any questions, you

can reach me at

How to Install PyQT4 on the Mac OSx El Capitan

Hi Pytonistas,

From my research, its a bit complicated to install PyQt4 on the Mac Osx.

Thus, I thought that would be nice idea to share my experiences with you.

Installation PyQt4 on the Windows operation systems, it’s quite easy job.

Firstly, you need to download the pyqt4.exe file from riverbankcomputing site. After running the exe file, the program will be installing the following packages for  you on your Python27/Scripts folder.

  • PyQt4
  • Qt (with database support for MySQL, PostgreSQL, SQLite3 and ODBC)
  • Qt Designer
  • Qt Linguist
  • Qt Assistant
  • pyuic4
  • pylupdate4
  • lrelease
  • pyrcc4
  • QScintilla

When it comes to Mac OSx, you need to install SIP initially. The version is also important, for instance, PyQt4-V12 requires greater than SIP 4.18V.

SIP is a python extension module generator for C and C++ libraries. One of the features of Python that makes it so powerful is the ability to take existing libraries, written in C or C++ and make them available as Python extension modules.

This extension modules called binding for the library.

SIP is a tool that makes it very easy to create Python binding for C and C++

So, firstly you need to download SIP from riverbankcomputing site again.


Next, you can download the PyQt4 Mac Osx version from the following links;

pyqt4 Installation on Mac OsX

Let’s start coding our first Mac Osx desktop app with PyQt4.

First PyQT App

The output :

PyQt4 Mac Desktop apps


Further Links :

Hope, you enjoy reading this article. If there is anything I can help, you can always reach me at .

Till next time 🙂



When to use CSS or JavaScript Animation

In this article, I will share my personal experiences of using animations.

Being contractor for last 4 years, I’ve worked on many different projects.

Most of medical agencies are using animation heavily in their projects.

Simply, we should use css animation;

  • When the animation is not very complicated (Simple animation)
  • When we work on transitions/ transforms
  • if we need to animate DOM elements

So, if you want to learn more about css animation, you can check on the following link;

Donovan runs a daily email based css animation course, I would highly recommend it.

Also, there are thousands great CSS animation samples on the Codepen.

CSS Animation Framework

Using a framework always makes job easier. Because, it’s probably been tested and used by many other developers too. There are many of them out there. However, I will share some of them with you.

Please check the below links;

Animate CSS


CSS Shake

Hover Efffects

On the other hand, we should JavaScript-Based animation;

  • if we need very complex Animation
  • if there will be sequences on animations
  • if we need canvas based animation and progress reporting
  • if the animation needs to be resumed, paused or reversed
  • if we need to create a time scale and animation path

JavaScript-Based Animation Frameworks

There.Js      (You can create unbelievable 3d animation with Three.js)



Hope, you enjoy reading this article. If there is anything I can help, you can always reach me at .

See you next time 🙂






print(Hello world!)

Welcome to my personal blog.

Let me introduce myself; I am a Kurdish, originally coming from City of Siverek, Turkey, but living in London, UK  since 2011.

I’ve never had a blog before so this is my first post. Hopefully, I will add some valuable inputs regularly. I’ll try to keep concise,  sweet and not bore you.

I have big passions on Full Stack Development (Python, Django, JavaScript), Machine Learning algorithms and Kickboxing.

Hence, I will share my personal experiences, but also add valuable articles

and tips from any developers out there.

See you next time…