Metadata-Version: 2.1
Name: genie
Version: 22.9
Summary: Genie: THE standard pyATS Library System
Home-page: https://developer.cisco.com/pyats/
Author: Cisco Systems Inc.
Author-email: pyats-support-ext@cisco.com
License: Apache 2.0
Keywords: genie pyats test automation cisco netdevops
Classifier: Development Status :: 6 - Mature
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Telecommunications Industry
Classifier: Intended Audience :: Information Technology
Classifier: Intended Audience :: System Administrators
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: MacOS
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Topic :: Software Development :: Testing
Classifier: Topic :: Software Development :: Build Tools
Classifier: Topic :: Software Development :: Libraries
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.5
Requires-Dist: PrettyTable
Requires-Dist: tqdm
Requires-Dist: dill
Requires-Dist: jsonpickle
Requires-Dist: netaddr
Requires-Dist: genie.libs.conf (<22.10.0,>=22.9.0)
Requires-Dist: genie.libs.clean (<22.10.0,>=22.9.0)
Requires-Dist: genie.libs.health (<22.10.0,>=22.9.0)
Requires-Dist: genie.libs.filetransferutils (<22.10.0,>=22.9.0)
Requires-Dist: genie.libs.ops (<22.10.0,>=22.9.0)
Requires-Dist: genie.libs.parser (<22.10.0,>=22.9.0)
Requires-Dist: genie.libs.sdk (<22.10.0,>=22.9.0)
Provides-Extra: dev
Requires-Dist: coverage ; extra == 'dev'
Requires-Dist: restview ; extra == 'dev'
Requires-Dist: Sphinx ; extra == 'dev'
Requires-Dist: sphinx-rtd-theme ; extra == 'dev'
Provides-Extra: full
Requires-Dist: genie.libs.conf ; extra == 'full'
Requires-Dist: genie.libs.clean ; extra == 'full'
Requires-Dist: genie.libs.health ; extra == 'full'
Requires-Dist: genie.libs.filetransferutils ; extra == 'full'
Requires-Dist: genie.libs.ops ; extra == 'full'
Requires-Dist: genie.libs.parser ; extra == 'full'
Requires-Dist: genie.libs.sdk ; extra == 'full'
Requires-Dist: pyats.robot (<22.10.0,>=22.9.0) ; extra == 'full'
Requires-Dist: genie.libs.robot (<22.10.0,>=22.9.0) ; extra == 'full'
Requires-Dist: genie.telemetry (<22.10.0,>=22.9.0) ; extra == 'full'
Requires-Dist: genie.trafficgen (<22.10.0,>=22.9.0) ; extra == 'full'
Provides-Extra: robot
Requires-Dist: pyats.robot (<22.10.0,>=22.9.0) ; extra == 'robot'
Requires-Dist: genie.libs.robot (<22.10.0,>=22.9.0) ; extra == 'robot'

Genie - THE pyATS Standard Library
==================================

Genie is both a library framework and a test harness that facilitates rapid
development, encourage re-usable and simplify writing test automation. Genie bundled with
the modular architecture of pyATS framework accelerates and simplifies test
automation leveraging all the perks of the Python programming language in an
object-orienting fashion.

pyATS is an end-to-end testing ecosystem, specializing in data-driven and
reusable testing, and engineered to be suitable for Agile, rapid development
iterations. Extensible by design, pyATS enables developers start with small,
simple and linear test cases, and scale towards large, complex and asynchronous
test suites.

Genie was initially developed internally in Cisco, and is now available to the
general public starting early 2018 through `Cisco DevNet`_. Visit the Genie
home page at

    https://developer.cisco.com/site/pyats/

.. _Cisco DevNet: https://developer.cisco.com/


Component Breakdown
-------------------

Conf
    Sub-component of Genie that Configures topology through Python object
    attributes, featuring a common object structure. These object's structures
    means that they are compatible with all operating systems and Management
    Interfaces (such as CLI/Yang/REST, etc.)

Ops
    Sub-component of Genie that Represents the operational state of the
    feature through object attributes. These object's structures means that
    they are compatible with all operating systems and Management Interfaces
    (such as CLI/Yang/REST, etc).

Harness
    Sub-component of Genie which bring the concept of event driven
    testing into the pyATS framework. With event driven testing, script and
    testcases are derived dynamically based on selected triggers and 
    verification from the Genie SDK pool.

Utils
    as its name suggests - various utilities used throughout the infrastructure.

Requirements
------------

Genie currently supports Python 3.4+ on Linux & Mac systems. 
Windows platforms are not yet supported.

Quick Start
-----------

.. code-block:: console
    
    # install genie as a whole
    $ pip install genie

    # to upgrade this package manually
    $ pip install --upgrade genie

    # to install alpha/beta versions, add --pre
    $ pip install --pre genie

    

For more information on setting up your Python development environment,
such as creating virtual environment and installing ``pip`` on your system, 
please refer to `Virtual Environment and Packages`_ in Python tutorials.

.. _Virtual Environment and Packages: https://docs.python.org/3/tutorial/venv.html

Example
-------

Examples showcasing various features & idioms of coding can be found here:
	https://github.com/CiscoTestAutomation/examples
