An Odoo launcher that discovers addons automatically
Odoo server startup scripts that discover Odoo addons automatically without the need of the --addons-path option. They work by looking at addons in the odoo_addons namespace package.
odoo-autodiscover is for Odoo 8 and 9
As from Odoo 10, autodiscovery is built in Odoo, which looks for addons in all locations of the odoo.addons namespace package, in addition to the explicit –addons-path option.
The following thin wrappers around official Odoo startup scripts are provided:
These scripts have exactly the same behaviour and options as their official Odoo counterparts, except they look for additional addons by examining all distributions providing the odoo_addons namespace package.
The following commands install Odoo 8.0 nightly, then install base_import_async pulling all required dependencies automatically (ie connector).
It uses pre-built wheel packages for all OCA addons from https://wheelhouse.odoo-community.org.
# create and activate a virtualenv virtualenv venv . ./venv/bin/activate # install Odoo 8.0 nightly pip install -r https://raw.githubusercontent.com/odoo/odoo/8.0/requirements.txt pip install https://nightly.odoo.com/8.0/nightly/src/odoo_8.0.latest.zip # install odoo-autodiscover pip install odoo-autodiscover # install base_import_async from wheelhouse.odoo-community.org pip install odoo-addon-base_import_async --find-links=https://wheelhouse.odoo-community.org/oca-8.0 # start odoo openerp-server-autodiscover
Should you like to have an Odoo shell, simply pip install the module:
pip install odoo-addon-shell --find-links=https://wheelhouse.odoo-community.org/oca-8.0 odoo-autodiscover.py shell
To view addon packages that are installed in your virtualenv, simply use pip list | grep odoo-addon- (note official addons are part of the odoo package).
Since it’s not possible to make openerp.addons a namespace package (because openerp/__init__.py contains code), we use a pseudo-package named odoo_addons for the sole purpose of discovering addons installed with setuptools in that namespace. odoo_addons is not intended to be imported as the Odoo import hook will make sure all addons can be imported from openerp.addons as usual.
See https://pythonhosted.org/setuptools/pkg_resources.html for more information about namespace packages.
See https://github.com/odoo/odoo/pull/8758 to follow progress with making openerp.addons a namespace package, which will hopefully make this package obsolete in the future.
- Stéphane Bidoul (ACSONE)
Many thanks to Daniel Reis who cleared the path, and Laurent Mignon who convinced me it was possible to do it using standard Python setup tools and had the idea of the odoo_addons namespace package.
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
|File Name & Checksum SHA256 Checksum Help||Version||File Type||Upload Date|
|odoo_autodiscover-1.0.3-py27-none-any.whl (9.5 kB) Copy SHA256 Checksum SHA256||py27||Wheel||Sep 30, 2016|
|odoo-autodiscover-1.0.3.tar.gz (8.6 kB) Copy SHA256 Checksum SHA256||–||Source||Sep 30, 2016|