Odooly


NameOdooly JSON
Version 2.4.2 PyPI version JSON
download
home_pagehttp://odooly.readthedocs.org/
SummaryVersatile tool for browsing Odoo / OpenERP data
upload_time2025-10-07 21:48:28
maintainerNone
docs_urlNone
authorFlorent Xicluna
requires_pythonNone
licenseBSD-3-Clause
keywords odoo openerp xml-rpc xmlrpc jsonrpc
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            =========================================================
Odooly, a versatile tool for browsing Odoo / OpenERP data
=========================================================

Download and install the latest release::

    pip install -U odooly

.. contents::
   :local:
   :backlinks: top

Documentation and tutorial: https://odooly.readthedocs.io/


Overview
--------

Odooly carries three modes of use:

(1) with command line arguments
(2) as an interactive shell
(3) as a client library


Key features:

- provides an API similar to Odoo Model, through Webclient API
- compatible with OpenERP 6.1 through Odoo 19.0
- supports external APIs JSON-RPC and XML-RPC as alternative
- single file ``odooly.py``, no external dependency
- helpers for ``search``, for data model introspection, etc...
- simplified syntax for search ``domain``
- entire API accessible on the ``Client.env`` environment
- can be imported and used as a library: ``from odooly import Client``
- supports Python 3.6 and more recent



.. _command-line:

Command line arguments
----------------------

