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.4.4-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a122c3931b76512a1e9c9ba5b209ece00044f9da0ca3a10c667181ec21813bfb |
|
MD5 | a01d4076361c7d18927258d744c9ff9b |
|
BLAKE2b-256 | a0d30a2bcb88051d03b1db8d92505580eb8c085896852c2f14abcd3f677fdc2d |