diff --git a/.readthedocs.yaml b/.readthedocs.yaml new file mode 100644 index 00000000..162aeb6b --- /dev/null +++ b/.readthedocs.yaml @@ -0,0 +1,35 @@ +# Read the Docs configuration file for Sphinx projects +# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details + +# Required +version: 2 + +# Set the OS, Python version and other tools you might need +build: + os: "ubuntu-22.04" + tools: + python: "mambaforge-22.9" + +conda: + environment: "doc/environment.yml" + +# Build documentation in the "docs/" directory with Sphinx +sphinx: + builder: html + configuration: doc/conf.py + # You can configure Sphinx to use a different builder, for instance use the dirhtml builder for simpler URLs + # builder: "dirhtml" + # Fail on all warnings to avoid broken references + # fail_on_warning: true + +# Optionally build your docs in additional formats such as PDF and ePub +# formats: +# - pdf +# - epub + +# Optional but recommended, declare the Python requirements required +# to build your documentation +# See https://docs.readthedocs.io/en/stable/guides/reproducible-builds.html +python: + install: + - requirements: doc/requirements.txt \ No newline at end of file diff --git a/README.rst b/README.rst index 14d1a4c9..0b2c68ac 100644 --- a/README.rst +++ b/README.rst @@ -52,9 +52,9 @@ To install L-Py, you need to create an environment (named for instance lpy) : .. code-block:: bash - >>> conda create -n lpy openalea.lpy -c fredboudon -c conda-forge + >>> conda create -n lpy openalea.lpy -c openalea3 -c conda-forge -The package ``openalea.lpy`` is retrieved from the ``fredboudon`` channel (developement) and its dependencies will be taken from ``conda-forge`` channel. +The package ``openalea.lpy`` is retrieved from the ``openalea3`` channel (developement) and its dependencies will be taken from ``conda-forge`` channel. Then, you need to activate the L-Py environment @@ -74,9 +74,6 @@ Documentation Documentation is available at ``_ - -A previous version of the documentation was also available on `OpenAlea website `_ - Help and Support ---------------- diff --git a/bckup_setup.py b/bckup_setup.py deleted file mode 100644 index 942815fc..00000000 --- a/bckup_setup.py +++ /dev/null @@ -1,120 +0,0 @@ -# -*- coding: utf-8 -*- -__revision__ = "$Id$" - -# Header -import os, sys -pj = os.path.join - -project = 'openalea' -package = 'lpy' -name = 'openalea.Lpy' -namespace = 'openalea' -pkg_name = 'openalea.lpy' -description = 'Lindenmayer Systems in Python package for OpenAlea.' -long_description= 'L-Py is a simulation software that mixes L-systems construction with the Python high-level modeling language. ' -authors = 'Frederic Boudon' -authors_email = 'frederic.boudon@cirad.fr' -url= 'https://github.com/openalea/lpy' -# LGPL compatible INRIA license -license = 'Cecill-C' - -############## -# Setup script - -# Package name -pkg_name= namespace + '.' + package - -# check that meta version is updated -lpydir = pj(os.path.dirname(__file__),'src', 'openalea', 'lpy') -versionfile = pj(lpydir,'__version__.py') - -versioninfo = {} -with open(versionfile) as fp: - exec(fp.read(), versioninfo) - -version= versioninfo['LPY_VERSION_STR'] -#print (pkg_name+': version = '+version) - - -def compile_interface(): - cwd = os.getcwd() - os.chdir(pj(lpydir,'gui')) - sys.path = ['']+sys.path - import generate_ui - os.chdir(cwd) - - py2exe_file = pj(lpydir,'gui','py2exe_release.py') - if not os.path.exists(py2exe_file): - open(py2exe_file,'w').close() - -if 'install' in sys.argv: - compile_interface() - - -from setuptools import setup - - -# Scons build directory -build_prefix= "build-cmake" - -if 'CONDA_PREFIX' in os.environ or 'PREFIX' in os.environ : - deploy_args = dict(namespace_packages = [namespace]) -else: - currentdir = os.path.dirname(__file__) - deploy_args = dict( - # Specific options of openalea.deploy - lib_dirs = {'lib' : pj(currentdir, build_prefix, 'lib'),}, - bin_dirs = {'bin': pj(currentdir, build_prefix, 'bin'),}, - inc_dirs = { 'include' : pj(currentdir, build_prefix, 'include') }, - share_dirs = { 'share' : 'share'}, - postinstall_scripts = ['pgl_postinstall',], - # namespace_packages = [namespace], - # create_namespaces = False, - ) - -setup( - name=name, - version=version, - description=description, - long_description=long_description, - author=authors, - author_email=authors_email, - url=url, - license=license, - - use_scm_version=True, - setup_requires=['setuptools_scm'], - - # pure python packages - packages = [ - pkg_name, - pkg_name + '_wralea', - pkg_name + '.gui', - pkg_name + '.gui.icons', - pkg_name + '.lsysparameters', - pkg_name + '.lsysparameters.schema', - pkg_name + '.gui.plugins', - pkg_name + '.cpfg_compat' - ], - - # python packages directory - package_dir = { '' : 'src',}, - - package_data={ - "": ['*.pyd', '*.so', '*.dylib', '*.lpy','*.ui','*.qrc','*.json','*.png'], - }, - - # Add package platform libraries if any - include_package_data = True, - #package_data = {'' : ['*.pyd', '*.so', '*.dylib', '*.lpy','*.ui','*.qrc'],}, - zip_safe = False, - - # Dependencies - entry_points = { - "wralea": ["lpy = openalea.lpy_wralea",], - 'gui_scripts': ['lpy = openalea.lpy.gui.lpystudio:main',], - 'console_scripts': ['cpfg2lpy = openalea.lpy.cpfg_compat.cpfg2lpy:main',], - }, - - **deploy_args -) diff --git a/build.sh b/build.sh index 934bb7db..e8171cda 100755 --- a/build.sh +++ b/build.sh @@ -1 +1 @@ -conda mambabuild . -c conda-forge -c fredboudon --python=3.10 --no-test +conda mambabuild . -c conda-forge -c openalea3/label/dev -c openalea3/label/rc -c openalea3 --python=3.13 --no-test diff --git a/doc/_images/openalea_web.svg b/doc/_images/openalea_web.svg new file mode 100644 index 00000000..1e3527c9 --- /dev/null +++ b/doc/_images/openalea_web.svg @@ -0,0 +1,108 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + + + + OpenAlea + + + diff --git a/doc/conf.py b/doc/conf.py index a694695d..3d05835d 100644 --- a/doc/conf.py +++ b/doc/conf.py @@ -1,290 +1,153 @@ # -*- coding: utf-8 -*- -# -# LPy documentation build configuration file, created by -# sphinx-quickstart on Fri Oct 6 12:50:27 2017. -# -# This file is execfile()d with the current directory set to its -# containing dir. -# -# Note that not all possible configuration values are present in this -# autogenerated file. -# -# All configuration values have a default; values that are commented out -# serve to show the default. - import sys import os -from os.path import join as pj + +import pydata_sphinx_theme # Pydata theme: https://pydata-sphinx-theme.readthedocs.io/en/stable/index.html + +from importlib.metadata import metadata +project='lpy' +meta = metadata('openalea.' + project) +release = meta.get("version") +# for example take major/minor +version = ".".join(release.split('.')[:3]) +author = meta['Author'].split(' <')[0] +desc = meta['Summary'] +urls = {k:v for k,v in [item.split(',') for item in meta.get_all('Project-URL')]} + # If extensions (or modules to document with autodoc) are in another directory, # add these directories to sys.path here. If the directory is relative to the # documentation root, use os.path.abspath to make it absolute, like shown here. -#sys.path.insert(0, os.path.abspath('.')) +# sys.path.insert(0, os.path.abspath('.')) +sys.path.insert(0, os.path.abspath('..')) # to include the root of the package # -- General configuration ------------------------------------------------ -f = pj(os.path.dirname(__file__),'..','src', 'openalea', 'lpy','__version__.py') -d = {} -exec(compile(open(f, "rb").read(), f, 'exec'),d,d) -version= d['LPY_VERSION_STR'] - -# If your documentation needs a minimal Sphinx version, state it here. -#needs_sphinx = '1.0' - # Add any Sphinx extension module names here, as strings. They can be # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom # ones. -extensions = [] - +extensions = [ + 'sphinx.ext.autodoc', # support for automatic inclusion of docstring + 'sphinx.ext.autosummary', # generates autodoc summaries + 'sphinx.ext.doctest', # inclusion and testing of doctest code snippets + 'sphinx.ext.intersphinx', # support for linking to other projects + 'sphinx.ext.mathjax', # support for math equations + 'sphinx.ext.ifconfig', # support for conditional content + 'sphinx.ext.viewcode', # support for links to source code + 'sphinx.ext.coverage', # includes doc coverage stats in the documentation + 'sphinx.ext.todo', # support for todo items + 'sphinx.ext.napoleon', # support for numpy and google style docstrings + "sphinx_favicon", # support for favicon + "sphinx_copybutton", # support for copybutton in code blocks + "nbsphinx", # for integrating jupyter notebooks + "myst_parser" # for parsing .md files +] # Add any paths that contain templates here, relative to this directory. templates_path = ['_templates'] - +autosummary_generate = True +exclude_patterns = ['build', '_build', '_templates'] # The suffix(es) of source filenames. # You can specify multiple suffix as a list of string: -# source_suffix = ['.rst', '.md'] -source_suffix = '.rst' - -# The encoding of source files. -#source_encoding = 'utf-8-sig' - +source_suffix = { + '.rst': 'restructuredtext', + '.md': 'markdown', +} # The master toctree document. master_doc = 'index' - # General information about the project. -project = 'L-Py' -copyright = 'F. Boudon for Cirad-Inria-Inra under Cecill-C license' -author = 'F. Boudon, C. Godin et al.' - -# The version info for the project you're documenting, acts as replacement for -# |version| and |release|, also used in various other places throughout the -# built documents. -# -# The short X.Y version. -#version = u'1' -# The full version, including alpha/beta/rc tags. -release = '0' - +copyright = u'Cecill-C INRAE / INRIA / CIRAD' # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. # # This is also used if you do content translation via gettext catalogs. # Usually you set "language" from the command line for these cases. -language = None - -# There are two options for replacing |today|: either, you set today to some -# non-false value, then it is used: -#today = '' -# Else, today_fmt is used as the format for a strftime call. -#today_fmt = '%B %d, %Y' - -# List of patterns, relative to source directory, that match files and -# directories to ignore when looking for source files. -exclude_patterns = ['_build'] - -# The reST default role (used for this markup: `text`) to use for all -# documents. -#default_role = None - -# If true, '()' will be appended to :func: etc. cross-reference text. -#add_function_parentheses = True - -# If true, the current module name will be prepended to all description -# unit titles (such as .. function::). -#add_module_names = True - -# If true, sectionauthor and moduleauthor directives will be shown in the -# output. They are ignored by default. -#show_authors = False - +language = "en" # The name of the Pygments (syntax highlighting) style to use. pygments_style = 'sphinx' - -# A list of ignored prefixes for module index sorting. -#modindex_common_prefix = [] - -# If true, keep warnings as "system message" paragraphs in the built documents. -#keep_warnings = False - # If true, `todo` and `todoList` produce output, else they produce nothing. todo_include_todos = False - # -- Options for HTML output ---------------------------------------------- - # The theme to use for HTML and HTML Help pages. See the documentation for # a list of builtin themes. -#html_theme = 'classic' -#html_theme = "sphinx_rtd_theme" -#html_theme_path = ["_themes", ] - +html_theme = 'pydata_sphinx_theme' # Theme options are theme-specific and customize the look and feel of a theme # further. For a list of options available for each theme, see the # documentation. -#html_theme_options = {} - -# Add any paths that contain custom themes here, relative to this directory. -#html_theme_path = [] - -# The name for this set of Sphinx documents. If None, it defaults to -# " v documentation". -#html_title = None - -# A shorter title for the navigation bar. Default is the same as html_title. -#html_short_title = None - -# The name of an image file (relative to this directory) to place at the top -# of the sidebar. -#html_logo = None - -# The name of an image file (relative to this directory) to use as a favicon of -# the docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32 -# pixels large. -#html_favicon = None - +html_theme_options = { + "header_links_before_dropdown": 6, + "sidebarwidth": 200, + "sticky_navigation": "false", + "collapse_navigation": "false", + "display_version": "true", + "icon_links": [ + { + "name": "GitHub", + "url": "https://github.com/openalea/lpy", # do not want urls['Repository'] + "icon": "fa-brands fa-github", + }, + ], + "show_version_warning_banner": True, + "footer_start": ["copyright"], + "footer_center": ["sphinx-version"], + "secondary_sidebar_items": { + "**/*": ["page-toc", "edit-this-page", "sourcelink"], + "examples/no-sidebar": [], + }, + "use_edit_page_button": True, + } # Add any paths that contain custom static files (such as style sheets) here, # relative to this directory. They are copied after the builtin static files, # so a file named "default.css" will overwrite the builtin "default.css". -#html_static_path = ['_static'] - -# Add any extra paths that contain custom files (such as robots.txt or -# .htaccess) here, relative to this directory. These files are copied -# directly to the root of the documentation. -#html_extra_path = [] - -# If not '', a 'Last updated on:' timestamp is inserted at every page bottom, -# using the given strftime format. -#html_last_updated_fmt = '%b %d, %Y' - -# If true, SmartyPants will be used to convert quotes and dashes to -# typographically correct entities. -#html_use_smartypants = True - -# Custom sidebar templates, maps document names to template names. -#html_sidebars = {} - -# Additional templates that should be rendered to pages, maps page names to -# template names. -#html_additional_pages = {} - +html_static_path = ['_images'] +html_logo = "_images/openalea_web.svg" +html_favicon = "_images/openalea_web.svg" # If false, no module index is generated. -#html_domain_indices = True - +html_domain_indices = True # If false, no index is generated. -#html_use_index = True - +html_use_index = True # If true, the index is split into individual pages for each letter. -#html_split_index = False - +html_split_index = False # If true, links to the reST sources are added to the pages. -#html_show_sourcelink = True - +html_show_sourcelink = True # If true, "Created using Sphinx" is shown in the HTML footer. Default is True. -#html_show_sphinx = True - +html_show_sphinx = True # If true, "(C) Copyright ..." is shown in the HTML footer. Default is True. -#html_show_copyright = True - -# If true, an OpenSearch description file will be output, and all pages will -# contain a tag referring to it. The value of this option must be the -# base URL from which the finished HTML is served. -#html_use_opensearch = '' - -# This is the file name suffix for HTML files (e.g. ".xhtml"). -#html_file_suffix = None - -# Language to be used for generating the HTML full-text search index. -# Sphinx supports the following languages: -# 'da', 'de', 'en', 'es', 'fi', 'fr', 'hu', 'it', 'ja' -# 'nl', 'no', 'pt', 'ro', 'ru', 'sv', 'tr' -#html_search_language = 'en' - -# A dictionary with options for the search language support, empty by default. -# Now only 'ja' uses this config value -#html_search_options = {'type': 'default'} - -# The name of a javascript file (relative to the configuration directory) that -# implements a search results scorer. If empty, the default will be used. -#html_search_scorer = 'scorer.js' - +html_show_copyright = True # Output file base name for HTML help builder. -htmlhelp_basename = 'LPy' +htmlhelp_basename = project + '_documentation' +# Add infomation about github repository +html_context = { + # "github_url": "https://github.com", # or your GitHub Enterprise site + "github_user": "openalea", + "github_repo": "lpy", + "github_version": "master", + "doc_path": "doc", +} # -- Options for LaTeX output --------------------------------------------- - latex_elements = { -# The paper size ('letterpaper' or 'a4paper'). -#'papersize': 'letterpaper', - -# The font size ('10pt', '11pt' or '12pt'). -#'pointsize': '10pt', - -# Additional stuff for the LaTeX preamble. -#'preamble': '', - -# Latex figure (float) alignment -#'figure_align': 'htbp', } - -# Grouping the document tree into LaTeX files. List of tuples -# (source start file, target name, title, -# author, documentclass [howto, manual, or own class]). latex_documents = [ - (master_doc, 'LPy.tex', 'L-Py Documentation', - author, 'manual'), + (master_doc, 'lpy.tex', u'lpy Documentation', + u'INRA / INRIA / CIRAD', 'manual'), ] -# The name of an image file (relative to this directory) to place at the top of -# the title page. -#latex_logo = None - -# For "manual" documents, if this is true, then toplevel headings are parts, -# not chapters. -#latex_use_parts = False - -# If true, show page references after internal links. -#latex_show_pagerefs = False - -# If true, show URL addresses after external links. -#latex_show_urls = False - -# Documents to append as an appendix to all manuals. -#latex_appendices = [] - -# If false, no module index is generated. -#latex_domain_indices = True - - # -- Options for manual page output --------------------------------------- - # One entry per manual page. List of tuples # (source start file, name, description, authors, manual section). man_pages = [ - (master_doc, 'lpy', 'L-Py Documentation', + (master_doc, project, project + ' Documentation', [author], 1) ] -# If true, show URL addresses after external links. -#man_show_urls = False - - # -- Options for Texinfo output ------------------------------------------- - # Grouping the document tree into Texinfo files. List of tuples # (source start file, target name, title, author, # dir menu entry, description, category) texinfo_documents = [ - (master_doc, 'L-Py', 'L-Py Documentation', - author, 'L-Py', ' L-Py is a simulation software that mixes L-systems construction with the Python high-level modeling language.', + (master_doc, project, project + ' Documentation', + author, project, desc, 'Miscellaneous'), ] - -# Documents to append as an appendix to all manuals. -#texinfo_appendices = [] - -# If false, no module index is generated. -#texinfo_domain_indices = True - -# How to display URL addresses: 'footnote', 'no', or 'inline'. -#texinfo_show_urls = 'footnote' - -# If true, do not generate a @detailmenu in the "Top" node's menu. -#texinfo_no_detailmenu = False +# Example configuration for intersphinx: refer to the Python standard library. +intersphinx_mapping = {'python': ('https://docs.python.org/', None)} \ No newline at end of file diff --git a/doc/conf.py.bak b/doc/conf.py.bak deleted file mode 100644 index 46c9de37..00000000 --- a/doc/conf.py.bak +++ /dev/null @@ -1,290 +0,0 @@ -# -*- coding: utf-8 -*- -# -# LPy documentation build configuration file, created by -# sphinx-quickstart on Fri Oct 6 12:50:27 2017. -# -# This file is execfile()d with the current directory set to its -# containing dir. -# -# Note that not all possible configuration values are present in this -# autogenerated file. -# -# All configuration values have a default; values that are commented out -# serve to show the default. - -import sys -import os -from os.path import join as pj - -# If extensions (or modules to document with autodoc) are in another directory, -# add these directories to sys.path here. If the directory is relative to the -# documentation root, use os.path.abspath to make it absolute, like shown here. -#sys.path.insert(0, os.path.abspath('.')) - -# -- General configuration ------------------------------------------------ -f = pj(os.path.dirname(__file__),'..','src', 'openalea', 'lpy','__version__.py') -d = {} -execfile(f,d,d) -version= d['LPY_VERSION_STR'] - -# If your documentation needs a minimal Sphinx version, state it here. -#needs_sphinx = '1.0' - -# Add any Sphinx extension module names here, as strings. They can be -# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom -# ones. -extensions = [] - -# Add any paths that contain templates here, relative to this directory. -templates_path = ['_templates'] - -# The suffix(es) of source filenames. -# You can specify multiple suffix as a list of string: -# source_suffix = ['.rst', '.md'] -source_suffix = '.rst' - -# The encoding of source files. -#source_encoding = 'utf-8-sig' - -# The master toctree document. -master_doc = 'index' - -# General information about the project. -project = u'LPy' -copyright = u'2017, F. Boudon, T. Cokelaer, C. Pradal and C. Godin' -author = u'F. Boudon, T. Cokelaer, C. Pradal and C. Godin' - -# The version info for the project you're documenting, acts as replacement for -# |version| and |release|, also used in various other places throughout the -# built documents. -# -# The short X.Y version. -#version = u'1' -# The full version, including alpha/beta/rc tags. -release = u'0' - -# The language for content autogenerated by Sphinx. Refer to documentation -# for a list of supported languages. -# -# This is also used if you do content translation via gettext catalogs. -# Usually you set "language" from the command line for these cases. -language = None - -# There are two options for replacing |today|: either, you set today to some -# non-false value, then it is used: -#today = '' -# Else, today_fmt is used as the format for a strftime call. -#today_fmt = '%B %d, %Y' - -# List of patterns, relative to source directory, that match files and -# directories to ignore when looking for source files. -exclude_patterns = ['_build'] - -# The reST default role (used for this markup: `text`) to use for all -# documents. -#default_role = None - -# If true, '()' will be appended to :func: etc. cross-reference text. -#add_function_parentheses = True - -# If true, the current module name will be prepended to all description -# unit titles (such as .. function::). -#add_module_names = True - -# If true, sectionauthor and moduleauthor directives will be shown in the -# output. They are ignored by default. -#show_authors = False - -# The name of the Pygments (syntax highlighting) style to use. -pygments_style = 'sphinx' - -# A list of ignored prefixes for module index sorting. -#modindex_common_prefix = [] - -# If true, keep warnings as "system message" paragraphs in the built documents. -#keep_warnings = False - -# If true, `todo` and `todoList` produce output, else they produce nothing. -todo_include_todos = False - - -# -- Options for HTML output ---------------------------------------------- - -# The theme to use for HTML and HTML Help pages. See the documentation for -# a list of builtin themes. -#html_theme = 'classic' -#html_theme = "sphinx_rtd_theme" -#html_theme_path = ["_themes", ] - -# Theme options are theme-specific and customize the look and feel of a theme -# further. For a list of options available for each theme, see the -# documentation. -#html_theme_options = {} - -# Add any paths that contain custom themes here, relative to this directory. -#html_theme_path = [] - -# The name for this set of Sphinx documents. If None, it defaults to -# " v documentation". -#html_title = None - -# A shorter title for the navigation bar. Default is the same as html_title. -#html_short_title = None - -# The name of an image file (relative to this directory) to place at the top -# of the sidebar. -#html_logo = None - -# The name of an image file (relative to this directory) to use as a favicon of -# the docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32 -# pixels large. -#html_favicon = None - -# Add any paths that contain custom static files (such as style sheets) here, -# relative to this directory. They are copied after the builtin static files, -# so a file named "default.css" will overwrite the builtin "default.css". -#html_static_path = ['_static'] - -# Add any extra paths that contain custom files (such as robots.txt or -# .htaccess) here, relative to this directory. These files are copied -# directly to the root of the documentation. -#html_extra_path = [] - -# If not '', a 'Last updated on:' timestamp is inserted at every page bottom, -# using the given strftime format. -#html_last_updated_fmt = '%b %d, %Y' - -# If true, SmartyPants will be used to convert quotes and dashes to -# typographically correct entities. -#html_use_smartypants = True - -# Custom sidebar templates, maps document names to template names. -#html_sidebars = {} - -# Additional templates that should be rendered to pages, maps page names to -# template names. -#html_additional_pages = {} - -# If false, no module index is generated. -#html_domain_indices = True - -# If false, no index is generated. -#html_use_index = True - -# If true, the index is split into individual pages for each letter. -#html_split_index = False - -# If true, links to the reST sources are added to the pages. -#html_show_sourcelink = True - -# If true, "Created using Sphinx" is shown in the HTML footer. Default is True. -#html_show_sphinx = True - -# If true, "(C) Copyright ..." is shown in the HTML footer. Default is True. -#html_show_copyright = True - -# If true, an OpenSearch description file will be output, and all pages will -# contain a tag referring to it. The value of this option must be the -# base URL from which the finished HTML is served. -#html_use_opensearch = '' - -# This is the file name suffix for HTML files (e.g. ".xhtml"). -#html_file_suffix = None - -# Language to be used for generating the HTML full-text search index. -# Sphinx supports the following languages: -# 'da', 'de', 'en', 'es', 'fi', 'fr', 'hu', 'it', 'ja' -# 'nl', 'no', 'pt', 'ro', 'ru', 'sv', 'tr' -#html_search_language = 'en' - -# A dictionary with options for the search language support, empty by default. -# Now only 'ja' uses this config value -#html_search_options = {'type': 'default'} - -# The name of a javascript file (relative to the configuration directory) that -# implements a search results scorer. If empty, the default will be used. -#html_search_scorer = 'scorer.js' - -# Output file base name for HTML help builder. -htmlhelp_basename = 'LPydoc' - -# -- Options for LaTeX output --------------------------------------------- - -latex_elements = { -# The paper size ('letterpaper' or 'a4paper'). -#'papersize': 'letterpaper', - -# The font size ('10pt', '11pt' or '12pt'). -#'pointsize': '10pt', - -# Additional stuff for the LaTeX preamble. -#'preamble': '', - -# Latex figure (float) alignment -#'figure_align': 'htbp', -} - -# Grouping the document tree into LaTeX files. List of tuples -# (source start file, target name, title, -# author, documentclass [howto, manual, or own class]). -latex_documents = [ - (master_doc, 'LPy.tex', u'LPy Documentation', - u'F. Boudon and C. Godin', 'manual'), -] - -# The name of an image file (relative to this directory) to place at the top of -# the title page. -#latex_logo = None - -# For "manual" documents, if this is true, then toplevel headings are parts, -# not chapters. -#latex_use_parts = False - -# If true, show page references after internal links. -#latex_show_pagerefs = False - -# If true, show URL addresses after external links. -#latex_show_urls = False - -# Documents to append as an appendix to all manuals. -#latex_appendices = [] - -# If false, no module index is generated. -#latex_domain_indices = True - - -# -- Options for manual page output --------------------------------------- - -# One entry per manual page. List of tuples -# (source start file, name, description, authors, manual section). -man_pages = [ - (master_doc, 'lpy', u'LPy Documentation', - [author], 1) -] - -# If true, show URL addresses after external links. -#man_show_urls = False - - -# -- Options for Texinfo output ------------------------------------------- - -# Grouping the document tree into Texinfo files. List of tuples -# (source start file, target name, title, author, -# dir menu entry, description, category) -texinfo_documents = [ - (master_doc, 'LPy', u'LPy Documentation', - author, 'LPy', 'One line description of project.', - 'Miscellaneous'), -] - -# Documents to append as an appendix to all manuals. -#texinfo_appendices = [] - -# If false, no module index is generated. -#texinfo_domain_indices = True - -# How to display URL addresses: 'footnote', 'no', or 'inline'. -#texinfo_show_urls = 'footnote' - -# If true, do not generate a @detailmenu in the "Top" node's menu. -#texinfo_no_detailmenu = False diff --git a/doc/environment.yml b/doc/environment.yml new file mode 100644 index 00000000..68805b29 --- /dev/null +++ b/doc/environment.yml @@ -0,0 +1,18 @@ +name: lpy-doc +channels: + - openalea3/label/dev + - openalea3/label/rc + - openalea3 + - conda-forge +dependencies: + - openalea.lpy + - openalea.widgets + - pip + - pip: + - sphinx + - sphinx-autoapi + - sphinx-copybutton + - nbsphinx + - pydata-sphinx-theme + - myst-parser + - sphinx-favicon diff --git a/doc/index.rst b/doc/index.rst index 9557f9b6..96690362 100644 --- a/doc/index.rst +++ b/doc/index.rst @@ -1,15 +1,7 @@ -.. Do not edit. -.. File automatically generated by sphinx_tools.py, revision 1695, on Thu Jun 18 14:16:07 2009 - -.. _lpy_user: - -Lpy User Guide +Welcome to Lpy's documentation! ############## -.. sidebar:: Version - - :Version: |version| - :Date: |today| +.. figure:: _images/gallery/tomato.png L-systems were conceived as a mathematical framework for modeling growth of plants. L-Py is a simulation software that mixes L-systems construction with the Python high-level modeling language. diff --git a/doc/user/installing.rst b/doc/user/installing.rst index 34ea5b6c..7f402c7c 100644 --- a/doc/user/installing.rst +++ b/doc/user/installing.rst @@ -14,9 +14,7 @@ To install L-Py, you need to create an environment (named lpy in this case) : .. code-block:: bash - conda create -n lpy openalea.lpy -c fredboudon -c conda-forge - -The package is retrieved from the ``fredboudon`` channel (developement) and its dependencies will be taken from ``conda-forge`` channel. + conda create -n lpy openalea.lpy -c openalea3 -c conda-forge Then, you need to activate the L-Py environment @@ -40,14 +38,14 @@ You should first install all dependencies in a conda environment. The simplest w conda create -n lpydev conda activate lpydev - conda install --only-deps openalea.lpy -c fredboudon -c conda-forge + conda install --only-deps openalea.lpy -c openalea3 -c conda-forge conda install You should clone the lpy project into your computer .. code-block:: bash - git clone https://github.com/fredboudon/lpy.git + git clone https://github.com/openalea/lpy.git Compiling on macOS and Linux diff --git a/modularityspecification.docx b/modularityspecification.docx deleted file mode 100644 index b66d9639..00000000 Binary files a/modularityspecification.docx and /dev/null differ diff --git a/options_conda_win.py b/options_conda_win.py deleted file mode 100644 index 1247c9ca..00000000 --- a/options_conda_win.py +++ /dev/null @@ -1,8 +0,0 @@ -import os - -if 'CPU_COUNT' in os.environ: - num_jobs = os.environ['CPU_COUNT'] - -compiler = 'msvc' -qhull_libs_suffix = 'static' -boost_libs_suffix = '' diff --git a/options_linux.py b/options_linux.py deleted file mode 100644 index f7d3a409..00000000 --- a/options_linux.py +++ /dev/null @@ -1,6 +0,0 @@ -import os -compiler='gcc' -plantgl_dir = os.path.abspath('../PlantGL') -plantgl_lib=plantgl_dir+'/build-scons/lib' -plantgl_include=plantgl_dir+'/src/cpp' -QTDIR='/usr'