Skip to main content

A tool to reason about Odoo addons manifests

Project description

Manifestoo

Github-CI Coverage Status PyPI

A tool to reason about Odoo addons manifests.

Installation

Using pipx (recommended):

pipx install manifestoo

Using pip:

pip install --user manifestoo

Features

Manifestoo is a command line tool that provides the following features:

  • listing addons,
  • listing direct and transitive dependencies of selected addons,
  • listing direct and transitive co-dependencies of selected addons,
  • listing core Odoo CE and EE addons,
  • listing external dependencies,
  • listing missing dependencies,
  • displaying the dependency tree,
  • checking license compatibility,
  • checking development status compatibility.

For a full list of commands an options, run manifestoo --help.

For more information, read the documentation.

Quick start

Let's create a directory (/tmp/myaddons) containing addons a, b and c, where a depends on b and c, and b and c respectively depend on the contacts and mail core Odoo modules.

Using bash you can do it like this:

mkdir -p /tmp/myaddons/{a,b,c}
echo '{"name": "A", "version": "14.0.1.0.0", "depends": ["b", "c"], "license": "GPL-3"}' > /tmp/myaddons/a/__manifest__.py
echo '{"name": "B", "version": "14.0.1.0.0", "depends": ["crm"], "license": "Other Proprietary"}' > /tmp/myaddons/b/__manifest__.py
echo '{"name": "C", "version": "14.0.1.0.0", "depends": ["mail"], "license": "LGPL-3"}' > /tmp/myaddons/c/__manifest__.py

The manifestoo list command is useful to list all installable addons in a directory. This can be useful to install them all at once, for instance.

$ manifestoo --select-addons-dir /tmp/myaddons list
a
b
c

The list-depends command shows the direct dependencies. It is handy to pre-install a database before running tests.

$ manifestoo -d /tmp/myaddons list-depends --separator=,
crm,mail

The list-codepends command shows the transitive co-dependencies. It is handy to know which modules are impacted by changes in selected modules.

$ manifestoo --addons-path /tmp/myaddons --select a list-codepends --separator=,
b,c

You can explore the dependency tree of module a like this:

$ manifestoo --addons-path /tmp/myaddons --select a tree
a (14.0.1.0.0)
├── b (14.0.1.0.0)
│   └── contacts (14.0+c)
│       └── mail (14.0+c)
│           ├── base_setup (14.0+c)
│           │   └── web (14.0+c)
│           ├── bus (14.0+c)
│           │   └── web ⬆
│           └── web_tour (14.0+c)
│               └── web ⬆
└── c (14.0.1.0.0)
    └── mail ⬆

To check that licenses are compatibles, use the check-licenses command:

$ moo -d /tmp/myaddons check-licenses
a (GPL-3) depends on b (Other Proprietary)

And much more... See the documentation for more information.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

manifestoo-0.4.2.tar.gz (38.1 kB view details)

Uploaded Source

Built Distribution

manifestoo-0.4.2-py3-none-any.whl (47.7 kB view details)

Uploaded Python 3

File details

Details for the file manifestoo-0.4.2.tar.gz.

File metadata

  • Download URL: manifestoo-0.4.2.tar.gz
  • Upload date:
  • Size: 38.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-requests/2.26.0

File hashes

Hashes for manifestoo-0.4.2.tar.gz
Algorithm Hash digest
SHA256 5c7cfc6597d0c4741b3e2445bfe876f7079fec95f88019b178d2b157881b96d2
MD5 a5dd3a3fa3d74663f88f3570ea4f6cda
BLAKE2b-256 ae0eda856930b68b5e0c01e65d838c2d7e618f85c2072c09efa61b0ccb719aa2

See more details on using hashes here.

File details

Details for the file manifestoo-0.4.2-py3-none-any.whl.

File metadata

  • Download URL: manifestoo-0.4.2-py3-none-any.whl
  • Upload date:
  • Size: 47.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-requests/2.26.0

File hashes

Hashes for manifestoo-0.4.2-py3-none-any.whl
Algorithm Hash digest
SHA256 c97013d5ec9ef10a9a12c68f0d3e4a63168a6b3615312ac73f218fdb171190c6
MD5 129f326c3dd8c41fcd790789092dd831
BLAKE2b-256 fbc8d2e3ff414122a6dca9ba6e5e3da1b534182dbcf970aed590ee26dfda801b

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page