Metadata-Version: 2.1
Name: enoslib
Version: 8.4.0
Summary: UNKNOWN
Home-page: https://discovery.gitlabpages.inria.fr/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
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Requires-Python: >=3.7
License-File: LICENSE.txt
Requires-Dist: ansible <8,>=2.9
Requires-Dist: cryptography
Requires-Dist: jsonschema <5,>=3.0.0
Requires-Dist: netaddr ~=0.8.0
Requires-Dist: requests[socks]
Requires-Dist: rich[jupyter] ~=12.0.0
Requires-Dist: sshtunnel >=0.3.1
Requires-Dist: pytz ~=2022.1
Requires-Dist: packaging >=21.3
Requires-Dist: importlib-resources <6,>=5
Requires-Dist: importlib-metadata <7,>=6
Requires-Dist: python-grid5000 <2.0.0,>=1.2.3
Provides-Extra: all
Requires-Dist: python-chi ~=0.17 ; extra == 'all'
Requires-Dist: python-glanceclient <4.0.0 ; extra == 'all'
Requires-Dist: python-openstackclient <6.0.0 ; extra == 'all'
Requires-Dist: python-neutronclient <8.0.0 ; extra == 'all'
Requires-Dist: python-blazarclient <4.0.0,>=1.1.1 ; extra == 'all'
Requires-Dist: python-cinderclient <9.0.0 ; extra == 'all'
Requires-Dist: openstacksdk <=1.4.0 ; extra == 'all'
Requires-Dist: iotlabcli >=3.2.1 ; extra == 'all'
Requires-Dist: iotlabsshcli >=1.0.0 ; extra == 'all'
Requires-Dist: python-vagrant >=0.5.15 ; extra == 'all'
Requires-Dist: distem ~=0.0.0 ; extra == 'all'
Provides-Extra: analysis
Requires-Dist: pandas ; extra == 'analysis'
Provides-Extra: chameleon
Requires-Dist: python-chi ~=0.17 ; extra == 'chameleon'
Requires-Dist: python-glanceclient <4.0.0 ; extra == 'chameleon'
Requires-Dist: python-openstackclient <6.0.0 ; extra == 'chameleon'
Requires-Dist: python-neutronclient <8.0.0 ; extra == 'chameleon'
Requires-Dist: python-blazarclient <4.0.0,>=1.1.1 ; extra == 'chameleon'
Requires-Dist: python-cinderclient <9.0.0 ; extra == 'chameleon'
Requires-Dist: openstacksdk <=1.4.0 ; extra == 'chameleon'
Provides-Extra: dev
Requires-Dist: flake8 >=3.3.0 ; extra == 'dev'
Requires-Dist: pytest ; extra == 'dev'
Requires-Dist: freezegun >=1.2.1 ; extra == 'dev'
Requires-Dist: pytest-cov ; extra == 'dev'
Requires-Dist: mock >=2.0.0 ; extra == 'dev'
Requires-Dist: ddt >=1.1.0 ; extra == 'dev'
Requires-Dist: sphinx ; extra == 'dev'
Requires-Dist: pydata-sphinx-theme ; extra == 'dev'
Requires-Dist: autodocsumm ; extra == 'dev'
Requires-Dist: nbsphinx ; extra == 'dev'
Requires-Dist: sphinx-design ; extra == 'dev'
Requires-Dist: sphinx-jsonschema ; extra == 'dev'
Requires-Dist: requests[socks] ; extra == 'dev'
Requires-Dist: mypy ==0.991 ; extra == 'dev'
Requires-Dist: ipdb ; extra == 'dev'
Requires-Dist: pylint ; extra == 'dev'
Provides-Extra: distem
Requires-Dist: distem ~=0.0.0 ; extra == 'distem'
Provides-Extra: iotlab
Requires-Dist: iotlabcli >=3.2.1 ; extra == 'iotlab'
Requires-Dist: iotlabsshcli >=1.0.0 ; extra == 'iotlab'
Provides-Extra: silecs
Requires-Dist: iotlabcli >=3.2.1 ; extra == 'silecs'
Requires-Dist: iotlabsshcli >=1.0.0 ; extra == 'silecs'
Provides-Extra: vagrant
Requires-Dist: python-vagrant >=0.5.15 ; extra == 'vagrant'

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

|Code| |Doc| |Build Status| |License| |Pypi| |Pepy| |Chat| |SW|


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 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.


.. |Code| image:: https://img.shields.io/badge/code-gitlab-orange
   :target: https://gitlab.inria.fr/discovery/enoslib

.. |Doc| image:: https://img.shields.io/badge/documentation-enoslib-blue
   :target: https://discovery.gitlabpages.inria.fr/enoslib/index.html

.. |Build Status| image:: https://gitlab.inria.fr/discovery/enoslib/badges/main/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

.. |SW| image:: https://archive.softwareheritage.org/badge/origin/https://gitlab.inria.fr/discovery/enoslib.git/
    :target: https://archive.softwareheritage.org/browse/origin/?origin_url=https://gitlab.inria.fr/discovery/enoslib.git


