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 core Odoo CE and EE addons,
  • listing external 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-depend 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

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.2.tar.gz (32.2 kB view details)

Uploaded Source

Built Distribution

manifestoo-0.2-py3-none-any.whl (38.1 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for manifestoo-0.2.tar.gz
Algorithm Hash digest
SHA256 03891d0d32a5a6c30f4d30e5f20c3821be6e6b8c291222d00f6f0a804766195c
MD5 07d6938cf4ba1fa2419262f34ae5985f
BLAKE2b-256 c124b73c003cb4f46caf811df326c87d446dc53831751a213c13b8db29571392

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for manifestoo-0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 a213dd7b1bc8997a8b59c5d39e68f9e7fd72cf86e4bf688d9b1b60e5f8d9e58a
MD5 e08536891fc057d3e633e9e162f9ce40
BLAKE2b-256 e8ca66d80fb943bc6b554c353cb2216fc65ee3757327453aae7b530a336c2307

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