Skip to main content

dodoo load subcommand

Project description

License: LGPL-3

dodoo-loader is a set of useful Odoo maintenance functions. They are available as CLI scripts (based on dodoo), as well as composable python functions.


Usage: dodoo-loader [OPTIONS]

  Loads data into an Odoo Database.

  Supply data by file or stream in a supported format and load it into a
  local or remote Odoo database.


  • Detects model-level dependency on related fields and record-level
  dependencies in tree-like tables (hierarchies). Cares to load everything
  in the correct order*.

  • Supported formats: JSON, CSV, XLS & XLSX

  • Logs success to --out. Next runs deduplicate based on those logs.

  • [TBD] Can trigger onchange as if data was entered through forms.

  Note: record-level dependency detection only works with parent columns
  ending in /.id (db ID) or /id (ext ID). Either one must match the
  principal id or .id column (to which it refers).

  Note: For UX and security reasons, nested semantics (as in Odoo) are not
  supported as they usually are undeterministic (lack of identifier on the
  nested levels). That's too dangerous for ETL.

  -f, --file FILENAME         Path to the file, that you want to load. You can
                              specify this option multiple times for more than
                              one file to load.
  -s, --stream TEXT...        [stream type model] Stream, you want to load.
                              `type` can be csv or json. `model` can be any
                              odoo model availabe in env. You can specify this
                              option multiple times for more than one stream
                              to load.
  --onchange / --no-onchange  [TBD] Trigger onchange methods as if data was
                              entered through normal form views.  [default:
  --batch INTEGER             The batch size. Records are cut-off for
                              iteration after so many records.  [default: 50]
  --out FILENAME              Log success into a json file.  [default:
  --logfile FILE              Specify the log file.
  -d, --database TEXT         Specify the database name. If present, this
                              parameter takes precedence over the database
                              provided in the Odoo configuration file.
  --log-level TEXT            Specify the logging level. Accepted values
                              depend on the Odoo version, and include debug,
                              info, warn, error.  [default: info]
  -c, --config FILE           Specify the Odoo configuration file. Other ways
                              to provide it are with the ODOO_RC or
                              OPENERP_SERVER environment variables, or
                              ~/.odoorc (Odoo >= 10) or ~/.openerp_serverrc.
  --help                      Show this message and exit.



  • David Arnold (XOE)


XOE Corps. SAS


Future (?)

  • Flatten out nested data

  • More tests

0.6.5 (2019-05-05)

  • Simplify repo structure

  • Fix package namespace issues

  • Fix issue with future str type

0.5.2 (2018-12-05)

  • Add addons-path option

0.0.3 (2018-10-25)

  • Green tests from 8.0 to master

0.0.2 (2018-10-12)

  • Initial alpha

  • 17% test coverage

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

dodoo-loader-0.6.5.tar.gz (39.7 kB view hashes)

Uploaded source

Built Distribution

dodoo_loader-0.6.5-py2.py3-none-any.whl (12.7 kB view hashes)

Uploaded py2 py3

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