execo


Nameexeco JSON
Version 2.7 PyPI version JSON
download
home_pagehttps://gitlab.inria.fr/mimbert/execo
SummaryPython API for asynchronous control of local or remote, standalone or parallel, unix processes.
upload_time2023-01-25 10:09:43
maintainer
docs_urlNone
authorMatthieu Imbert
requires_python
licenseGNU GPL v3
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            ********************************************
Readme / documentation for the execo package
********************************************

Execo offers a Python API for asynchronous control of local or remote,
standalone or parallel, unix processes. It is especially well suited
for quickly and easily scripting workflows of parallel/distributed
operations on local or remote hosts: automate a scientific workflow,
conduct computer science experiments, perform automated tests,
etc. The core python package is ``execo``. The ``execo_g5k`` package
provides a set of tools and extensions for the `Grid5000
<https://www.grid5000.fr>`_ testbed. The ``execo_engine`` package
provides tools to ease the development of computer sciences
experiments.

License
=======

Execo is copyright INRIA Rhone-Alpes, Service Experimentation et
Developpement.

Execo is free software: you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free
Software Foundation, either version 3 of the License, or (at your
option) any later version.

Execo is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
for more details.

You should have received a copy of the GNU General Public License
along with Execo.  If not, see <http://www.gnu.org/licenses/>

Versions
========

latest stable version: v2.7 (2023-01-25)

Installation instructions
=========================

useful links
------------

- home page:  https://gitlab.inria.fr/mimbert/execo

- documentation pages: https://mimbert.gitlabpages.inria.fr/execo/

- package download: https://gitlab.inria.fr/mimbert/execo/-/packages

- mailing lists: https://sympa.inria.fr/sympa/info/execo-users

- code repository: git@gitlab.inria.fr:mimbert/execo.git / https://gitlab.inria.fr/mimbert/execo.git

platforms
---------

- works on linux (primary development platform), darwin (macosx)

- should work on bsd (not tested)

- don't know on windows or cygwin (not tested)

prerequisites
-------------

execo installation absolutely requires ``python`` 2.6 / 2.7 or
>=3.2. ``execo_g5k`` needs ``python-requests``. Optionnal packages are
(debian package names, in order of decreasing importance):

- under python 2.6, ``python-argparse`` is needed for
  `execo_engine.engine.Engine`

- ``python-keyring`` for allowing storage of `execo_g5k.api_utils` api
  password in the desktop environment keyring (allowing asking it only
  once).

- ``python-psycopg2`` for optimized interface to Grid5000 OAR planning.

- ``sphinx-doc``, ``graphviz`` for building the documentation (usually
  not needed for regular users).

- ``python-matplotlib`` (>= 1.2.0) for some graphical representations.

- ``python-networkx``, ``python-pygraphviz``, ``graphviz`` for module
  ``execo_g5k.topology``. Later versions of networkx (at least v1.11)
  also require ``python-pydotplus``, but this dependency is not
  explicitely listed in the debian package (as of July 2017).

At runtime, connecting to remote hosts requires ``ssh``, ``scp`` or
similar connection tools, and optionnaly ``taktuk`` (probably >=
3.6. http://taktuk.gforge.inria.fr/). `execo.action.ChainPut` requires
bourne shell and ``netcat`` on remote hosts.

installation
------------

To install execo from a source package (.tar.gz) or from the git
tree::

 $ python setup.py install [--user]

to build documentation (if sphinx is available)::

 $ python setup.py build_doc

to install documentation (if sphinx is available)::

 $ python setup.py install_doc

It is possible to install execo automatically with ``pip`` or
``easy_install``::

 $ pip install --user execo

or::

 $ easy_install --user execo

It is possible to generate a debian package. For example, in the execo
package toplevel dir, run (the .deb will be generated in ../)::

 $ dpkg-buildpackage -us -uc

Usage
=====

See html documentation for module execo and execo_g5k at
https://mimbert.gitlabpages.inria.fr/execo/

Bugs
====

Execo is regularly used to perform advanced experiments and
administration / monitoring tasks, in and outside Grid5000. We
actively fix bugs. Bugs should be reported to http://bugzilla.inria.fr
(product: execo)

Publications
============

Matthieu Imbert, Laurent Pouilloux, Jonathan Rouzaud-Cornabas, Adrien
Lèbre, Takahiro Hirofuchi "`Using the EXECO toolbox to perform
automatic and reproducible cloud experiments
<http://hal.inria.fr/hal-00861886/>`_" *1st International Workshop on
UsiNg and building ClOud Testbeds UNICO, collocated with IEEE CloudCom
2013* 2013

How to contribute
=================

- start contributing by sending clean patches or report bugs.

- stay consistent with the coding and naming style

- code must be compatible with python 2.6, 2.7 and 3.2+ (see
  https://mimbert.gitlabpages.inria.fr/execo/python2-python3.html)

- use the core systems provided (eg. the configuration system, the tty
  coloring system, the logger, etc.) instead of developing your own.

- provide documented code (internal documentation as well as user
  documentation where needed)

- ask a core developer before adding a dependency or dealing with
  threads, signals (particularly: creating threads)

- indent with spaces, not tabs. one level of indentation is four
  spaces (if needed: use ``reindent.py -rnv .`` in execo top
  directory)

- recommended commit messages format:

  ``[<module_name>] <category>: commit message``.

  - <module_name> can be execo, execo_g5k, execo_engine. Omit if
    commit is not specific to a module.

  - <category> is free form but should indicate which part(s) of the
    module the commit affects. Omit if a commit is not specific to a
    module part.
            

Raw data

            {
    "_id": null,
    "home_page": "https://gitlab.inria.fr/mimbert/execo",
    "name": "execo",
    "maintainer": "",
    "docs_url": null,
    "requires_python": "",
    "maintainer_email": "",
    "keywords": "",
    "author": "Matthieu Imbert",
    "author_email": "matthieu.imbert@inria.fr",
    "download_url": "https://files.pythonhosted.org/packages/ce/eb/2dd662157ee382049661ce44bfda02319964121d91e3851ee1688b06ed4f/execo-2.7.tar.gz",
    "platform": "unix",
    "description": "********************************************\nReadme / documentation for the execo package\n********************************************\n\nExeco offers a Python API for asynchronous control of local or remote,\nstandalone or parallel, unix processes. It is especially well suited\nfor quickly and easily scripting workflows of parallel/distributed\noperations on local or remote hosts: automate a scientific workflow,\nconduct computer science experiments, perform automated tests,\netc. The core python package is ``execo``. The ``execo_g5k`` package\nprovides a set of tools and extensions for the `Grid5000\n<https://www.grid5000.fr>`_ testbed. The ``execo_engine`` package\nprovides tools to ease the development of computer sciences\nexperiments.\n\nLicense\n=======\n\nExeco is copyright INRIA Rhone-Alpes, Service Experimentation et\nDeveloppement.\n\nExeco is free software: you can redistribute it and/or modify it under\nthe terms of the GNU General Public License as published by the Free\nSoftware Foundation, either version 3 of the License, or (at your\noption) any later version.\n\nExeco is distributed in the hope that it will be useful, but WITHOUT\nANY WARRANTY; without even the implied warranty of MERCHANTABILITY or\nFITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License\nfor more details.\n\nYou should have received a copy of the GNU General Public License\nalong with Execo.  If not, see <http://www.gnu.org/licenses/>\n\nVersions\n========\n\nlatest stable version: v2.7 (2023-01-25)\n\nInstallation instructions\n=========================\n\nuseful links\n------------\n\n- home page:  https://gitlab.inria.fr/mimbert/execo\n\n- documentation pages: https://mimbert.gitlabpages.inria.fr/execo/\n\n- package download: https://gitlab.inria.fr/mimbert/execo/-/packages\n\n- mailing lists: https://sympa.inria.fr/sympa/info/execo-users\n\n- code repository: git@gitlab.inria.fr:mimbert/execo.git / https://gitlab.inria.fr/mimbert/execo.git\n\nplatforms\n---------\n\n- works on linux (primary development platform), darwin (macosx)\n\n- should work on bsd (not tested)\n\n- don't know on windows or cygwin (not tested)\n\nprerequisites\n-------------\n\nexeco installation absolutely requires ``python`` 2.6 / 2.7 or\n>=3.2. ``execo_g5k`` needs ``python-requests``. Optionnal packages are\n(debian package names, in order of decreasing importance):\n\n- under python 2.6, ``python-argparse`` is needed for\n  `execo_engine.engine.Engine`\n\n- ``python-keyring`` for allowing storage of `execo_g5k.api_utils` api\n  password in the desktop environment keyring (allowing asking it only\n  once).\n\n- ``python-psycopg2`` for optimized interface to Grid5000 OAR planning.\n\n- ``sphinx-doc``, ``graphviz`` for building the documentation (usually\n  not needed for regular users).\n\n- ``python-matplotlib`` (>= 1.2.0) for some graphical representations.\n\n- ``python-networkx``, ``python-pygraphviz``, ``graphviz`` for module\n  ``execo_g5k.topology``. Later versions of networkx (at least v1.11)\n  also require ``python-pydotplus``, but this dependency is not\n  explicitely listed in the debian package (as of July 2017).\n\nAt runtime, connecting to remote hosts requires ``ssh``, ``scp`` or\nsimilar connection tools, and optionnaly ``taktuk`` (probably >=\n3.6. http://taktuk.gforge.inria.fr/). `execo.action.ChainPut` requires\nbourne shell and ``netcat`` on remote hosts.\n\ninstallation\n------------\n\nTo install execo from a source package (.tar.gz) or from the git\ntree::\n\n $ python setup.py install [--user]\n\nto build documentation (if sphinx is available)::\n\n $ python setup.py build_doc\n\nto install documentation (if sphinx is available)::\n\n $ python setup.py install_doc\n\nIt is possible to install execo automatically with ``pip`` or\n``easy_install``::\n\n $ pip install --user execo\n\nor::\n\n $ easy_install --user execo\n\nIt is possible to generate a debian package. For example, in the execo\npackage toplevel dir, run (the .deb will be generated in ../)::\n\n $ dpkg-buildpackage -us -uc\n\nUsage\n=====\n\nSee html documentation for module execo and execo_g5k at\nhttps://mimbert.gitlabpages.inria.fr/execo/\n\nBugs\n====\n\nExeco is regularly used to perform advanced experiments and\nadministration / monitoring tasks, in and outside Grid5000. We\nactively fix bugs. Bugs should be reported to http://bugzilla.inria.fr\n(product: execo)\n\nPublications\n============\n\nMatthieu Imbert, Laurent Pouilloux, Jonathan Rouzaud-Cornabas, Adrien\nL\u00e8bre, Takahiro Hirofuchi \"`Using the EXECO toolbox to perform\nautomatic and reproducible cloud experiments\n<http://hal.inria.fr/hal-00861886/>`_\" *1st International Workshop on\nUsiNg and building ClOud Testbeds UNICO, collocated with IEEE CloudCom\n2013* 2013\n\nHow to contribute\n=================\n\n- start contributing by sending clean patches or report bugs.\n\n- stay consistent with the coding and naming style\n\n- code must be compatible with python 2.6, 2.7 and 3.2+ (see\n  https://mimbert.gitlabpages.inria.fr/execo/python2-python3.html)\n\n- use the core systems provided (eg. the configuration system, the tty\n  coloring system, the logger, etc.) instead of developing your own.\n\n- provide documented code (internal documentation as well as user\n  documentation where needed)\n\n- ask a core developer before adding a dependency or dealing with\n  threads, signals (particularly: creating threads)\n\n- indent with spaces, not tabs. one level of indentation is four\n  spaces (if needed: use ``reindent.py -rnv .`` in execo top\n  directory)\n\n- recommended commit messages format:\n\n  ``[<module_name>] <category>: commit message``.\n\n  - <module_name> can be execo, execo_g5k, execo_engine. Omit if\n    commit is not specific to a module.\n\n  - <category> is free form but should indicate which part(s) of the\n    module the commit affects. Omit if a commit is not specific to a\n    module part.",
    "bugtrack_url": null,
    "license": "GNU GPL v3",
    "summary": "Python API for asynchronous control of local or remote, standalone or parallel, unix processes.",
    "version": "2.7",
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "ceeb2dd662157ee382049661ce44bfda02319964121d91e3851ee1688b06ed4f",
                "md5": "98f098c0a60f162f1628954d1a1c4ddf",
                "sha256": "8ca5d30645c09239c525cd72206ff989fdaec0ea63f546e49c2bf1ccfa7a05ce"
            },
            "downloads": -1,
            "filename": "execo-2.7.tar.gz",
            "has_sig": false,
            "md5_digest": "98f098c0a60f162f1628954d1a1c4ddf",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 390146,
            "upload_time": "2023-01-25T10:09:43",
            "upload_time_iso_8601": "2023-01-25T10:09:43.856693Z",
            "url": "https://files.pythonhosted.org/packages/ce/eb/2dd662157ee382049661ce44bfda02319964121d91e3851ee1688b06ed4f/execo-2.7.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-01-25 10:09:43",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "lcname": "execo"
}
        
Elapsed time: 0.03258s