odooapps/README.md
Niels Göttsch c15f90b09e
All checks were successful
wheelhouse / wheelhouse (push) Successful in 35s
[CI] add wheelhouse: publish addon wheels to Forgejo PyPI registry
Build a wheel per changed Odoo addon (whool backend, uv) on push to *.0
branches and publish to the Forgejo PyPI package registry. Versions use
whool's native ".N" post-version strategy so each push publishes without a
manual manifest bump. Adds README install instructions.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-08 21:45:27 +02:00

2.6 KiB

Support the OCA

madmooose OSS Odoo Apps

Pre-commit Status Build Status codecov

Open Source Odoo Apps i develop and maintain for projects of mine. Should be contributed to the OCA at some point.

Installation (wheelhouse)

Every push to a series branch (16.0, 17.0, …) builds a wheel for each changed addon and publishes it to this Forgejo instance's PyPI package registry (see .forgejo/workflows/wheelhouse.yml). Each module is published as odoo-addon-<module_name> and installs straight into Odoo's addons path.

Point pip/uv at the registry index (a read token is required for a private repo):

uv pip install \
  --index-url "https://<user>:<token>@git.ziemlichoptimal.de/api/packages/odoo/pypi/simple/" \
  odoo-addon-sale-order-batch

Or pin it in requirements.txt for a production deployment:

--extra-index-url https://<user>:<token>@git.ziemlichoptimal.de/api/packages/odoo/pypi/simple/
odoo-addon-sale-order-batch

Versions follow whool's .N post-version scheme: a manifest version of 16.0.2.4.3 is published as 16.0.2.4.3.<N>, where N increments with each commit to the addon. Pin an exact version for reproducible deploys, or omit the version to always get the latest build.

This part will be replaced when running the oca-gen-addons-table script from OCA/maintainer-tools.

Licenses

This repository is licensed under AGPL-3.0.

However, each module can have a totally different license, as long as they adhere to Niels Göttsch policy. Consult each module's __manifest__.py file, which contains a license key that explains its license.