How initos/odoo-analyse works
odoo-analyse is a command-line tool and Python library for inspecting Odoo addon modules, caching their analysis, filtering results, and producing reports and dependency/structure graphs. The main workflow is: provide addon paths or cached JSON, discover and parse modules, optionally query or estimate installation state and apply filters, then save analysis or render graphs. The graph separates orchestration, addon parsing, and output. Source excerpts are partial, so uncertain internal wiring is omitted; documented capabilities without sampled implementation are represented at the Odoo orchestration level.
Main entry points: odoo.py Odoo coordinator · __main__.py CLI · module.py Module discovery · model.py Python models
Components 16
Entry and orchestration
- CLI
src/odoo_analyse/__main__.py - Odoo coordinator
src/odoo_analyse/odoo.py
Addon analysis
- Module discovery
src/odoo_analyse/module.py - Python models
src/odoo_analyse/model.py - XML records and views
src/odoo_analyse/record.py - JavaScript modules
src/odoo_analyse/js_module.py - Analysis utilities
src/odoo_analyse/utils.py
Filtering and results
- Module inventory
src/odoo_analyse/module.py - Filters and state
src/odoo_analyse/odoo.py - Analysis and graphs
src/odoo_analyse/odoo.py
External systems
- JSON cache
- Addon files
- Odoo database
- Graphviz renderer
- Report output
Other components
- CLI user
Connections 20
- CLI user → CLI: runs
- CLI → Odoo coordinator: configures
- CLI → Odoo coordinator: dispatches options
- CLI → Addon files: selects paths
- Odoo coordinator → Module discovery: discovers modules
- Module discovery → Addon files: reads files
- Module discovery → Python models: parses Python
- Module discovery → XML records and views: parses XML
- Module discovery → JavaScript modules: parses assets
- Module discovery → Analysis utilities: measures language
- Module discovery → Module inventory: builds inventory
- CLI → Odoo coordinator: loads cache
- Odoo coordinator → JSON cache: reads or writes JSON
- CLI → Odoo coordinator: requests state
- Odoo coordinator → Odoo database: queries installation
- Odoo coordinator → Filters and state: filters or estimates
- CLI → Odoo coordinator: requests reports
- Odoo coordinator → Analysis and graphs: builds analysis and graphs
- Analysis and graphs → Report output: writes report
- Analysis and graphs → Graphviz renderer: renders graphs