Python Web Development Frameworks

Full Stack Frameworks

It gives full support to developers including basic components like form generators, form validation, and template layouts etc

1. Django is a high-level Python Web application development framework that encourages us to develop things rapidly, It uses pragmatic design.  It’s free and open source.

2. Web2py is a free open source full-stack development framework in python which allows the user to develop things quickly. It is a cross-platform framework that supports all popular operating systems. 

3. TurboGears is a free, open source and data-driven full-stack web application development Python framework. With the help of Javascript developer tools, developers can simply the web application.

4. CubicWeb is a semantic, free and open-source Python web framework, that empowers developers to efficiently build web applications by reusing components and following the well known object-oriented design principles. 

Non Full Stack Frameworks

Non-full stack frameworks are also called as Micro frameworks because it doesn’t have many components like full stack frameworks.

1. Flask is a microframework for Python based on Werkzeug, and Jinja 2. The main purpose is to develop a strong web application base. As compared to Django, Flask is best suited for small and easy projects.

2. CherryPy is a Minimalist Python Web Framework. It uses the Object-Oriented paradigm to develop web applications. This approach helps developers to develop web applications within a short period of time.

3. Bottle is a fast, simple and lightweight WSGI micro web-framework for Python. It is distributed as a single file module and has no dependencies other than the Python Standard Library. It is an easy-to-use lightweight framework generally used to build small web applications. It is mainly used to develop API’s.

4. Tornado is a python web framework with asynchronous network library. By using the non-blocking network I/O, Tornado can scale to tens of thousands of open connections, making it ideal for long polling, WebSockets, and other applications that require a long-lived connection to each user.

Top 20 Python libraries

1. Requests. The most famous http library written by kenneth reitz.

2. Scrapy. If you are involved in webscraping then this is a must have library for you.

3. wxPython. A gui toolkit for python. I have primarily used it in place of tkinter.

4. Pillow. A friendly fork of PIL (Python Imaging Library).

5. SQLAlchemy. A database library.

6. BeautifulSoup. The xml and html parsing library is very useful for beginners.

7. Twisted. The most important tool for any network application developer.

8. NumPy.  It provides some advance math functionalities to python.

9. SciPy.  It is a library of algorithms and mathematical tools for python.

10. matplotlib. A numerical plotting library. It is very useful for any data scientist or any data analyzer.

11. Pygame.  This library will help you achieve your goal of 2d game development.

12. Pyglet. A 3d animation and game creation engine.

13. pyQT. A GUI toolkit for python.

14. pyGtk.  It is the same library in which the famous Bittorrent client is created.

15. Scapy. A packet sniffer and analyzer for python made in python.

16. pywin32. A python library which provides some useful methods and classes for interacting with windows.

17. nltk. Natural Language Toolkit

18. nose. A testing framework for python.

19. SymPy. SymPy can do algebraic evaluation, differentiation, expansion, complex numbers, etc.

20. IPython. It has completion, history, shell capabilities, and a lot more.

Artificial Intelligence and Python in school curriculum to make students future-ready

Familiarizing students with new technologies will make the teaching learning process fruitful. The students with all background can write program to stimulate, what they have studied. It should be a mutual learning like both python and the subject they have implemented.  More

Python inEducation - Teach, Learn, Program 

A book on Python in Education by O’Reilly authored by Nicholas H. Tollervey

Python program to renaming the file or directory

# X is the original name and Y is the name to be changed
import os, sys
print ("The dir is: %s"%os.listdir(os.getcwd()))
os.rename("X","Y")  
print ("Successfully renamed.")
print ("the dir is: %s" %os.listdir(os.getcwd()))

Python Libraries for General AI

  • AIMA – Python implementation of algorithms from Russell and Norvig’s ‘Artificial Intelligence: A Modern Approach’
  • pyDatalog – Logic Programming engine in Python
  • SimpleAI – Python implementation of many of the artificial intelligence algorithms described on the book “Artificial Intelligence, a Modern Approach”. It focuses on providing an easy to use, well documented and tested library.
  • EasyAI – Simple Python engine for two-players games with AI (Negamax, transposition tables, game solving).