Metadata-Version: 2.1
Name: enoslib
Version: 6.2.0
Summary: UNKNOWN
Home-page: https://gitlab.inria.fr/discovery/enoslib
Author: Matthieu Simonin
Author-email: matthieu.simonin@inria.fr
License: UNKNOWN
Keywords: evaluation,reproducible research,Grid5000
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: System Administrators
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Requires-Python: >=3.7
Requires-Dist: ansible (<4.0,>=2.9)
Requires-Dist: cryptography
Requires-Dist: jsonschema (<3.1.0,>=3.0.0)
Requires-Dist: execo (<2.7,>=2.6.2)
Requires-Dist: python-vagrant (>=0.5.15)
Requires-Dist: netaddr (<0.8,>=0.7)
Requires-Dist: python-grid5000 (~=1.0.0)
Requires-Dist: ring (~=0.7.2)
Requires-Dist: diskcache (~=3.1.1)
Requires-Dist: distem (~=0.0.0)
Requires-Dist: requests[socks]
Requires-Dist: iotlabcli (>=3.2.1)
Requires-Dist: iotlabsshcli (>=1.0.0)
Requires-Dist: sshtunnel (>=0.3.1)
Provides-Extra: chameleon
Requires-Dist: python-glanceclient ; extra == 'chameleon'
Requires-Dist: python-openstackclient ; extra == 'chameleon'
Requires-Dist: python-neutronclient ; extra == 'chameleon'
Requires-Dist: python-blazarclient (>=1.1.1) ; extra == 'chameleon'

**************************************************
EnOSlib: Surviving the ☆homoterogeneous☆ world
**************************************************

|Build Status| |License| |Pypi| |Pepy| |Chat|


What the ☆homoterogeneous☆ ?
----------------------------

Distributed systems practitioners on bare-metal testbeds know it: resources
(e.g. computes, networks) on a bare-metal infrastructure may have these slight
differences between each other that experimental code can become hairy. For
such code, achieving practical portability (e.g changing the infrastructure
parameters) is thus a tedious time consuming task.


☆Homoterogeneous☆ has been coined to express the gap between the idea
we have of a computing infrastructure, where resources have
static/predictable setup, and the reality of interacting with them on a daily
basis.

In this context, EnOSlib smoothes the experimental code and can

- deal with various platforms (e.g. local machine, scientific testbed, virtualized environments)
- interact programmatically with different your remote resources: compute
  (servers, containers) and networks (ipv4, ipv6)
- deploy *ready-to-use* experimentation services (e.g instrumentation, observability tools).
- emulate complex network topologies (e.g for your FOG experiments)
- integrate your code with interactive development environment like Jupyter.


The software
------------

EnOSlib has been initially developed in the context of the `Discovery
<https://beyondtheclouds.github.io/>`_ initiative and is released under the
GPLv3 licence. It's a library written in Python: you are free to import it in
your code and cherry-pick any of its functions.


.. hint::

   You can install EnOSlib with pip:

   .. code-block ::

      pip install enoslib

   For developping EnOSlib or get the *in development* version:

   .. code-block ::

      git clone https://gitlab.inria.fr/discovery/enoslib.git
      cd enoslib && pip install -U -e .


Links
-----

- Documentation: https://discovery.gitlabpages.inria.fr/enoslib/
- Source: https://gitlab.inria.fr/discovery/enoslib
- Chat: https://framateam.org/enoslib


.. |Build Status| image:: https://gitlab.inria.fr/discovery/enoslib/badges/master/pipeline.svg
   :target: https://gitlab.inria.fr/discovery/enoslib/pipelines

.. |License| image:: https://img.shields.io/badge/License-GPL%20v3-blue.svg
   :target: https://www.gnu.org/licenses/gpl-3.0

.. |Pypi| image:: https://badge.fury.io/py/enoslib.svg
   :target: https://badge.fury.io/py/enoslib

.. |Pepy| image:: https://pepy.tech/badge/enoslib/week
   :target: https://pepy.tech/project/enoslib


.. |Chat| image:: https://img.shields.io/badge/mattermost-enoslib-blueviolet
   :target: https://framateam.org/enoslib/channels/town-square



