setuptools-odoo
A library to help package Odoo addons with setuptools
Decision gist · record as of 2026-08-14
Yes, if you are actively maintaining Odoo addons for versions 8–16 and need to package them for distribution. Install friction is low and maintenance is active. However, be aware the project is deprecated: for new projects, evaluate whool (single addons) or hatch-odoo (complete projects) first. The LGPLv3 copyleft license requires you to license derivative works the same way.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Odoo 8–16 to be installed in your environment.
- For Odoo 8–10, odoo-autodiscover must also be installed.
- Project structure must follow Odoo conventions (odoo/addons/<addon_name>/__manifest__.py for Odoo ≥11, or odoo_addons/<addon_name>/__openerp__.py for Odoo 8–9).
License · maintenance · safety
LGPLv3 (copyleft) — Licensed under LGPLv3 (copyleft). Derivative works and distributions must preserve the same license terms and provide source code access.
last release 2026-02-09 (186 days) · last repo commit 2026-08-10 · 47 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 131,111 downloads/mo, #11,605 on PyPI
Alternatives
Verify before relying
# In your Odoo addon's setup.py:
import setuptools
setuptools.setup(
setup_requires=['setuptools-odoo'],
odoo_addon=True,
)
# Then: pip install -e .- Whether the deprecation in favor of whool and hatch-odoo affects ongoing support or bug fixes.
- Compatibility details with Odoo versions 8–16 and any known limitations per version.
What it is and what it does
Setuptools-odoo is a setuptools plugin that bridges Odoo addon development and Python packaging infrastructure. It reads Odoo manifest files (__manifest__.py or __openerp__.py) and automatically populates setup.py keywords—name, version, description, dependencies, and more—eliminating manual boilerplate. This allows developers to package and distribute Odoo addons using standard Python tools (pip, wheel, PyPI) rather than Odoo's native mechanisms.
The package supports both single-addon and multi-addon project layouts across Odoo versions 8 through 16, with version-specific namespace handling (odoo.addons for Odoo 10+, odoo_addons for Odoo 8–9). It automatically resolves dependencies on Odoo itself and other addons, excluding official Community and Enterprise addons which are satisfied by the Odoo distribution. However, the project is now deprecated; maintainers recommend whool for individual addons and hatch-odoo for complete projects.
Use it for
- Package a single Odoo addon for distribution on PyPI so other developers can install it via pip.
- Build wheels for Odoo addons to speed up deployment in production environments.
- Manage multi-addon projects for a specific customer where addons are not intended for external reuse.
- Automate dependency resolution between Odoo addons and external Python libraries during packaging.
- Integrate Odoo addon packaging into CI/CD pipelines using standard Python build tools.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you are actively maintaining Odoo addons for versions 8–16 and need to package them for distribution.
Install friction is low and maintenance is active. However, be aware the project is deprecated: for new projects, evaluate whool (single addons) or hatch-odoo (complete projects) first. The LGPLv3 copyleft license requires you to license derivative works the same way.
Install
setuptools-odoo on PyPI
Before you install
Low install friction with just two runtime dependencies (setuptools and setuptools_scm). Active maintenance with a recent release; last commit was 2026-08-10. However, the project is progressively being deprecated in favor of whool and hatch-odoo.
Requires Odoo 8–16 to be installed in your environment. For Odoo 8–10, odoo-autodiscover must also be installed. Project structure must follow Odoo conventions (odoo/addons/<addon_name>/__manifest__.py for Odoo ≥11, or odoo_addons/<addon_name>/__openerp__.py for Odoo 8–9).
License in practice
Licensed under LGPLv3 (copyleft). Derivative works and distributions must preserve the same license terms and provide source code access.
Quickstart
# In your Odoo addon's setup.py:
import setuptools
setuptools.setup(
setup_requires=['setuptools-odoo'],
odoo_addon=True,
)
# Then: pip install -e .
Verify before relying
- Whether the deprecation in favor of whool and hatch-odoo affects ongoing support or bug fixes.
- Compatibility details with Odoo versions 8–16 and any known limitations per version.
Package facts
| License | LGPLv3 copyleft |
| Python support | Supports the current Python release !=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,>=2.7 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 2 packagessetuptoolssetuptools_scm |
| Maintenance | Actively maintained 186 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 131,111 / month, #11,605 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 5 - Production/StableFramework :: OdooIntended Audience :: DevelopersLicense :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)Operating System :: POSIXProgramming Language :: Python |
Evidence: setuptools_odoo-3.3.2-py2.py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “setuptools odoo integration”
- setuptools-odooSetuptools-odoo automates packaging of Odoo addons by extracting…
- OdooRPCOdooRPC is a Python client library that connects to Odoo servers via…
- pytest-odoopytest-odoo is a pytest plugin that runs Odoo addon tests using…
Give your agent the search over MCP, or paste the wish link into any chat.
More Build Tools packages
Provides reusable utilities for Python packaging interoperability, including version handling, specifiers, markers, requirements, tags, and metadata parsing according to standards like PEP 440 and PEP 425.
Wraps any iterable to display a real-time progress bar in the terminal or Jupyter notebook, showing iteration count, elapsed time, and estimated time remaining.
pip is the standard installer for Python packages, enabling you to download and install packages from the Python Package Index and other indexes into your Python environment.
Hatchling is a standards-compliant Python build backend that handles packaging, metadata, and distribution of Python projects when configured in a project's pyproject.toml file.
Generates Python gRPC service stubs and message classes from Protocol Buffer definitions, enabling developers to build gRPC clients and servers.
pre-commit is a framework for installing and running git hooks written in any language before commits are made, automating code quality and validation checks across multi-language projects.
Install it if your team needs consistent, automated validation at commit time.
See also manifestoo-core · setuptools-git · whool · setuptools-dso · setupmeta · odoo-test-helper · pytest-odoo · setuptools-git-versioning · ERPpeek · openupgradelib