Python is a general-purpose programming language which can be used in many ways. This ubiquitous language has a very large community and has been used by the researchers as well as the developers for quite a long time.
Python Standard Library
Python’s standard library contains built-in modules which provide access to system functionality such as file I/O. It contains several different kinds of components and data types which can be considered as a part of the core of a language. The library also contains built-in functions and exceptions which can be used by all Python codes without the need of an import statement.
The method of structuring Python’s module namespace by using “dotted module names” is known as packages. For instance, the module name X.Y designates a submodule y in a package named X. Packaging mainly depends upon the target environment as well as the deployment experience.
How to use them
Packages are consisted of multiple files and are harder to distribute. If you have a pure Python code and you know your deployment environment which supports your version of Python, in that case, you can easily use Python’s native packaging tools to create a source distribution package or sdist which is a compressed archive containing one or more packages or modules. Python’s native packaging is mostly built for distributing reusable code known as libraries between the developers.
Here is a video of Python’s recommended built-in library and tool packaging technologies.
How The Deployment Is Critical
One of the crucial reasons is that the researchers do not have the right tools or expertise in order to deploy their machine learning models. The domain experts work on open source tools, train models with some subset of data, and the process goes on ubtil the software engineering team receives the model from the data science team which sometimes causes the outcomes of the model to change. This process is quite a challenge for larger organisations but this can be made easier and usable when the model is made to be encapsulated behind some APIs by which other applications can use to connect with the model.
Some Important Python Libraries
This web application framework is written in Python and is based on Werkzeug WSGI toolkit and Jinja2 template engine. It is a flexible microframework which does not require any particular project or code layout.
Flask installation and Setup
from flask import Flask
app = Flask(name)
return ‘Hello World’
pip install Flask
FLASK_APP=hello.py flask run
This is a Python 2D plotting library which produces publication quality figures in a variety of hardcopy formats and interactive environments across platforms. With this library, you can generate plots, histograms, power spectra, bar charts, etc. Not to forget that Matplotlib was used to reveal the first black hole image.
python -m pip install -U pip
python -m pip install -U matplotlib
Django is a high-level Python Web framework that encourages rapid development and clean, pragmatic design. It is basically designed to help the developers take applications from concept to completion.
pip install Django
pip install -e django/
Pyramid is a small, fast, down-to-earth Python web framework and is developed as part of the Pylons Project. This open source web application framework is designed to make creating web applications easier. With Pyramid, you can write very small applications without knowing a lot.
Pyramid Installation on Windows:
python -m venv %VENV%
%VENV%\Scripts\pip install “pyramid==version”
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.
python virtualenv.py develop
pip install -U bottle
- Modules from Python Documentation, Read here.
- An Overview of Packaging for Python, Read here.
- The Python Standard Library, Read here.
- Deploying Machine Learning Models is Hard, But It Doesn’t Have to Be, Read here.