{"library":"setuptools-odoo","title":"setuptools-odoo","description":"setuptools-odoo is a Python library that extends setuptools to simplify packaging and distribution of Odoo addons. It handles specific Odoo addon file structures and metadata, ensuring that module manifest files, static assets, and other Odoo-specific components are correctly included in Python packages. The current version is 3.3.2, with a fairly active release cadence primarily for compatibility updates and core addon list refreshes.","language":"python","status":"active","last_verified":"Thu Apr 16","install":{"commands":["pip install setuptools-odoo"],"cli":{"name":"setuptools-odoo","version":"sh: 1: setuptools-odoo: not found"}},"imports":["from setuptools_odoo import find_packages","from setuptools_odoo.dist import OdooDistribution"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"# pyproject.toml\n[build-system]\nrequires = [\"setuptools>=61.0.0\", \"setuptools-odoo~=3.3.0\", \"wheel\"]\nbuild-backend = \"setuptools.build_meta\"\n\n[project]\nname = \"my_odoo_addon\"\nversion = \"1.0.0\"\ndescription = \"My custom Odoo addon\"\nauthors = [\n    {name = \"Your Name\", email = \"your@example.com\"}\n]\nreadme = \"README.md\"\nlicense = {text = \"MIT\"}\nrequires-python = \">=3.8\"\nclassifiers = [\n    \"Framework :: Odoo\",\n    \"Framework :: Odoo :: 16.0\",\n    \"License :: OSI Approved :: MIT License\",\n    \"Programming Language :: Python :: 3.8\",\n    \"Programming Language :: Python :: 3.9\",\n    \"Programming Language :: Python :: 3.10\"\n]\ndependencies = [\n    # Add your Odoo module dependencies here, e.g., 'odoo>=16.0.0'\n]\n\n# setup.py (optional, but needed for specific Odoo options)\nimport setuptools\nfrom setuptools_odoo import find_packages, OdooDistribution\n\nif __name__ == '__main__':\n    setuptools.setup(\n        name=\"my_odoo_addon\",\n        version=\"1.0.0\", # Should match pyproject.toml\n        distclass=OdooDistribution,\n        packages=find_packages(),\n        include_package_data=True,\n        odoo_addons=True, # Enable Odoo addon specific packaging\n        # odoo_addon_dir='my_addon_dir', # Optional: if your addon is not at root\n        zip_safe=False,\n    )\n","lang":"python","description":"To package an Odoo addon with setuptools-odoo, you typically define your build system in `pyproject.toml` and optionally use a `setup.py` for advanced `setuptools-odoo` specific configurations. The example demonstrates setting up `build-system` requirements in `pyproject.toml` and a basic `setup.py` that utilizes `OdooDistribution` and `odoo_addons=True` to correctly package an Odoo module.","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":null}