Odoo depends on various python packages. To run odoo in a server, it must satisfy with some of the required python packages. And here we are going to discuss some of the python packages require for odoo 13. These packages and the versions are listed in a file called requirement.txt in the odoo directory. In the time of implementing Odoo ERP, you can easily install all the required packages using this text file.
pip3 install -r /opt/odoo/requirement.txt
Let us discuss some packages used in Odoo.
Babel is, handling the functionality internationalization (I18n) and localization (L10N) and this split into 2 aspects Message Catalogs and Locale. The first one is the tool for deal with gettext message catalogs, and the second one is the Python interface to the Common Locale Data Repository which is also known as CLDR, allows access to different locale display names, localized number and date formatting, etc.
The decorator helps a user to add new functionality without modification on the structure of an existing object. Odoo has its own decorators like @api.model, @api.onchange. Usually, to decorate a function, decorators will call before the function definition.
Werkzeug is a complete Web Server Gateway Interface (WSGI) web application library. It started as a mere set of different utilities for WSGI applications. Wrekzeug is the advanced WSGI utility library. It handles request and response object, cookie handling, debugger, cache control objects, file uploads and a lot of community added add-ons.
Psycopg is the widely used adapter of PostgreSQL for the python language. Thread safety which means multiple threads can share the same connection and complete implementation of the Python DB API 2.0 specification are the main features of psycopg. It will create and crush lots of cursors and it possible large number of concurrent database operations because it is specially designed for highly multi-threaded applications.
PIL is the Python Imaging Library which helps to image processing capabilities to the Python Interpreter. It provides support for massive file formats an efficient internal representation and quiet powerful image processing capabilities.
Python has it’s own standard datetime module. dateutil is the powerful extension of Pythons datetime module. It provides Computing of relative deltas and relative deltas between two datetime objects, parsing date to string formats, timezone implementation and etc.
PyPDF is a pure python library that is built for PDF operation which is used to extracting documents, cropping pages, encryption, and decryption of PDF files merging of pages into a single page, splitting page by page and more. As mentioned before it is a pure python library it can run without depending on any other external packages.
lxml is the library for processing XML and HTML format files in Python. lxml is the easiest and most promoted library to manage the XML and HTML files.
Other using packages are: