Metadata-Version: 2.0
Name: aeoncloud
Version: 0.1.4
Summary: Aeon Cloud Python
Home-page: https://ultigit.ultimatesoftware.com/projects/VT/repos/aeon-cloud-python-client/browse
Author: Genesis
Author-email: dev-genesis@ultimatesoftware.com
License: UNKNOWN
Platform: UNKNOWN
Classifier: Programming Language :: Python :: 3
Classifier: Operating System :: OS Independent
Requires-Dist: requests
Requires-Dist: aiohttp

# Aeon Cloud Client

## Install Aeon Cloud

The Aeon Cloud client is hosted on Artifactory and can be installed via Pip.

```bash
pip install aeoncloud -i <artifactory_url_here>
```

## Run a Blocking Session Client

Note,  settings can be any Aeon property used by Aeon.

```python
from aeoncloud import get_session_factory

aeon = get_session_factory()
session = aeon.get_session(settings={
    'settings': {
        'aeon.platform.http.url': 'http://localhost:8081/api/v1/',
        'aeon.browser': 'Chrome',
        'aeon.environment': 'launch-web.apps.mia.ulti.io',
        'aeon.protocol': 'https',
        'aeon.timeout': 10,
        'aeon.wait_for_ajax_responses': True,
        }
    })
session.execute_command('GoToUrlCommand', ['https://google.com'])
session.quit_session()
```

## Run an Async Session Client

A reactor loop of some type is required to run async Python code, in addtion to Python 3.5 and above.
In the example below retrieving an existing session is also demoed.

```python
import asyncio

from aeoncloud import get_session_factory

async def do():
    # Setup Session
    aeon = get_session_factory()
    session = await aeon.get_async_session(settings={
        'settings': {
            'aeon.platform.http.url': 'http://localhost:8081/api/v1/',
            'aeon.browser': 'Chrome',
            'aeon.environment': 'launch-web.apps.mia.ulti.io',
            'aeon.protocol': 'https',
            'aeon.timeout': 10,
            'aeon.wait_for_ajax_responses': True,
            }
        })

    # Execute command on session
    await session.execute_command('GoToUrlCommand', ['https://google.com'])

    # Setup the session again
    session = await aeon.get_async_session(settings={
        'settings': {
            'aeon.platform.http.url': 'http://localhost:8081/api/v1/',
            'aeon.browser': 'Chrome',
            'aeon.environment': 'launch-web.apps.mia.ulti.io',
            'aeon.protocol': 'https',
            'aeon.timeout': 10,
            'aeon.wait_for_ajax_responses': True,
            'aeon.platform.session_id': session.session_id
            },
        })

    # Execute command on restored session
    await session.execute_command('GoToUrlCommand', ['https://microsoft.com'])

    # Kill session
    await session.quit_session()


loop = asyncio.get_event_loop()
loop.run_until_complete(do())
```


