Welcome to OdooRPC’s documentation!¶
Introduction¶
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
Quick start¶
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"
For more details and features, see the tutorials, the Frequently Asked Questions (FAQ) and the API reference sections.
Contents¶
Supported Odoo server versions¶
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.
Supported Python versions¶
OdooRPC support Python 2.7, 3.2, 3.3, 3.4, 3.5 and 3.6.
License¶
This software is made available under the LGPL v3 license.
Bugs or suggestions¶
Please, feel free to report bugs or suggestions in the Bug Tracker!
Make a donation¶
OdooRPC is mainly developed on free time. To show your appreciation and support this project, it is possible to make a donation through PayPal: