Package: openalea.deploy
OpenAlea.Deploy support the installation of OpenAlea packages via the network and manage their dependencies. It is an extension of Setuptools.Authors: S. Dufour-Kowalski, C. PradalContributors: OpenAlea ConsortiumInstitutes: INRIA/CIRAD/INRAType: Pure Python packageStatus: DevelLicense: CeCILL-CAboutOpenAlea.Deploy support the installation of OpenAlea packages via the network and manage
their dependencies .
It is an extension ofSetuptools.Additional Features:Discover and manage packages in EGG formatDeclare shared libraries directory and include directoriesCall SCons scriptsCreate namespaces if necessarySupport post_install scriptsSupport ‘develop’ commandOpenAlea GForge uploadIt doesn’t include any GUI interface (See [[packages:compilation_installation:deploygui:deploygui|OpenAlea.DeployGui]] for that).RequirementsPython<= 2.7SetuptoolsDownloadSee the [[:download|Download page]].Installationpython setup.py installNoteOpenAlea.Deploy can be automatically installed with thealea_setup.pyscript.Developper DocumentationTo distribute your package with OpenAlea.Deploy, you need to write a setup.py script
as you do with setuptools.have a look to theSetuptoolsdeveloper’s guide.OpenAlea.Deploy add a numerous of keywords and commandsSetup keywordscreate_namespace = [True|False] : ifTruecreate the namespaces innamespace_packagesscons_scripts = [list of Scons scripts] : if not empty, call scons to build extensionsscons_parameters = [list of Scons parameters] : such asbuild_prefix=...postinstall_scripts = [list of strings] : Each string corresponds to a python module to execute at installation time. The module may contain a install functiondefinstall():.inc_dirs = {dict of dest_dir:src_dir} : Dictionary to map the directory containing the header files.lib_dirs = {dict of dest_dir:src_dir} : Dictionary to map the directory containing the dynamic libraries to share.share_dirs = {dict of dest_dir:src_dir} : Dictionary to map the directory containing shared data.Additional setup.py commandscreate_namespace: create_namespace declared innamespace_packages, usage :python setup.py create_namespace.scons: call scons scripts, usage :python setup.py scons.alea_install: wrap easy_install command, usage :python setup.py alea_install.alea_upload: upload distribution forge on the openalea gforgeFor more information see :python setup.py--help-commandsSetup.py exampleimport sys
import os
from setuptools import setup, find_packages
from os.path import join as pj

build_prefix = "build-scons"

# Setup function
setup(
    name = "OpenAlea.FakePackage",
    version = "0.1",
    author = "Me",
    author_email = "me@example.com",
    description = "This is an Example Package",
    license = 'GPL',
    keywords = 'fake',
    url = 'http://myurl.com',

    # Scons
    scons_scripts = ["SConstruct"],
    scons_parameters = ["build_prefix=%s"%(build_prefix)],

    # Packages
    namespace_packages = ["openalea"],
    create_namespaces = True,
    packages = ['openalea.fakepackage', ],

    package_dir = {
                'openalea.fakepackage':  pj('src','fakepackage'),
                '' : 'src',  # necessary to use develop command
                  },
    include_package_data = True,
    zip_safe= False,

    # Specific options of openalea.deploy
    lib_dirs = { 'lib' : pj(build_prefix, 'lib'), },
    inc_dirs = { 'include' : pj(build_prefix, 'include') },
    share_dirs = { 'share' : 'share' },
    postinstall_scripts = ['openalea.fakepackage.postinstall',],

    # Scripts
    entry_points = { 'console_scripts': [
                           'fake_script = openalea.fakepackage.amodule:console_script', ],
                     'gui_scripts': [
                           'fake_gui = openalea.fakepackage.amodule:gui_script',]},

    # Dependencies
    setup_requires = ['openalea.deploy'],
    dependency_links = ['http://openalea.gforge.inria.fr/pi'],
    #install_requires = [],

)OpenAlea.Deploy 2.0.0add VirtualEnv and Conda compatibility and detectionOpenAlea.Deploy 0.9.0add bdist_rpm  optionsOpenAlea.Deploy 0.8.0Revision 2194add add_plat_name option in setuptoolsAdd Sphinx documentation in ./doc and update the setup.cfg accordinglyOpenAlea.Deploy 0.7.0Revision xxxxadd pylint option in setuptoolsadd sphinx_upload option in setuptoolsadd DYLD_LIBRARY_PATH to deploy config fileupdate documentationFixes docstrings to make them compatible with sphinx, or have a nicer outputfixes indentation issues in binary_deps and gforge_utilsfixes coding conventionsa few typosremove some warningsFixed bad indentationOpenAlea.Deploy 0.6.2Revision 1575add clean command to incorporate scons into setup.pyPort to MacFix documentation (docstrings) to remove warnings in epydoc:http://openalea.gforge.inria.fr/doc/deploy-0.6.0/Fix testsUpgrade setuptools to 0.6c9Fix PATH problem on Windows to take into account OpenAlea libraries.Version are now compared with pkg_resourcesOpenAlea.Deploy 0.4.12Fix PATH problem on Windows to take into account OpenAlea libraries.OpenAlea.Deploy 0.4.11Fix version comparison by using parse_version rather than lexical cmp.OpenAlea.Deploy 0.4.9add binary dependency declaration in binray_deps.pyOpenAlea.Deploy 0.4.8Fix upload for big filesOpenAlea.Deploy 0.4.7Add remove_package and remove_release in gforge.pyOpenAlea.Deploy 0.4.6Add get_metainfo functionOpenAlea.Deploy 0.4.5Fix alea_clean Bug (remove all site-package)OpenAlea.Deploy 0.4.4Fix bug with os.environ[‘PATH’] under windowsOpenAlea.Deploy 0.4.3Fix bug with namespace creation and complex __init__.pyOpenAlea.Deploy 0.4.2Add <alea_upload> command (GForge upload)Add gforge module (SOAP communication)Fix dyn-lib bug with virtual env and with relative pathAdd option to alea_config to print dyn-libOpenAlea.Deploy 0.4.1Fix bug with <develop> command and namespacesOpenAlea.Deploy 0.4.0Improve <develop> command : manage namespace and environment variablesReinstall shared libraries if they are missing (but not egm)Add shell command : alea_clean, alea_config and alea_updateBased on setuptools-0.6c8OpenAlea.Deploy 0.3.8Adapt develop command for lib_dir and bin_dirOpenAlea.Deploy 0.3.7Simplify the warning message for environment variable on LinuxOpenAlea.Deploy 0.3.6add get_recommended_pkg functionsOpenAlea.Deploy 0.3.5add alea_clean and alea_update_all scriptsOpenAlea.Deploy 0.3.4aFix platform detection for darwinOpenAlea.Deploy 0.3.3Execute build_ext before build_pyOpenAlea.Deploy 0.3.2Manage a list of web repositoryOpenAlea.Deploy 0.3Manage a directory of shared lib