pymc-labs / pymc-marketing

Bayesian marketing toolbox in PyMC. Media Mix (MMM), customer lifetime value (CLV), buy-till-you-die (BTYD) models and more.
https://www.pymc-marketing.io/
Apache License 2.0
584 stars 137 forks source link

Missing module / class docstrings #689

Open wd60622 opened 1 month ago

wd60622 commented 1 month ago

Many of the modules and classes are missing docstrings which make the API section look bare and the appearance could be improved.

The top modules (mmm and clv) may require to be edited in the docs/source/api/index.md directly but others can be done by adding docstring at top of module or class.

top level API

docs-missing-module

clv module

docs-missing-modules-clv

wd60622 commented 1 month ago

Related to #367

OriolAbril commented 2 weeks ago

The main focus of the API docs initially was for them to be fully automated. It might be possible to change a bit how they look but if there is a clear vision of what they should look like they should be created manually (the one time and updated whenever a function is added/renamed/removed) so we have full control over how each page looks.

For reference, this is the template being used: https://github.com/pymc-labs/pymc-marketing/blob/main/docs/source/_templates/autosummary/module.rst; then all the API docs are is this single file: https://github.com/pymc-labs/pymc-marketing/blob/main/docs/source/api/index.md?plain=1. With the current structure, if we added a docstring to clv/__init__.py file, that would show in https://www.pymc-marketing.io/en/stable/api/generated/pymc_marketing.clv.html between the title and the listing of the modules.

Any change to be done to https://www.pymc-marketing.io/en/stable/api/index.html itself needs to be completely manual whatever the docs infrastructure though.