Basic tools for developers in Python

4 min reading
08 May 2015
Basic tools for developers in Python
Basic tools for developers in Python

BBVA API Market

 

Web development is evolving rapidly. One of the latest focuses in the market, being deployed to a great extent among the community of American developers, is the Python programming language, which allows projects to be carried out swiftly and in a versatile way. The syntax, written in the late 80s by Guido Van Rossum – now in version 3.5.0a4. – has become one of the essential choices for software developers.

This is intended as a list of the basic tools for developers who have specialized in this programming language prepared for different paradigms: object-oriented programming, structured programming and functional programming. Not to mention the fact its functionality can be broadened with extensions. 

1.- BeeWare

BeeWare is more than just a tool; in fact it is a toolbox to help develop and debug software in Python. The big difference between BeeWare and an IDE (integrated development environment) is that each tool in that box can be used independently from each other. Each can be used to carry out small tasks and all can be simultaneously used separately to implement large projects in Python.

The tools in that box of services are:

– Cricket: this is a graphical tool for running unit tests. The tool does not offer many details of the execution while the suite is underway and it is not possible to start looking for faults until execution is complete. This results in Cricket not being a great tool for identifying patterns of faults in these unit tests or for rerunning failed tests.

Cricket supports Django, a framework of open source code that is written in Python and used to develop web applications faster.

– Bugjar: this is a tool for debugging code errors. The old debuggers were good for their integrated development environments and being able to debug errors visually during execution. The Python debugging model contains appealing debugging methods. It also has a graphical interface that lets you navigate the code to correct errors.

– Duvet: this is a graphical interface that helps developers visualize the results of coverage of tests returned by coverage.py, a tool that works to measure coverage of program code in Python. Such actions serve to measure the effectiveness of tests, separately showing which parts of the code are worked by testing and which are not. 

BeeWare also has a number of libraries for projects in Python:

– Toga: a package of native tools for each system, made in Python that can be used for desktops and mobiles. 

– iOS template: a template that allows us to develop applications in Python but implement them in iOS.

– Android template: a template to implement Python code in Android.

– rubicon: this is a collection of tools to establish relationships between the Python programming environment and others. 

– cassowary: pure implementation in Python of the algorithm of solutions of limitations of Cassowary, the algorithm that has been used within the graphics engine of Mac OS X (Lion and later versions) and iOS (from version 6) since 2011.

2. BOA Constructor:

Python developers have this integrated development environment (IDE) with a built-in graphical user interface (GUI) for wxPython. This tool includes an object inspector, inheritance hierarchies, a particularly good debugger and integrated help. Obviously, it is written in Python.

The user interface consists of a set of separate tools used to create and debug applications developed with Python:

– Paleta: this tool allows developers to access objects such as buttons, text boxes, frames and create packages and modules for our applications. This is the first step to generating a new development for Python.

– Inspector: objects can be accessed through this tool

– Editor: this is the part of BOA Constructor where developers can access the source code of the application they are creating. You can correct errors and run the application to identify them in the editor.

– Explorer: this allows you to browse and review data items.

There is an interesting tutorial on the web which can serve as a guideline for beginners.  

3. Integrated development environments for Python:

An integrated development environment is a software application that allows software developers to design in a simple way. This has all the necessary tools integrated into a single environment: an editor for source code, automated build tools and a debugger. There are several on the market.  

PyDev for Eclipse: PyDev is a Python package for Eclipse, an extremely versatile IDE, which is able to support not only the Python language, but many others. It has particularly interesting features if you want to program applications:

– Integration with Django, a framework for web development of open source written in Python. Django allows developers to create complex web projects through rapid development using the Dont Repeat Yourself computing principle, which seeks to remove duplication in development processes.

– Code completion.

– Syntax highlighting.

– Code analysis.

– Debugger and remote debugger.

– Interactive browser.

– Refactoring.

– Unit Testing Integration.

– Source code coverage.

PyCharm: this is an IDE created by JetBrains. It has an incredible reputation within the Python developer community. Some even describe it as the best IDE for Python. This is an integrated development environment with hundreds of functions, which can turn the tool into a tedious environment, but it is certainly a great choice for programming.

Some of its key features are:

– Integration with frameworks such as Django, Flask, Pyramid or Web2Py.

– Auto-completion.

– Syntax highlighter.

– Analysis tool.

– Refactoring.

– Advanced Python and JavaScript debugger.

– Compatibility with programming tools and languages for developers in Python such as SQLAlchemy (ORM), Google App Engine or Cython.

-Version control system such as Git, CVS and Mercurial.

For example, in this video one of the developers of JetBrains designs a clone of the Pinterest social network with tools from the PyCharm integrated development environment. 

4. wxGlade:

This is a wxWidgets user graphical interface designer written in Python, but that can generate source code for other programming languages such as C++, Lisp or Perl. wxGlade is not an integrated development environment with all the tools to develop in Python, it is just a designer that lets you view the widgets created.

Follow us @BBVAAPIMarket

It may interest you