Skip to main content

Easy Connector with Odoo ERP!

This is a library that allow an easy and friendly connection with an Odoo ERP instance on Pyhton 3.x

Installation using PIP command

  • Use the command
$ pip install odoo-connector-2

How to use connect

from odoo.connectors import OdooConnector
odoo = OdooConnector(endpoint='your-odoo-endpoint', dbname='your-odoo-dbname', username='your-odoo-user', password='your-odoo-password')
uid = odoo.connect()

Hot to add, edit and delete ( using the method write() )

from odoo.connectors import OdooConnector
odoo = OdooConnector(endpoint='your-odoo-endpoint', dbname='your-odoo-dbname', username='your-odoo-user', password='your-odoo-password')
uid = odoo.connect()
# create a new partner
data = [{'name': 'Test User', 'email': 'test@domain.com'}]
result = odoo.write(uid=uid, model='res.partner', action='create', data=data)
# edit partner
id = 1 # change the value for the any do you want
data = [[id], {'name': 'Test User', 'email': 'test@domain.com'}]
result = odoo.write(uid=uid, model='res.partner', action='write', data=data)
# delete partner
id = 1 # change the value for the any do you want
data = [id]
result = odoo.write(uid=uid, model='res.partner', action='unlink', data=data)
# create a new user
data = [{'login': 'test@domain.com', 'name': 'Test User', 'password': '123456'}]
result = odoo.write(uid=uid, model='res.users', action='signup', data=data)

Hot to search, search_read and read ( using the method search() )

from odoo.connectors import OdooConnector
odoo = OdooConnector(endpoint='your-odoo-endpoint', dbname='your-odoo-dbname', username='your-odoo-user', password='your-odoo-password')
uid = odoo.connect()

query = [[['is_company', '=', True], ['customer', '=', True]]]
fields = ['name', 'email', 'country_id']

# using the search method
result = odoo.search(uid=uid, model='res.partner', action='search', queries=query, parameters=None)

# using the search with pagination
parameters = {'offset': 5, 'limit': 10}
result = odoo.search(uid=uid, model='res.partner', action='search', queries=query, parameters=parameters)

# using the search_count
odoo.search(uid=uid, model='res.partner', action='search_count', queries=query)

# using the read method
ids = odoo.search(uid=uid, model='res.partner', action='search', queries=query, parameters={'limit': 1})
if len(ids) > 0:
    result = self.odoo.search(
        uid=uid, model='res.partner', action='read', queries=ids, parameters={'fields': fields}  formatted=True)

# The "formatted" attribute allow format the result in a JSON object, this is a boolean attribute by default is False

# using the search_read method with parameters.
result = odoo.search(
            uid=uid, model='res.partner', action='search_read', queries=query, parameters={'fields': fields, 'limit': 2}, formatted=True)

The search and write methods were tested with all methods allowed on the External API Documentation from Odoo website and the write() and search() methods can work with any methods from any models existing on Odoo instance

To test any methods using unittest

  • Download or clone this repository
  • Edit the attributes from the DummieData class (find this class on tests/unittests.py)
  • run the follow command on the root directory.
$ python -m unittest -v tests/unittest.py

This is all, very very easy and friendly to work with Odoo from any Pyhton project using this library.

Releases notes:

  • 1.0.0: Initial version
  • 1.0.1: README.md updated
  • 1.0.2: Bugs fixed related with the encoding defined on the ServerProxy connection.
  • 1.0.3: README.md updated.

Metadata

Release files for odoo-connector-2 1.0.5

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for odoo-connector-2 1.0.5
File Size Uploaded
odoo_connector_2-1.0.5.tar.gz 4.4 kB Details

Release files / odoo_connector_2-1.0.5.tar.gz

Download URL odoo_connector_2-1.0.5.tar.gz
Size 4.4 kB
Tags Source
SHA-256 checksum
How to use checksums
2d2613736b2b0f0354aff1d77de7b37fad257b8c1d00e228bb74c18ea562bb36
BLAKE2b-256 checksum
How to use checksums
4deaa1663dc6a8a9472eea662d9557d00b02c2a1a635b849c3356e1245224ce4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/40.4.2 requests-toolbelt/0.8.0 tqdm/4.26.0 CPython/3.6.3
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page