Skip to main content

A python library to use Simulagora programatically

Project description

Summary

A python library to use Simulagora programatically either directly from the command line or via a Python program.

Prerequisites

You will need a proper installation of cwclientlib, which itself requires Python 2.7 and Python requests.

An account on Simulagora is of course also needed.

Using Simulagora client

  1. Log in on Simulagora and consult the token that was generated for you at the dedicated URL;

  2. Create a cwclientlibrc file in your user’s .config directory (only readable by yourself), like:

    [simulagora]
    url = https://www.simulagora.com
    token-id = the token id
    secret = the token itself

Examples

Examples directly from the command line. Get a list of the studies you can access:

$ simulagora studies
[{'eid': 4173, 'name': u'Study 1'},
 {'eid': 4277, 'name': u'Study 2'},
 {'eid': 4310, 'name': u'Study 3'}]
$ simulagora executables
[{'eid': 2454, 'name': u'Attente (secondes)'},
 {'eid': 2470, 'name': u'paraview'},
 {'eid': 4672, 'name': u'bash_command #0'},
 {'eid': 4883, 'name': u'lmgc90_donut'}]

A more complete example using Python. Create a “Code Aster piston test” study and an eponym folder, upload the data in it, and run a Code Aster computation with this data as an input on a “m1.large” server, equiped with the last Simulagora machine image (which currently has Code Aster 11.5):

from simulagora import Simulagora
from time import sleep

client = Simulagora.for_instance('simulagora')

# create the folder, upload the files and get their identifiers
folder = client.create_folder('Code Aster piston test')
file_eids = client.upload_files(folder, 'piston.comm', 'piston.mmed', 'piston.export')

# get the "bash command" executable which will run the "as_run" command
executable = client.find_one('Executable', name='bash command')
params = {'command': 'as_run piston.export'}

# get the server type, create the study and the run, then start it
server_type = client.find_one('CloudServerType', name='m3.xlarge')
study = client.create_study('Code Aster piston test')
run = client.create_run(study, executable, server_type, file_eids, params)
client.start_run(run)

# check its state every 5 seconds until its crashed or completed
state = None
while state not in ('wfs_run_crashed', 'wfs_run_completed'):
    state = client.state(run)
    sleep(5)
print "Run " + state.rsplit('_', 1)[-1]

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

simulagora-0.5.0.tar.gz (19.3 kB view details)

Uploaded Source

File details

Details for the file simulagora-0.5.0.tar.gz.

File metadata

  • Download URL: simulagora-0.5.0.tar.gz
  • Upload date:
  • Size: 19.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for simulagora-0.5.0.tar.gz
Algorithm Hash digest
SHA256 867e795845cec282bdb12ff6870e072d387219f2bf1ff66ef0db82c59c3bf224
MD5 4f1f7e600eb96b5f5b43f1fe199f9d1f
BLAKE2b-256 dffa5976082e33a037722535a79ace871fd02630b3e34826989d4d5948b6ad8f

See more details on using hashes here.

Provenance

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page