Adding project files for allowing direct pip installation
oyale opened this issue · comments
Firstly, thank you for your remarkable work on Odoo community, including your blog and your add-ons, especially for releasing them under an open-source license.
Our deployment strategy at @coopdevs prefers using pip
to install Python modules, including Odoo add-ons. pip
can install modules via git, but this requires a specific configuration file in the repository. So this work was done to fit our needs, but since it's a standard process, we're creating this issue in case you find it interesting to include it in your repository.
We package add-ons by running a few commands with setuptools-odoo
for add-ons until v16.0, and using whool
for =>17.0
The setuptools-odoo
method generates a setup
folder with a setup.py
file and symbolic links for each add-on, requiring no further maintenance.
The whool
method is even less intrusive, only requiring a pyproject.toml
file at the root of every add-on.
This would enable direct installation of CybroAddons with pip, using the git format:
pip install git+https://github.com/CybroOdoo/CybroAddons/@<branch>#egg=odooXX-addon-<module_name>&subdirectory=<setup_folder_path>
For example:
pip install "git+https://github.com/coopdevs/CybroAddons/@14.0#egg=odoo14-addon-login_user_detail&subdirectory=setup/login_user_detail"
I have applied this process to branches from 12.0 to 17.0, addressing minor versioning issues in __manifest__.py
. These are in separate commits.
I've already created a PR (#299) for branch 16.0
; If you are open to integrating these changes into your repository, I can create pull requests for the other branches.
Furthermore, with this change, adding some CI for auto-publishing add-ons in pypi.org should be trivial.
Regards,
Pelayo.