Abdul Rimaaz Business Consultant

Software developed using the Python language.

ADVANTAGES OF SOFTWARE DEVELOPMENT IN PYTHON

Lately, many companies have been trying to migrate to Python or at least are introducing the use of the Python programming language into their development processes. This choice is motivated by the different strengths of the Python language.

It is intuitive and simple : it is very easy to learn the Python language and create codes or real software, web applications.
It is Open Source : for this reason you are free from licensing costs
It allows you to optimize Time and Costs : its simplicity combined with its versatility and the wealth of open source libraries for any field, makes it easier to develop applications in less time and therefore investing fewer economic resources.
It’s portable : python guarantees portability on every operating system.
It can be integrated : for complex calculations where higher performance is required, it is possible to integrate C / C ++ code into our software code in Python.

WHY DEVELOP IN PYTHON

The Python language is opensource, like all its available libraries. This is a strong advantage for companies as they are free from licensing costs and all those problems that a closed system can entail.

Development in Python language for several years. When I worked in the company I felt the need to develop codes using a simple and intuitive language that allowed me to implement complex solutions optimizing time, and above all making the code easily readable by other experts in case the need arose to delegate some development work, to pass the work on to more experienced people, to carry out future code refactoring, etc.

This is one of the main reasons why I chose the Python language. And it is a choice that many Italian companies are slowly following: from SMEs to large companies. And that’s why I still develop with the Python language today.

WHAT WE CAN DEVELOP IN PYTHON

Some of the many solutions of software development in python.

 

QT LIBRARIES: GRAPHIC INTERFACES

The PyQT libraries, extension to the Python language of the classic QT libraries, allow us to create graphical interfaces, known as GUI (Graphical User Interfaces), in order to create desktop-side software (i.e. usable from PC) and make our software developed in Python "usable" by any operator.

DATABASE AND GEODATABASE MANAGEMENT

The Python language allows you to connect to different types of databases: MySQL, Postgres, Sqlite, Vertica, etc ... thanks to its opensource libraries, implemented following well-defined standards. In particular, it allows the connection with GeoDatabase and the manipulation and management of geographic data following the reference standards (an example is Postgres + Postgis + geographic libraries).

SEO, SEMANTICS, CRAWLER

There are several libraries for the Python language that allow us to implement semantic analysis models, systems for SEO analysis, or more generally to implement Natural Language Processing models. Examples are the NLTK and Scikit (Scikit Learn) libraries. There are also frameworks written in Python language for the implementation of real crawlers (Scrapy is an example).

DEVELOPMENT OF RASPBERRY PI CODES

Raspberry Pi is an opensource technology, a real powerful computer the size of a palm of your hand. With the Python language it is possible to implement codes to transform the Raspberry Pi into (almost) anything we want: a server, a hotspot, a video surveillance system, a mediacenter, a portable touch device that does what we want. The possibilities are not infinite but difficult to count.

GEOGRAPHICAL DATA AND GIS SYSTEMS

Thanks to the vast library for the management of geographic data, it is possible to create software, codes and platforms for the management and processing of geographic data, individually or in the context of GIS / WebGIS systems (Google Map is an example of WebGIS), following the standards of the Geodata. Many GIS software allow the creation of plugins using the Python language.

IMPLEMENTATION OF ALGORITHMS AND MODELS

Python has a wide choice of libraries for mathematical and statistical analysis from the simplest to the most complex. Numpy, SciPy, Panda, are just one example of these. Through these libraries and numerical implementation techniques it is possible to implement actual models and / or algorithms. And if the computational power requires the use of C / C ++ codes we can insert them inside the Developed Python code.

FRAMEWORK AND WEB APP

There are several frameworks implemented in Python that allow us to create advanced systems for managing services and webapps. Thanks to them it is possible to develop complex systems and implement web services, which can be integrated with any app and / or software, or simply create web platforms accessible from any device. Examples of frameworks are: Django, Zope, web2py, Pyramid.

AND MUCH MORE...

The versatility of the Python language and the countless development possibilities that its rich library offers us, allows us to implement complex software and systems in various contexts and scenarios. Image and signal processing, data analysis systems from satellite platforms or the implementation of CRM, management. The ways of the Python language are many and allow us to optimize time and costs with a more than satisfactory result.

SOME SOFTWARE AND ALGORITHMS DEVELOPED IN PYTHON

Some of the many works, software and systems, that over the years I have developed in Python in the last three years.

DYNAMIC GRAPHIC INTERFACES

Automatic creation of graphical interfaces based on the functionalities available on a server.

GEOGRAPHICAL DATA PROCESSING AND MANAGEMENT

Development of procedures for the topological control of geographic data (geodatabase and cartographic data), usable through graphic interfaces.

ALGORITHMS FOR SATELLITE DATA PROCESSING

Algorithms to process Synthetic Aperture Radar data with stereoscopic techniques to produce Terrain Elevation Models.

SOFTWARE FOR PSYCHOLOGICAL STATISTICAL ANALYSIS

Implementation of graphic interfaces and statistical models in the Psychological field.

PLUGIN IN QUANTUM GIS

development of several plugins for Quantum GIS, with graphical interfaces and QGIS API integrations.

LANGUAGE MANAGEMENT SOFTWARE DEVELOPMENT

Graphic interface and software development for the management of vocabularies, translations and symbolisms of particular languages.

SATELLITE DATA MANAGEMENT SOFTWARE

Graphic interfaces to manage Radar data processing processes with interferometric, radargrammetric and joint techniques.

IMPLEMENTATION OF BASIC SEMANTIC ALGORITHMS

Development of graphic interfaces and algorithms for semantic analysis, SEO and Sentiment Analysis.

WORKFLOW AND ORDER MANAGEMENT

Development, with graphic interfaces, of workflow and management of orders (of geographic data) assigned and sorted to different nodes remotely.

SOFTWARE DEVELOPMENT AND SYSTEMS FOR RASPBERRY PI

Video surveillance systems, portable hotspots and servers, facial recognition systems, media centers, home network security systems.

IMPLEMENTATION OF ALGORITHMS IN THE FINANCIAL FIELD

Implementation of different algorithms for study, analysis, forecasting of the trend of financial market products.

ALGORITHMS OF VARIOUS KIND WITH NUMPY MATHEMATICS LIBRARS