There are few arguments to query Odoo models from the command line.
Although it is quite limited::

    $ odooly --help

    Usage: odooly.py [options] [search_term_or_id [search_term_or_id ...]]

    Inspect data on Odoo objects.  Use interactively or query a model (-m) and
    pass search terms or ids as positional parameters after the options.

    Options:
      --version             show program's version number and exit
      -h, --help            show this help message and exit
      -l, --list            list sections of the configuration
      --env=ENV             read connection settings from the given section
      -c CONFIG, --config=CONFIG
                            specify alternate config file (default: 'odooly.ini')
      --server=SERVER       full URL of the server (default:
                            http://localhost:8069/web)
      -d DB, --db=DB        database
      -u USER, --user=USER  username
      -p PASSWORD, --password=PASSWORD
                            password, or it will be requested on login
      --api-key=API_KEY     API Key for JSON2 or JSON-RPC/XML-RPC

      -m MODEL, --model=MODEL
                            the type of object to find
      -f FIELDS, --fields=FIELDS
                            restrict the output to certain fields (multiple
                            allowed)
      -i, --interact        use interactively; default when no model is queried
      -v, --verbose         verbose
    $ #


Example::

    $ odooly -d demo -m res.partner -f name -f lang 1
    "name","lang"
    "Your Company","en_US"

::

    $ odooly -d demo -m res.groups -f full_name 'id > 0'
    "full_name"
    "Administration / Access Rights"
    "Administration / Configuration"
    "Human Resources / Employee"
    "Usability / Multi Companies"
    "Usability / Extended View"
    "Usability / Technical Features"
    "Sales Management / User"
    "Sales Management / Manager"
    "Partner Manager"



.. _interactive-mode:

Interactive use
---------------

Launch directly, without any configuration.  It connects to the Odoo server, local or remote::

    $ odooly --server http://127.0.0.1:8069/


Environments can also be declared in ``odooly.ini``::

    [DEFAULT]
    scheme = http
    host = localhost
    port = 8069
    database = odoo
    username = admin

    [demo]
    username = demo
    password = demo
    protocol = web

    [demo_jsonrpc]
    username = demo
    password = demo
    protocol = jsonrpc

    [local]
    scheme = local
    options = -c /path/to/odoo-server.conf --without-demo all


Connect to the Odoo server::

    odooly --list
    odooly --env demo


This is a sample session::

    >>> env['res.users']
    <Model 'res.users'>
    >>> env['res.users'].search_count()
    4
    >>> crons = env['ir.cron'].with_context(active_test=False).search([])
    >>> crons.read('active name')
    [{'active': True, 'id': 5, 'name': 'Calendar: Event Reminder'},
     {'active': False, 'id': 4, 'name': 'Mail: Fetchmail Service'}]
    >>> #
    >>> env.modules('delivery')
    {'uninstalled': ['delivery', 'website_sale_delivery']}
    >>> env.upgrade('base')
    1 module(s) selected
    42 module(s) to process:
      to upgrade    account
      to upgrade    account_chart
      to upgrade    account_tax_include
      to upgrade    base
      ...
    >>> #


.. note::

   Use the ``--verbose`` switch to see what happens behind the scene.
   Lines are truncated at 79 chars.  Use ``-vv`` or ``-vvv`` to print
   more.


.. note::

   To preserve the commands' history when closing the session, first
   create an empty file in your home directory:
   ``touch ~/.odooly_history``

            

Raw data

            {
    "_id": null,
    "home_page": "http://odooly.readthedocs.org/",
    "name": "Odooly",
    "maintainer": null,
    "docs_url": null,
    "requires_python": null,
    "maintainer_email": null,
    "keywords": "odoo openerp xml-rpc xmlrpc jsonrpc",
    "author": "Florent Xicluna",
    "author_email": "florent.xicluna@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/eb/49/e0f2c0264ebc729cb136bcd335cd040de7f91a74e4267c8f054190b69a5f/odooly-2.4.2.tar.gz",
    "platform": "any",
    "description": "=========================================================\nOdooly, a versatile tool for browsing Odoo / OpenERP data\n=========================================================\n\nDownload and install the latest release::\n\n    pip install -U odooly\n\n.. contents::\n   :local:\n   :backlinks: top\n\nDocumentation and tutorial: https://odooly.readthedocs.io/\n\n\nOverview\n--------\n\nOdooly carries three modes of use:\n\n(1) with command line arguments\n(2) as an interactive shell\n(3) as a client library\n\n\nKey features:\n\n- provides an API similar to Odoo Model, through Webclient API\n- compatible with OpenERP 6.1 through Odoo 19.0\n- supports external APIs JSON-RPC and XML-RPC as alternative\n- single file ``odooly.py``, no external dependency\n- helpers for ``search``, for data model introspection, etc...\n- simplified syntax for search ``domain``\n- entire API accessible on the ``Client.env`` environment\n- can be imported and used as a library: ``from odooly import Client``\n- supports Python 3.6 and more recent\n\n\n\n.. _command-line:\n\nCommand line arguments\n----------------------\n\nThere are few arguments to query Odoo models from the command line.\nAlthough it is quite limited::\n\n    $ odooly --help\n\n    Usage: odooly.py [options] [search_term_or_id [search_term_or_id ...]]\n\n    Inspect data on Odoo objects.  Use interactively or query a model (-m) and\n    pass search terms or ids as positional parameters after the options.\n\n    Options:\n      --version             show program's version number and exit\n      -h, --help            show this help message and exit\n      -l, --list            list sections of the configuration\n      --env=ENV             read connection settings from the given section\n      -c CONFIG, --config=CONFIG\n                            specify alternate config file (default: 'odooly.ini')\n      --server=SERVER       full URL of the server (default:\n                            http://localhost:8069/web)\n      -d DB, --db=DB        database\n      -u USER, --user=USER  username\n      -p PASSWORD, --password=PASSWORD\n                            password, or it will be requested on login\n      --api-key=API_KEY     API Key for JSON2 or JSON-RPC/XML-RPC\n\n      -m MODEL, --model=MODEL\n                            the type of object to find\n      -f FIELDS, --fields=FIELDS\n                            restrict the output to certain fields (multiple\n                            allowed)\n      -i, --interact        use interactively; default when no model is queried\n      -v, --verbose         verbose\n    $ #\n\n\nExample::\n\n    $ odooly -d demo -m res.partner -f name -f lang 1\n    \"name\",\"lang\"\n    \"Your Company\",\"en_US\"\n\n::\n\n    $ odooly -d demo -m res.groups -f full_name 'id > 0'\n    \"full_name\"\n    \"Administration / Access Rights\"\n    \"Administration / Configuration\"\n    \"Human Resources / Employee\"\n    \"Usability / Multi Companies\"\n    \"Usability / Extended View\"\n    \"Usability / Technical Features\"\n    \"Sales Management / User\"\n    \"Sales Management / Manager\"\n    \"Partner Manager\"\n\n\n\n.. _interactive-mode:\n\nInteractive use\n---------------\n\nLaunch directly, without any configuration.  It connects to the Odoo server, local or remote::\n\n    $ odooly --server http://127.0.0.1:8069/\n\n\nEnvironments can also be declared in ``odooly.ini``::\n\n    [DEFAULT]\n    scheme = http\n    host = localhost\n    port = 8069\n    database = odoo\n    username = admin\n\n    [demo]\n    username = demo\n    password = demo\n    protocol = web\n\n    [demo_jsonrpc]\n    username = demo\n    password = demo\n    protocol = jsonrpc\n\n    [local]\n    scheme = local\n    options = -c /path/to/odoo-server.conf --without-demo all\n\n\nConnect to the Odoo server::\n\n    odooly --list\n    odooly --env demo\n\n\nThis is a sample session::\n\n    >>> env['res.users']\n    <Model 'res.users'>\n    >>> env['res.users'].search_count()\n    4\n    >>> crons = env['ir.cron'].with_context(active_test=False).search([])\n    >>> crons.read('active name')\n    [{'active': True, 'id': 5, 'name': 'Calendar: Event Reminder'},\n     {'active': False, 'id': 4, 'name': 'Mail: Fetchmail Service'}]\n    >>> #\n    >>> env.modules('delivery')\n    {'uninstalled': ['delivery', 'website_sale_delivery']}\n    >>> env.upgrade('base')\n    1 module(s) selected\n    42 module(s) to process:\n      to upgrade    account\n      to upgrade    account_chart\n      to upgrade    account_tax_include\n      to upgrade    base\n      ...\n    >>> #\n\n\n.. note::\n\n   Use the ``--verbose`` switch to see what happens behind the scene.\n   Lines are truncated at 79 chars.  Use ``-vv`` or ``-vvv`` to print\n   more.\n\n\n.. note::\n\n   To preserve the commands' history when closing the session, first\n   create an empty file in your home directory:\n   ``touch ~/.odooly_history``\n",
    "bugtrack_url": null,
    "license": "BSD-3-Clause",
    "summary": "Versatile tool for browsing Odoo / OpenERP data",
    "version": "2.4.2",
    "project_urls": {
        "Homepage": "http://odooly.readthedocs.org/"
    },
    "split_keywords": [
        "odoo",
        "openerp",
        "xml-rpc",
        "xmlrpc",
        "jsonrpc"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "e3b99cc6e3b83b9de5ab0c47a08891e7a506e6614e5a9de157f22063ffd56e44",
                "md5": "bb838e7bcad87a5f77ba13c0df70cd9f",
                "sha256": "bc59927c296606ed953c2821696c2ccdaeef2de7d11e1c64d3f2ae6dbdebed41"
            },
            "downloads": -1,
            "filename": "odooly-2.4.2-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "bb838e7bcad87a5f77ba13c0df70cd9f",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": null,
            "size": 29181,
            "upload_time": "2025-10-07T21:48:26",
            "upload_time_iso_8601": "2025-10-07T21:48:26.384267Z",
            "url": "https://files.pythonhosted.org/packages/e3/b9/9cc6e3b83b9de5ab0c47a08891e7a506e6614e5a9de157f22063ffd56e44/odooly-2.4.2-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "eb49e0f2c0264ebc729cb136bcd335cd040de7f91a74e4267c8f054190b69a5f",
                "md5": "9300bb7724045fb7ab5a4fbad9883c11",
                "sha256": "fbb34a5f85f4e8bb1b13f7f3b259743ff997f448fac211dc42a46b0bed7e8ed5"
            },
            "downloads": -1,
            "filename": "odooly-2.4.2.tar.gz",
            "has_sig": false,
            "md5_digest": "9300bb7724045fb7ab5a4fbad9883c11",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 60913,
            "upload_time": "2025-10-07T21:48:28",
            "upload_time_iso_8601": "2025-10-07T21:48:28.119853Z",
            "url": "https://files.pythonhosted.org/packages/eb/49/e0f2c0264ebc729cb136bcd335cd040de7f91a74e4267c8f054190b69a5f/odooly-2.4.2.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-10-07 21:48:28",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "odooly"
}
        
Elapsed time: 2.43391s