Odoo Project Stats

odoo_project_stat
REPOSITORY
REPOSITORYOCA/module-composition-analysis
GIT
GIThttps://github.com/OCA/module-composition-analysis.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/module-composition-analysis/tree/16.0/odoo_project_stat
VERSION
VERSION 1.0.1
CATEGORY
CATEGORYTools
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Camptocamp
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Camptocamp
COMMITTERS
COMMITTERSSébastien Alix, Weblate, OCA-git-bot, oca-ci
WEBSITE
WEBSITEhttps://github.com/OCA/module-composition-analysis
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 19:12:08
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/connector:
    - component
OCA/module-composition-analysis:
    - odoo_project
    - odoo_repository
OCA/queue:
    - queue_job
OCA/server-tools:
    - base_time_window
OCA/web:
    - web_widget_plotly_chart
odoo/odoo:
    - base_sparse_field
    - base
    - mail
    - base_setup
    - web
    - bus
    - web_tour
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES gitpython
odoo-addons-parser
pyyaml
requests
cachetools
plotly==5.13.1
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
This module allows to generate and render some pie charts for your Odoo projects.

It consists of two pie charts on the project form view:

- number of installed modules
- number of lines of code

 Both measures are split based on some criteria (configurable), by default:
 - Odoo CE
 - Odoo Enterprise
 - OCA
 - Community (not OCA)
 - Specific code
 - Misc. (everything not part of other criteria above)

 Each criteria having a rendering color used on the charts.

 ![Project Pie Charts](./static/img/project_pie_charts.png)

Code Analysis

Views touched (2)
XML IDNameModelTypeStatus
odoo_project_stat_config_view_tree odoo.project.stat.config.tree odoo.project.stat.config tree New
odoo_project_view_form odoo.project.form.inherit odoo.project page Inherits odoo_project.odoo_project_view_form
Models touched (4)

New fields (3)
  • chart_modules_count Text
    compute='_compute_charts' string='Modules Chart'
  • chart_sloc Text
    compute='_compute_charts' string='Lines of Code Chart'
  • stats_ids One2many → odoo.project.stat
    comodel_name='odoo.project.stat' inverse_name='odoo_project_id'
Public methods (1)
  • action_generate_stats(self)

New fields (0)

No new fields.

Public methods (1)
  • action_import(self)

New fields (8)
  • color Char
    related='config_id.color'
  • config_id Many2one → odoo.project.stat.config
    comodel_name='odoo.project.stat.config' ondelete='restrict' readonly=True required=True string='Project Stat Configuration'
  • date Date
    index=True required=True
  • modules_count Integer
    readonly=True
  • name Char
    related='config_id.name' store=True
  • odoo_project_id Many2one → odoo.project
    comodel_name='odoo.project' index=True ondelete='cascade' readonly=True required=True string='Project'
  • sequence Integer
    related='config_id.sequence' store=True
  • sloc Integer
    readonly=True string='Lines of code'
Public methods (0)

No public methods.

New fields (5)
  • color Char
    required=True
  • domain Char
  • name Char
    required=True string='Title'
  • residual Boolean
    help="Will catch all modules that doesn't match other rules (domain field will be ignored if enabled)."
  • sequence Integer
    default=10
Public methods (0)

No public methods.