What needs to be done to create the 17.0 branches
Replace setup.py with pyproject.toml
This year I'd like to replace setup.py files with a pyproject.toml at the root of each addon, using setuptools-odoo's successor:
whool. This will get rid of most of the setup directory.
This is less intrusive, standards-based and necessary because setuptools-odoo relied on setuptools features that are being deprecated. There are a few pre-requisites for that:
Use ruff
If the community agrees, we could use ruff to improve pre-commit run performance:
PR here: OCA/oca-addons-repo-template#219
This can be done as a copier question in the addons repo template to switch between ruff and other linters.
Update pylint config
Usual tasks
See #537 for links to similar PRs for 16.0.
What needs to be done to create the 17.0 branches
Replace setup.py with pyproject.toml
This year I'd like to replace
setup.pyfiles with apyproject.tomlat the root of each addon, using setuptools-odoo's successor:whool. This will get rid of most of the
setupdirectory.This is less intrusive, standards-based and necessary because setuptools-odoo relied on setuptools features that are being deprecated. There are a few pre-requisites for that:
whool-initpre-commit hook to generate pyproject.toml files, in place ot thesetuptools-odoo-makedefaulthook - @sbidoul, part ofwhoolrequirements.txtin a manner that is independent of setuptools - @sbidoul - Add pre-commit hook to generate external dependencies (requirements.txt) #581.gitignoreignore*/buildand*/distdirectories - @sbidoul - Ignore build and dist directories in linters oca-addons-repo-template#215setup/_metapackagegenerator (this is an empty packages that has all addons of a repo as dependencies) which is currently part ofsetuptools-odoo-makedefault- @sbidoul - Addoca-gen-metapackagescript to generatesetup/_metapackage/pyproject.toml#583.Use ruff
If the community agrees, we could use ruff to improve pre-commit run performance:
.ruff.tomlat the repo root can replace.flake8and.isort.cfg.ruff-formatinstead ofblackPR here: OCA/oca-addons-repo-template#219
This can be done as a copier question in the addons repo template to switch between ruff and other linters.
Update pylint config
Usual tasks
See #537 for links to similar PRs for 16.0.