Home | Download/Install | Documentation | Packages | Screenshots | News | Forum/Mailing-lists | Contact | GForge

How to distribute an OpenAlea package


Type and Status

OpenAlea project intends to facilitate collaborative works and sharing pieces of code. There are different levels of integration (Type):

  • Autonomous application : it can be use as a standalone application,
  • Python package : the functionalities provided by the package are accessible in the Python language,
  • OpenAlea component : The package can be use as a component in the OpenAlea workflow system.

There are also different level of stability (Status):

  • Devel : The program is under developement, the interface can change at any time.
  • Stable : The program has reach a maturity level, the interface is fixed and other package can use it.


OpenAlea packages must be distributed under an OpenSource and free license. If you need help to choose a license, please read the license guidelines.

The license must be included with the package in a file 'LICENSE.txt''. Each source file must also cite the used license. Make sure you have a reference to the used license in each source file.

Example for the starter package which is distributed with CeCILL-C license. In a C++ file:

/*------------------------------------------------------------------------------ *
 *        OpenAlea.Starter: Example package
 *        Copyright 2006 INRIA - CIRAD - INRA
 *        File author(s): Christophe Pradal <christophe.prada@cirad.fr>
 *                        Samuel Dufour-Kowalski <samuel.dufour@sophia.inria.fr> 
 *        Distributed under the Cecill-C License.
 *        See accompanying file LICENSE.txt or copy at
 *            http://www.cecill.info/licences/Licence_CeCILL-C_V1-en.html
 *        OpenAlea WebSite : http://openalea.gforge.inria.fr
 *        $Id: scene_object.h 112 2006-11-23 16:11:15Z dufourko $

Distributing sources and binaries

Only packages which respect OpenAlea charter requirements will be distributed on the platform.

A package can be distributed:

  • [obligatory] as sources package for linux and windows.
  • [optional] as a python egg.
  • [optional] as a binary package for windows with an installer.
  • [optional] as a rpm package for linux.

The files can be hosted on the Gforge platform. Contact a project administrator to add your files.

If you don't want to distribute your package on the OpenAlea platform, you can have just a short presentation on the web site and distribute your package on your own.

The Deploy is a setuptools extension which intend to facilitate OpenAlea package installation as Python Egg.

Documenting your package

A distributed package must have :

  • A user manual if the package can be use as a standalone application or is distributed with a GUI
  • Python API which is necessary to use the package in Python scripts. This documentation can be generated semi-automatically with dedicated tools (Epydoc). Read how to document python api.
  • The C++ library API for developers (Doxygen). Read how to document cpp api.

Create Web pages

Each OpenAlea package can have pages on the web site. The purpose of this pages is :

  • to have a presentation of the package (description, screenshots…),
  • to host package specific documentation,
  • to links to others resources associated to the package (other web site, …).

By doing this, the users have a direct view of the available package in OpenAlea.

The website is based on a Wiki engine and enable online page editing. However, there is an access restriction. You must be logged to edit web pages. If you have no Login/password and want to add/modify a page, please contact a project member.

To create the web pages for a package, you must create a new subcategory. By this way, you will be able to add several pages if necessary. In order to have uniform contents, we defined a page template. Copy the following code in the wiki editor.

Package Page template

====== Plant Geometric Library ======

**Authors** : 

**Contributors** : 

**Institutes** : 

**Type** : OpenAlea Component / Autonomous application / Pure Python package / Python & C++ Package 

**Status** : Devel ? - Stable ?

**License** : 


===== About =====

=== Description ===

=== Screenshots ===

===== Quick Example =====

===== Installation =====

=== Download ===

=== Requirements ===

=== Installation ===

=== Compilation ===

===== Documentation =====

//User documentation//

//API documentation//

===== Related publications =====

===== Forum/Mailing list =====
documentation/package/how_to_distribute_an_openalea_package.txt · Last modified: 2008/02/05 11:09 by user   Back to top
INRIA GForge RSS feed Valid XHTML 1.0 Valid CSS Driven by DokuWiki