A tool to interact with Odoo's external API.
Project description
otools-rpc
otools-rpc is a Python package for interacting with the Odoo ERP system through XML-RPC requests. It provides a convenient way to communicate with Odoo and perform various operations. Please note that the package is currently in the testing/alpha phase, and further improvements and updates are expected.
Features
The Environment
class represents the environment for interacting with the Odoo ERP system. It provides the following features:
- Authentication: Authenticate with the Odoo system using username and password.
- Access Models: Access different models (tables) in the Odoo system.
- Caching: Caching mechanism to improve performance.
- Logging: Logging capabilities with customizable log levels.
Installation
You can install otools-rpc using pip:
$ pip install otools-rpc
See on pypi: https://pypi.org/project/otools-rpc/
Usage
Environment
Here are some examples of how to use otools-rpc to interact with the Odoo ERP system via the external API:
from otools_rpc.external_api import Environment
url = "http://localhost:8069/"
username = "admin"
password = "admin"
master_password = "adminadmin"
# Create an instance of the environment
env = Environment(url, username, password, db='my_odoo')
env = env.with_context(lang='en_US')
print(env)
# Example: Create an invoice for a specific partner
partner_id = env['res.partner'].search([('name', '=', 'Mitchell Admin')], limit=1)
invoice_vals = {
'partner_id': partner_id.id,
'date_invoice': '2023-05-12',
'type': 'out_invoice',
'invoice_line_ids': [
(0, 0, {
'product_id': env['product.product'].search([('name', '=', 'Product A')], limit=1).id,
'quantity': 5,
'price_unit': 10.0,
}),
(0, 0, {
'product_id': env['product.product'].search([('name', '=', 'Product B')], limit=1).id,
'quantity': 3,
'price_unit': 15.0,
}),
],
}
invoice_id = env['account.move'].create(invoice_vals)
print("Created invoice:", invoice_id)
# Posting the invoice
invoice_id.action_post()
DBManager
from otools_rpc.db_manager import DBManager
url = "http://localhost:8069/"
master_password = "adminadmin"
dbmanager = DBManager(url, master_password)
#Return list of all the available DB in your Odoo ENV
dbmanager.dbobject.list()
#Duplicating my_odoo to my_new_odoo
dbmanager.duplicate(db='my_odoo', new_name="my_new_odoo")
#Deleting my_new_odoo
dbmanager.drop(db='my_new_odoo')
More details are coming soon...
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for otools_rpc-0.3.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8747d0e084be8e6d9b3ca910c8e98e6929688cd9e30f1d44aeaa84b979933371 |
|
MD5 | 0dbb09520f49f701f8233b651d23e5c8 |
|
BLAKE2b-256 | 1544aa6103d348559bd5cb491a851bbc3fc54ccd7dde3493e1c1d4de09d11eb3 |