OdooRPC is a Python module providing an easy way to pilot your Odoo servers through RPC.
- Features supported:
- access to all data model methods (even
browse) with an API similar to the server-side API, - use named parameters with model methods,
- user context automatically sent providing support for internationalization,
- browse records,
- execute workflows,
- manage databases,
- reports downloading,
- JSON-RPC protocol (SSL supported),
- access to all data model methods (even
How does it work? See below:
import odoorpc # Prepare the connection to the server odoo = odoorpc.ODOO('localhost', port=8069) # Check available databases print(odoo.db.list()) # Login odoo.login('db_name', 'user', 'passwd') # Current user user = odoo.env.user print(user.name) # name of the user connected print(user.company_id.name) # the name of its company # Simple 'raw' query user_data = odoo.execute('res.users', 'read', [user.id]) print(user_data) # Use all methods of a model if 'sale.order' in odoo.env: Order = odoo.env['sale.order'] order_ids = Order.search([]) for order in Order.browse(order_ids): print(order.name) products = [line.product_id.name for line in order.order_line] print(products) # Update data through a record user.name = "Brian Jones"
See the documentation for more details and features.
OdooRPC has been tested on Odoo 8.0, 9.0 and 10.0. It should work on next versions if Odoo keeps a stable API.
OdooRPC support Python 2.7, 3.2, 3.3, 3.4, 3.5 and 3.6.
This software is made available under the LGPL v3 license.
To generate the documentation, you have to install Sphinx documentation generator:
pip install sphinx
Then, you can use the build_doc option of the setup.py:
python setup.py build_doc
The generated documentation will be in the ./doc/build/html directory.
Please, feel free to report bugs or suggestions in the Bug Tracker!
Consult the CHANGELOG file.