From ead504b5d6b20de9f000a3b0e5a643679a18e93e Mon Sep 17 00:00:00 2001 From: baugetfa Date: Fri, 6 Feb 2026 14:56:34 +0100 Subject: [PATCH 1/2] WIP basic documentation --- .readthedocs.yml | 4 ++-- doc/_dvlpt/modules.rst | 24 ++++++++++++++++++++---- doc/_dvlpt/openalea.core.rst | 17 ----------------- doc/index.rst | 4 ++-- doc/usage.rst | 6 ------ 5 files changed, 24 insertions(+), 31 deletions(-) diff --git a/.readthedocs.yml b/.readthedocs.yml index 134b6ace..2306f676 100644 --- a/.readthedocs.yml +++ b/.readthedocs.yml @@ -6,8 +6,8 @@ build: python: "mambaforge-22.9" conda: - environment: doc/environment.yml + environment: conda/environment.yml sphinx: # Path to your Sphinx configuration file. - configuration: doc/conf.py \ No newline at end of file + configuration: doc/conf.py diff --git a/doc/_dvlpt/modules.rst b/doc/_dvlpt/modules.rst index 8de55918..1dbbb07d 100644 --- a/doc/_dvlpt/modules.rst +++ b/doc/_dvlpt/modules.rst @@ -1,7 +1,23 @@ -src -=== +CORE's API +========== .. toctree:: - :maxdepth: 4 + :maxdepth: 4 + :caption: Contents: - openalea + openalea.core.algo.rst + openalea.core.control.rst + openalea.core.formatting.rst + openalea.core.graph.interface.rst + openalea.core.graph.rst + openalea.core.interpreter.rst + openalea.core.plugin.builtin.rst + openalea.core.plugin.formatting.rst + openalea.core.plugin.rst + openalea.core.project.formatting.rst + openalea.core.project.rst + openalea.core.scene.rst + openalea.core.service.rst + openalea.core.system.rst + openalea.core.world.rst + openalea.core.rst diff --git a/doc/_dvlpt/openalea.core.rst b/doc/_dvlpt/openalea.core.rst index 63dd2dc0..ddcd3716 100644 --- a/doc/_dvlpt/openalea.core.rst +++ b/doc/_dvlpt/openalea.core.rst @@ -1,23 +1,6 @@ openalea.core package ===================== -Subpackages ------------ - -.. toctree:: - - openalea.core.algo - openalea.core.control - openalea.core.formatting - openalea.core.graph - openalea.core.interpreter - openalea.core.plugin - openalea.core.project - openalea.core.scene - openalea.core.service - openalea.core.system - openalea.core.world - Submodules ---------- diff --git a/doc/index.rst b/doc/index.rst index fdf37c81..101ee59a 100644 --- a/doc/index.rst +++ b/doc/index.rst @@ -16,8 +16,8 @@ Contents :maxdepth: 1 Installation - Overview of different classes - Reference Guide<_dvlpt/modules.rst> + Usage + _dvlpt/modules.rst Indices and tables ================== diff --git a/doc/usage.rst b/doc/usage.rst index b20ac5a0..cd58f84d 100644 --- a/doc/usage.rst +++ b/doc/usage.rst @@ -44,9 +44,3 @@ that returns a list of nodes. To access to a particular node, use: The `floor` node exists in the `openalea.math` package. The node `floor` is managed through a :class:`NodeFactory`. - - - -.. topic:: Documentation status - - .. sectionauthor:: Thomas Cokelaer \ No newline at end of file From a63ae3b62533150a63a2486dfeacc1b0f74e201b Mon Sep 17 00:00:00 2001 From: baugetfa Date: Fri, 6 Feb 2026 15:08:32 +0100 Subject: [PATCH 2/2] fix some error in docstring --- doc/index.rst | 2 +- doc/user/autosum.rst | 539 -------------------------- src/openalea/core/plugin/__init__.py | 3 +- src/openalea/core/plugin/interface.py | 6 - src/openalea/core/plugin/manager.py | 5 +- 5 files changed, 6 insertions(+), 549 deletions(-) delete mode 100644 doc/user/autosum.rst diff --git a/doc/index.rst b/doc/index.rst index 101ee59a..19899fd7 100644 --- a/doc/index.rst +++ b/doc/index.rst @@ -17,7 +17,7 @@ Contents Installation Usage - _dvlpt/modules.rst + Reference Guide<_dvlpt/modules.rst> Indices and tables ================== diff --git a/doc/user/autosum.rst b/doc/user/autosum.rst deleted file mode 100644 index 89f4491b..00000000 --- a/doc/user/autosum.rst +++ /dev/null @@ -1,539 +0,0 @@ -.. _core_reference: - -Reference guide -############### -.. contents:: - -Class Inheritance diagram -========================= -.. .. inheritance-diagram:: openalea.core.actor -.. .. inheritance-diagram:: openalea.core.alea -.. .. inheritance-diagram:: #openalea.core.algo.dataflow.copy -.. .. inheritance-diagram:: #openalea.core.algo.dataflow.evaluation -.. .. inheritance-diagram:: openalea.core.category -.. .. inheritance-diagram:: openalea.core.cli -.. .. inheritance-diagram:: openalea.core.compositenode -.. .. inheritance-diagram:: openalea.core.data -.. .. inheritance-diagram:: openalea.core.dataflow -.. .. inheritance-diagram:: openalea.core.datapool -.. .. inheritance-diagram:: #openalea.core.export.app -.. .. inheritance-diagram:: openalea.core.graph.graph -.. .. inheritance-diagram:: #openalea.core.graph.id.generator -.. .. inheritance-diagram:: openalea.core.graph.interface.graph -.. .. inheritance-diagram:: openalea.core.graph.interface.graphconcept -.. .. inheritance-diagram:: openalea.core.graph.interface.latticeconcept -.. .. inheritance-diagram:: #openalea.core.graph.interface.port.graph -.. .. inheritance-diagram:: #openalea.core.graph.interface.property.graph -.. .. inheritance-diagram:: openalea.core.graph.interface.treeconcept -.. .. inheritance-diagram:: #openalea.core.graph.property.graph -.. .. inheritance-diagram:: openalea.core.interface -.. .. inheritance-diagram:: openalea.core.metaclass -.. .. inheritance-diagram:: openalea.core.node -.. .. inheritance-diagram:: openalea.core.observer -.. .. inheritance-diagram:: openalea.core.package -.. .. inheritance-diagram:: openalea.core.path -.. .. inheritance-diagram:: openalea.core.pkgdict -.. .. inheritance-diagram:: openalea.core.pkgmanager -.. .. inheritance-diagram:: openalea.core.session -.. .. inheritance-diagram:: openalea.core.settings -.. .. inheritance-diagram:: openalea.core.signature -.. .. inheritance-diagram:: openalea.core.singleton -.. .. inheritance-diagram:: openalea.core.system.systemnodes -.. .. inheritance-diagram:: openalea.core.threadmanager -.. .. inheritance-diagram:: openalea.core.traitsui -.. .. inheritance-diagram:: openalea.core.vlab - -.. currentmodule:: openalea.core.actor - -:mod:`openalea.core.actor` module -================================= - -Download the source file :download:`../../src/core/actor.py`. - - -.. automodule:: openalea.core.actor - :members: - :undoc-members: - :inherited-members: - :show-inheritance: - :synopsis: This module provides an actor interface - - -.. currentmodule:: openalea.core.alea - -:mod:`openalea.core.alea` module -================================ - -Download the source file :download:`../../src/core/alea.py`. - - -.. automodule:: openalea.core.alea - :members: - :undoc-members: - :inherited-members: - :show-inheritance: - :synopsis: a script to run alea dataflow and scripts - - -.. currentmodule:: openalea.core.category - -:mod:`openalea.core.category` module -==================================== - -Download the source file :download:`../../src/core/category.py`. - - -.. automodule:: openalea.core.category - :members: - :undoc-members: - :inherited-members: - :show-inheritance: - :synopsis: This module defines category keywords to be used within wrale... - - -.. currentmodule:: openalea.core.cli - -:mod:`openalea.core.cli` module -=============================== - -Download the source file :download:`../../src/core/cli.py`. - - -.. automodule:: openalea.core.cli - :members: - :undoc-members: - :inherited-members: - :show-inheritance: - :synopsis: This module defines the command line interface. - - -.. currentmodule:: openalea.core.compositenode - -:mod:`openalea.core.compositenode` module -========================================= - -Download the source file :download:`../../src/core/compositenode.py`. - - -.. automodule:: openalea.core.compositenode - :members: - :undoc-members: - :inherited-members: - :show-inheritance: - :synopsis: A CompositeNode is a Node that contains other nodes connected... - - -.. currentmodule:: openalea.core.data - -:mod:`openalea.core.data` module -================================ - -Download the source file :download:`../../src/core/data.py`. - - -.. automodule:: openalea.core.data - :members: - :undoc-members: - :inherited-members: - :show-inheritance: - :synopsis: Data management classes - - -.. currentmodule:: openalea.core.dataflow - -:mod:`openalea.core.dataflow` module -==================================== - -Download the source file :download:`../../src/core/dataflow.py`. - - -.. automodule:: openalea.core.dataflow - :members: - :undoc-members: - :inherited-members: - :show-inheritance: - :synopsis: This module provide an implementation of a dataflow - - -.. currentmodule:: openalea.core.datapool - -:mod:`openalea.core.datapool` module -==================================== - -Download the source file :download:`../../src/core/datapool.py`. - - -.. automodule:: openalea.core.datapool - :members: - :undoc-members: - :inherited-members: - :show-inheritance: - :synopsis: DataPool is a global dictionnary to share data between node - -.. currentmodule:: openalea.core.external - -:mod:`openalea.core.external` module -==================================== - -.. automodule:: openalea.core.external - :members: - :undoc-members: - :inherited-members: - :show-inheritance: - :synopsis: todo - - -.. currentmodule:: openalea.core.graph.graph - -:mod:`openalea.core.graph.graph` module -======================================= - -Download the source file :download:`../../src/core/graph/graph.py`. - - -.. automodule:: openalea.core.graph.graph - :members: - :undoc-members: - :inherited-members: - :show-inheritance: - :synopsis: This module provide a simple pure python implementation for a - - -.. currentmodule:: openalea.core.graph.interface.graph - -:mod:`openalea.core.graph.interface.graph` module -================================================= - -Download the source file :download:`../../src/core/graph/interface/graph.py`. - - -.. automodule:: openalea.core.graph.interface.graph - :members: - :undoc-members: - :inherited-members: - :show-inheritance: - :synopsis: This module provide a set of graph concepts to form a graph i... - - -.. currentmodule:: openalea.core.graph.interface.graphconcept - -:mod:`openalea.core.graph.interface.graphconcept` module -======================================================== - -Download the source file :download:`../../src/core/graph/interface/graphconcept.py`. - - -.. automodule:: openalea.core.graph.interface.graphconcept - :members: - :undoc-members: - :inherited-members: - :show-inheritance: - :synopsis: A graph Interface. - - -.. currentmodule:: openalea.core.graph.interface.latticeconcept - -:mod:`openalea.core.graph.interface.latticeconcept` module -========================================================== - -Download the source file :download:`../../src/core/graph/interface/latticeconcept.py`. - - -.. automodule:: openalea.core.graph.interface.latticeconcept - :members: - :undoc-members: - :inherited-members: - :show-inheritance: - :synopsis: Lattice Interface - - -.. currentmodule:: openalea.core.graph.interface.treeconcept - -:mod:`openalea.core.graph.interface.treeconcept` module -======================================================= - -Download the source file :download:`../../src/core/graph/interface/treeconcept.py`. - - -.. automodule:: openalea.core.graph.interface.treeconcept - :members: - :undoc-members: - :inherited-members: - :show-inheritance: - :synopsis: Tree Concept. - - -.. currentmodule:: openalea.core.interface - -:mod:`openalea.core.interface` module -===================================== - -Download the source file :download:`../../src/core/interface.py`. - - -.. automodule:: openalea.core.interface - :members: - :undoc-members: - :inherited-members: - :show-inheritance: - :synopsis: This module defines Interface classes (I/O types) - - - - -.. currentmodule:: openalea.core.logger - -:mod:`openalea.core.logger` module -==================================== - -Download the source file :download:`../../src/core/logger.py`. - - -.. automodule:: openalea.core.logger - :members: - :undoc-members: - :inherited-members: - :show-inheritance: - :synopsis: This module defines the logger api for Openalea related software. - - - -.. currentmodule:: openalea.core.metaclass - -:mod:`openalea.core.metaclass` module -===================================== - -Download the source file :download:`../../src/core/metaclass.py`. - - -.. automodule:: openalea.core.metaclass - :members: - :undoc-members: - :inherited-members: - :show-inheritance: - :synopsis: todo - - -.. currentmodule:: openalea.core.node - -:mod:`openalea.core.node` module -================================ - -Download the source file :download:`../../src/core/node.py`. - - -.. automodule:: openalea.core.node - :members: - :undoc-members: - :inherited-members: - :show-inheritance: - :synopsis: Node and NodeFactory classes. - - -.. currentmodule:: openalea.core.observer - -:mod:`openalea.core.observer` module -==================================== - -Download the source file :download:`../../src/core/observer.py`. - - -.. automodule:: openalea.core.observer - :members: - :undoc-members: - :inherited-members: - :show-inheritance: - :synopsis: This module defines all the classes for the Observer design P... - - -.. currentmodule:: openalea.core.package - -:mod:`openalea.core.package` module -=================================== - -Download the source file :download:`../../src/core/package.py`. - - -.. automodule:: openalea.core.package - :members: - :undoc-members: - :inherited-members: - :show-inheritance: - :synopsis: This module defines Package classes. - - -.. currentmodule:: openalea.core.path - -:mod:`openalea.core.path` module -================================ - -Download the source file :download:`../../src/core/path.py`. - - -.. automodule:: openalea.core.path - :members: - :undoc-members: - :inherited-members: - :show-inheritance: - :synopsis: path.py - An object representing a path to a file or directo... - - -.. currentmodule:: openalea.core.pkgdict - -:mod:`openalea.core.pkgdict` module -=================================== - -Download the source file :download:`../../src/core/pkgdict.py`. - - -.. automodule:: openalea.core.pkgdict - :members: - :undoc-members: - :inherited-members: - :show-inheritance: - :synopsis: Special Dict with case insensitive key and protected field - - -.. currentmodule:: openalea.core.pkgmanager - -:mod:`openalea.core.pkgmanager` module -====================================== - -Download the source file :download:`../../src/core/pkgmanager.py`. - - -.. automodule:: openalea.core.pkgmanager - :members: - :undoc-members: - :inherited-members: - :show-inheritance: - :synopsis: This module defines the package manager. - - -.. currentmodule:: openalea.core.session - -:mod:`openalea.core.session` module -=================================== - -Download the source file :download:`../../src/core/session.py`. - - -.. automodule:: openalea.core.session - :members: - :undoc-members: - :inherited-members: - :show-inheritance: - :synopsis: Session regroups all the data which can be stored between dif... - - -.. currentmodule:: openalea.core.settings - -:mod:`openalea.core.settings` module -==================================== - -Download the source file :download:`../../src/core/settings.py`. - - -.. automodule:: openalea.core.settings - :members: - :undoc-members: - :inherited-members: - :show-inheritance: - :synopsis: Setting class retrieve and set user configuration - - -.. currentmodule:: openalea.core.signature - -:mod:`openalea.core.signature` module -===================================== - -Download the source file :download:`../../src/core/signature.py`. - - -.. automodule:: openalea.core.signature - :members: - :undoc-members: - :inherited-members: - :show-inheritance: - :synopsis: Signature class that instropect python functor based on the c... - - -.. currentmodule:: openalea.core.singleton - -:mod:`openalea.core.singleton` module -===================================== - -Download the source file :download:`../../src/core/singleton.py`. - - -.. automodule:: openalea.core.singleton - :members: - :undoc-members: - :inherited-members: - :show-inheritance: - :synopsis: This module defines the singleton metaclass - - -.. currentmodule:: openalea.core.system.systemnodes - -:mod:`openalea.core.system.systemnodes` module -============================================== - -Download the source file :download:`../../src/core/system/systemnodes.py`. - - -.. automodule:: openalea.core.system.systemnodes - :members: - :undoc-members: - :inherited-members: - :show-inheritance: - :synopsis: System Nodes - - -.. currentmodule:: openalea.core.threadmanager - -:mod:`openalea.core.threadmanager` module -========================================= - -Download the source file :download:`../../src/core/threadmanager.py`. - - -.. automodule:: openalea.core.threadmanager - :members: - :undoc-members: - :inherited-members: - :show-inheritance: - :synopsis: This module defines the thread manager - - -.. currentmodule:: openalea.core.traitsui - -:mod:`openalea.core.traitsui` module -==================================== - -Download the source file :download:`../../src/core/traitsui.py`. - - -.. automodule:: openalea.core.traitsui - :members: - :undoc-members: - :inherited-members: - :show-inheritance: - :synopsis: View for organizing the component lookout. - - -.. currentmodule:: openalea.core.vlab - -:mod:`openalea.core.vlab` module -================================ - -Download the source file :download:`../../src/core/vlab.py`. - - -.. automodule:: openalea.core.vlab - :members: - :undoc-members: - :inherited-members: - :show-inheritance: - :synopsis: doc todo - diff --git a/src/openalea/core/plugin/__init__.py b/src/openalea/core/plugin/__init__.py index 0db9c66a..4be88d6d 100644 --- a/src/openalea/core/plugin/__init__.py +++ b/src/openalea/core/plugin/__init__.py @@ -8,9 +8,10 @@ Generally, a plugin code looks like: .. code-block :: python - :filename: ex: mypackage/plugin/applet.py :linenos: + #filename: ex: mypackage/plugin/applet.py + class PluginMyApplet(object): name = 'MyApplet' label = 'My Applet' diff --git a/src/openalea/core/plugin/interface.py b/src/openalea/core/plugin/interface.py index 24e82658..3744ab90 100644 --- a/src/openalea/core/plugin/interface.py +++ b/src/openalea/core/plugin/interface.py @@ -3,12 +3,6 @@ interface plugin documentation ============================== -Details -======= - -.. autoclass:: openalea.oalab.interface.IPluginInterface - :members: __call__, name - """ class IPluginInterface(object): diff --git a/src/openalea/core/plugin/manager.py b/src/openalea/core/plugin/manager.py index 3f82ec55..3f550537 100644 --- a/src/openalea/core/plugin/manager.py +++ b/src/openalea/core/plugin/manager.py @@ -9,8 +9,9 @@ A plugin manager class is used to load plugins, search among it and manage the list of loaded plugins. Plugins are loaded from entry points or can be added dynamically to manager. - - To *list* plugins, see :meth:`PluginManager.plugin` and :meth:`PluginManager.plugins`. - - To *add* plugins dynamically, see :meth:`PluginManager.add_plugin` and :meth:`PluginManager.add_plugins`. + +- To *list* plugins, see :meth:`PluginManager.plugin` and :meth:`PluginManager.plugins`. +- To *add* plugins dynamically, see :meth:`PluginManager.add_plugin` and :meth:`PluginManager.add_plugins`. All plugin are sorted in categories, each group defining a contract. This contract is generally described in an interface class or documentation.