You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by sm...@apache.org on 2016/08/09 18:00:46 UTC

[06/32] airavata-sandbox git commit: adding jupyter note books for Airavata

http://git-wip-us.apache.org/repos/asf/airavata-sandbox/blob/75eb96c2/Interacting_with_Airavata_using_ipython_Notebook/create-experiment/apache/airavata/model/status/__init__.py
----------------------------------------------------------------------
diff --git a/Interacting_with_Airavata_using_ipython_Notebook/create-experiment/apache/airavata/model/status/__init__.py b/Interacting_with_Airavata_using_ipython_Notebook/create-experiment/apache/airavata/model/status/__init__.py
new file mode 100644
index 0000000..adefd8e
--- /dev/null
+++ b/Interacting_with_Airavata_using_ipython_Notebook/create-experiment/apache/airavata/model/status/__init__.py
@@ -0,0 +1 @@
+__all__ = ['ttypes', 'constants']

http://git-wip-us.apache.org/repos/asf/airavata-sandbox/blob/75eb96c2/Interacting_with_Airavata_using_ipython_Notebook/create-experiment/apache/airavata/model/status/__init__.pyc
----------------------------------------------------------------------
diff --git a/Interacting_with_Airavata_using_ipython_Notebook/create-experiment/apache/airavata/model/status/__init__.pyc b/Interacting_with_Airavata_using_ipython_Notebook/create-experiment/apache/airavata/model/status/__init__.pyc
new file mode 100644
index 0000000..e152584
Binary files /dev/null and b/Interacting_with_Airavata_using_ipython_Notebook/create-experiment/apache/airavata/model/status/__init__.pyc differ

http://git-wip-us.apache.org/repos/asf/airavata-sandbox/blob/75eb96c2/Interacting_with_Airavata_using_ipython_Notebook/create-experiment/apache/airavata/model/status/constants.py
----------------------------------------------------------------------
diff --git a/Interacting_with_Airavata_using_ipython_Notebook/create-experiment/apache/airavata/model/status/constants.py b/Interacting_with_Airavata_using_ipython_Notebook/create-experiment/apache/airavata/model/status/constants.py
new file mode 100644
index 0000000..4a6492b
--- /dev/null
+++ b/Interacting_with_Airavata_using_ipython_Notebook/create-experiment/apache/airavata/model/status/constants.py
@@ -0,0 +1,11 @@
+#
+# Autogenerated by Thrift Compiler (0.9.3)
+#
+# DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+#
+#  options string: py
+#
+
+from thrift.Thrift import TType, TMessageType, TException, TApplicationException
+from ttypes import *
+

http://git-wip-us.apache.org/repos/asf/airavata-sandbox/blob/75eb96c2/Interacting_with_Airavata_using_ipython_Notebook/create-experiment/apache/airavata/model/status/ttypes.py
----------------------------------------------------------------------
diff --git a/Interacting_with_Airavata_using_ipython_Notebook/create-experiment/apache/airavata/model/status/ttypes.py b/Interacting_with_Airavata_using_ipython_Notebook/create-experiment/apache/airavata/model/status/ttypes.py
new file mode 100644
index 0000000..f5280cd
--- /dev/null
+++ b/Interacting_with_Airavata_using_ipython_Notebook/create-experiment/apache/airavata/model/status/ttypes.py
@@ -0,0 +1,542 @@
+#
+# Autogenerated by Thrift Compiler (0.9.3)
+#
+# DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+#
+#  options string: py
+#
+
+from thrift.Thrift import TType, TMessageType, TException, TApplicationException
+
+from thrift.transport import TTransport
+from thrift.protocol import TBinaryProtocol, TProtocol
+try:
+  from thrift.protocol import fastbinary
+except:
+  fastbinary = None
+
+
+class ExperimentState:
+  CREATED = 0
+  VALIDATED = 1
+  SCHEDULED = 2
+  LAUNCHED = 3
+  EXECUTING = 4
+  CANCELING = 5
+  CANCELED = 6
+  COMPLETED = 7
+  FAILED = 8
+
+  _VALUES_TO_NAMES = {
+    0: "CREATED",
+    1: "VALIDATED",
+    2: "SCHEDULED",
+    3: "LAUNCHED",
+    4: "EXECUTING",
+    5: "CANCELING",
+    6: "CANCELED",
+    7: "COMPLETED",
+    8: "FAILED",
+  }
+
+  _NAMES_TO_VALUES = {
+    "CREATED": 0,
+    "VALIDATED": 1,
+    "SCHEDULED": 2,
+    "LAUNCHED": 3,
+    "EXECUTING": 4,
+    "CANCELING": 5,
+    "CANCELED": 6,
+    "COMPLETED": 7,
+    "FAILED": 8,
+  }
+
+class TaskState:
+  CREATED = 0
+  EXECUTING = 1
+  COMPLETED = 2
+  FAILED = 3
+  CANCELED = 4
+
+  _VALUES_TO_NAMES = {
+    0: "CREATED",
+    1: "EXECUTING",
+    2: "COMPLETED",
+    3: "FAILED",
+    4: "CANCELED",
+  }
+
+  _NAMES_TO_VALUES = {
+    "CREATED": 0,
+    "EXECUTING": 1,
+    "COMPLETED": 2,
+    "FAILED": 3,
+    "CANCELED": 4,
+  }
+
+class ProcessState:
+  CREATED = 0
+  VALIDATED = 1
+  STARTED = 2
+  PRE_PROCESSING = 3
+  CONFIGURING_WORKSPACE = 4
+  INPUT_DATA_STAGING = 5
+  EXECUTING = 6
+  MONITORING = 7
+  OUTPUT_DATA_STAGING = 8
+  POST_PROCESSING = 9
+  COMPLETED = 10
+  FAILED = 11
+  CANCELLING = 12
+  CANCELED = 13
+
+  _VALUES_TO_NAMES = {
+    0: "CREATED",
+    1: "VALIDATED",
+    2: "STARTED",
+    3: "PRE_PROCESSING",
+    4: "CONFIGURING_WORKSPACE",
+    5: "INPUT_DATA_STAGING",
+    6: "EXECUTING",
+    7: "MONITORING",
+    8: "OUTPUT_DATA_STAGING",
+    9: "POST_PROCESSING",
+    10: "COMPLETED",
+    11: "FAILED",
+    12: "CANCELLING",
+    13: "CANCELED",
+  }
+
+  _NAMES_TO_VALUES = {
+    "CREATED": 0,
+    "VALIDATED": 1,
+    "STARTED": 2,
+    "PRE_PROCESSING": 3,
+    "CONFIGURING_WORKSPACE": 4,
+    "INPUT_DATA_STAGING": 5,
+    "EXECUTING": 6,
+    "MONITORING": 7,
+    "OUTPUT_DATA_STAGING": 8,
+    "POST_PROCESSING": 9,
+    "COMPLETED": 10,
+    "FAILED": 11,
+    "CANCELLING": 12,
+    "CANCELED": 13,
+  }
+
+class JobState:
+  SUBMITTED = 0
+  QUEUED = 1
+  ACTIVE = 2
+  COMPLETE = 3
+  CANCELED = 4
+  FAILED = 5
+  SUSPENDED = 6
+  UNKNOWN = 7
+
+  _VALUES_TO_NAMES = {
+    0: "SUBMITTED",
+    1: "QUEUED",
+    2: "ACTIVE",
+    3: "COMPLETE",
+    4: "CANCELED",
+    5: "FAILED",
+    6: "SUSPENDED",
+    7: "UNKNOWN",
+  }
+
+  _NAMES_TO_VALUES = {
+    "SUBMITTED": 0,
+    "QUEUED": 1,
+    "ACTIVE": 2,
+    "COMPLETE": 3,
+    "CANCELED": 4,
+    "FAILED": 5,
+    "SUSPENDED": 6,
+    "UNKNOWN": 7,
+  }
+
+
+class ExperimentStatus:
+  """
+  Status: A generic status object.
+
+  state:
+    State .
+
+  timeOfStateChange:
+    time the status was last updated.
+
+  reason:
+    User friendly reason on how the state is inferred.
+
+
+  Attributes:
+   - state
+   - timeOfStateChange
+   - reason
+  """
+
+  thrift_spec = (
+    None, # 0
+    (1, TType.I32, 'state', None, None, ), # 1
+    (2, TType.I64, 'timeOfStateChange', None, None, ), # 2
+    (3, TType.STRING, 'reason', None, None, ), # 3
+  )
+
+  def __init__(self, state=None, timeOfStateChange=None, reason=None,):
+    self.state = state
+    self.timeOfStateChange = timeOfStateChange
+    self.reason = reason
+
+  def read(self, iprot):
+    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
+      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))
+      return
+    iprot.readStructBegin()
+    while True:
+      (fname, ftype, fid) = iprot.readFieldBegin()
+      if ftype == TType.STOP:
+        break
+      if fid == 1:
+        if ftype == TType.I32:
+          self.state = iprot.readI32()
+        else:
+          iprot.skip(ftype)
+      elif fid == 2:
+        if ftype == TType.I64:
+          self.timeOfStateChange = iprot.readI64()
+        else:
+          iprot.skip(ftype)
+      elif fid == 3:
+        if ftype == TType.STRING:
+          self.reason = iprot.readString()
+        else:
+          iprot.skip(ftype)
+      else:
+        iprot.skip(ftype)
+      iprot.readFieldEnd()
+    iprot.readStructEnd()
+
+  def write(self, oprot):
+    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:
+      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))
+      return
+    oprot.writeStructBegin('ExperimentStatus')
+    if self.state is not None:
+      oprot.writeFieldBegin('state', TType.I32, 1)
+      oprot.writeI32(self.state)
+      oprot.writeFieldEnd()
+    if self.timeOfStateChange is not None:
+      oprot.writeFieldBegin('timeOfStateChange', TType.I64, 2)
+      oprot.writeI64(self.timeOfStateChange)
+      oprot.writeFieldEnd()
+    if self.reason is not None:
+      oprot.writeFieldBegin('reason', TType.STRING, 3)
+      oprot.writeString(self.reason)
+      oprot.writeFieldEnd()
+    oprot.writeFieldStop()
+    oprot.writeStructEnd()
+
+  def validate(self):
+    if self.state is None:
+      raise TProtocol.TProtocolException(message='Required field state is unset!')
+    return
+
+
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.state)
+    value = (value * 31) ^ hash(self.timeOfStateChange)
+    value = (value * 31) ^ hash(self.reason)
+    return value
+
+  def __repr__(self):
+    L = ['%s=%r' % (key, value)
+      for key, value in self.__dict__.iteritems()]
+    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
+
+  def __eq__(self, other):
+    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
+
+  def __ne__(self, other):
+    return not (self == other)
+
+class ProcessStatus:
+  """
+  Attributes:
+   - state
+   - timeOfStateChange
+   - reason
+  """
+
+  thrift_spec = (
+    None, # 0
+    (1, TType.I32, 'state', None, None, ), # 1
+    (2, TType.I64, 'timeOfStateChange', None, None, ), # 2
+    (3, TType.STRING, 'reason', None, None, ), # 3
+  )
+
+  def __init__(self, state=None, timeOfStateChange=None, reason=None,):
+    self.state = state
+    self.timeOfStateChange = timeOfStateChange
+    self.reason = reason
+
+  def read(self, iprot):
+    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
+      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))
+      return
+    iprot.readStructBegin()
+    while True:
+      (fname, ftype, fid) = iprot.readFieldBegin()
+      if ftype == TType.STOP:
+        break
+      if fid == 1:
+        if ftype == TType.I32:
+          self.state = iprot.readI32()
+        else:
+          iprot.skip(ftype)
+      elif fid == 2:
+        if ftype == TType.I64:
+          self.timeOfStateChange = iprot.readI64()
+        else:
+          iprot.skip(ftype)
+      elif fid == 3:
+        if ftype == TType.STRING:
+          self.reason = iprot.readString()
+        else:
+          iprot.skip(ftype)
+      else:
+        iprot.skip(ftype)
+      iprot.readFieldEnd()
+    iprot.readStructEnd()
+
+  def write(self, oprot):
+    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:
+      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))
+      return
+    oprot.writeStructBegin('ProcessStatus')
+    if self.state is not None:
+      oprot.writeFieldBegin('state', TType.I32, 1)
+      oprot.writeI32(self.state)
+      oprot.writeFieldEnd()
+    if self.timeOfStateChange is not None:
+      oprot.writeFieldBegin('timeOfStateChange', TType.I64, 2)
+      oprot.writeI64(self.timeOfStateChange)
+      oprot.writeFieldEnd()
+    if self.reason is not None:
+      oprot.writeFieldBegin('reason', TType.STRING, 3)
+      oprot.writeString(self.reason)
+      oprot.writeFieldEnd()
+    oprot.writeFieldStop()
+    oprot.writeStructEnd()
+
+  def validate(self):
+    if self.state is None:
+      raise TProtocol.TProtocolException(message='Required field state is unset!')
+    return
+
+
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.state)
+    value = (value * 31) ^ hash(self.timeOfStateChange)
+    value = (value * 31) ^ hash(self.reason)
+    return value
+
+  def __repr__(self):
+    L = ['%s=%r' % (key, value)
+      for key, value in self.__dict__.iteritems()]
+    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
+
+  def __eq__(self, other):
+    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
+
+  def __ne__(self, other):
+    return not (self == other)
+
+class TaskStatus:
+  """
+  Attributes:
+   - state
+   - timeOfStateChange
+   - reason
+  """
+
+  thrift_spec = (
+    None, # 0
+    (1, TType.I32, 'state', None, None, ), # 1
+    (2, TType.I64, 'timeOfStateChange', None, None, ), # 2
+    (3, TType.STRING, 'reason', None, None, ), # 3
+  )
+
+  def __init__(self, state=None, timeOfStateChange=None, reason=None,):
+    self.state = state
+    self.timeOfStateChange = timeOfStateChange
+    self.reason = reason
+
+  def read(self, iprot):
+    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
+      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))
+      return
+    iprot.readStructBegin()
+    while True:
+      (fname, ftype, fid) = iprot.readFieldBegin()
+      if ftype == TType.STOP:
+        break
+      if fid == 1:
+        if ftype == TType.I32:
+          self.state = iprot.readI32()
+        else:
+          iprot.skip(ftype)
+      elif fid == 2:
+        if ftype == TType.I64:
+          self.timeOfStateChange = iprot.readI64()
+        else:
+          iprot.skip(ftype)
+      elif fid == 3:
+        if ftype == TType.STRING:
+          self.reason = iprot.readString()
+        else:
+          iprot.skip(ftype)
+      else:
+        iprot.skip(ftype)
+      iprot.readFieldEnd()
+    iprot.readStructEnd()
+
+  def write(self, oprot):
+    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:
+      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))
+      return
+    oprot.writeStructBegin('TaskStatus')
+    if self.state is not None:
+      oprot.writeFieldBegin('state', TType.I32, 1)
+      oprot.writeI32(self.state)
+      oprot.writeFieldEnd()
+    if self.timeOfStateChange is not None:
+      oprot.writeFieldBegin('timeOfStateChange', TType.I64, 2)
+      oprot.writeI64(self.timeOfStateChange)
+      oprot.writeFieldEnd()
+    if self.reason is not None:
+      oprot.writeFieldBegin('reason', TType.STRING, 3)
+      oprot.writeString(self.reason)
+      oprot.writeFieldEnd()
+    oprot.writeFieldStop()
+    oprot.writeStructEnd()
+
+  def validate(self):
+    if self.state is None:
+      raise TProtocol.TProtocolException(message='Required field state is unset!')
+    return
+
+
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.state)
+    value = (value * 31) ^ hash(self.timeOfStateChange)
+    value = (value * 31) ^ hash(self.reason)
+    return value
+
+  def __repr__(self):
+    L = ['%s=%r' % (key, value)
+      for key, value in self.__dict__.iteritems()]
+    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
+
+  def __eq__(self, other):
+    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
+
+  def __ne__(self, other):
+    return not (self == other)
+
+class JobStatus:
+  """
+  Attributes:
+   - jobState
+   - timeOfStateChange
+   - reason
+  """
+
+  thrift_spec = (
+    None, # 0
+    (1, TType.I32, 'jobState', None, None, ), # 1
+    (2, TType.I64, 'timeOfStateChange', None, None, ), # 2
+    (3, TType.STRING, 'reason', None, None, ), # 3
+  )
+
+  def __init__(self, jobState=None, timeOfStateChange=None, reason=None,):
+    self.jobState = jobState
+    self.timeOfStateChange = timeOfStateChange
+    self.reason = reason
+
+  def read(self, iprot):
+    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
+      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))
+      return
+    iprot.readStructBegin()
+    while True:
+      (fname, ftype, fid) = iprot.readFieldBegin()
+      if ftype == TType.STOP:
+        break
+      if fid == 1:
+        if ftype == TType.I32:
+          self.jobState = iprot.readI32()
+        else:
+          iprot.skip(ftype)
+      elif fid == 2:
+        if ftype == TType.I64:
+          self.timeOfStateChange = iprot.readI64()
+        else:
+          iprot.skip(ftype)
+      elif fid == 3:
+        if ftype == TType.STRING:
+          self.reason = iprot.readString()
+        else:
+          iprot.skip(ftype)
+      else:
+        iprot.skip(ftype)
+      iprot.readFieldEnd()
+    iprot.readStructEnd()
+
+  def write(self, oprot):
+    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:
+      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))
+      return
+    oprot.writeStructBegin('JobStatus')
+    if self.jobState is not None:
+      oprot.writeFieldBegin('jobState', TType.I32, 1)
+      oprot.writeI32(self.jobState)
+      oprot.writeFieldEnd()
+    if self.timeOfStateChange is not None:
+      oprot.writeFieldBegin('timeOfStateChange', TType.I64, 2)
+      oprot.writeI64(self.timeOfStateChange)
+      oprot.writeFieldEnd()
+    if self.reason is not None:
+      oprot.writeFieldBegin('reason', TType.STRING, 3)
+      oprot.writeString(self.reason)
+      oprot.writeFieldEnd()
+    oprot.writeFieldStop()
+    oprot.writeStructEnd()
+
+  def validate(self):
+    if self.jobState is None:
+      raise TProtocol.TProtocolException(message='Required field jobState is unset!')
+    return
+
+
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.jobState)
+    value = (value * 31) ^ hash(self.timeOfStateChange)
+    value = (value * 31) ^ hash(self.reason)
+    return value
+
+  def __repr__(self):
+    L = ['%s=%r' % (key, value)
+      for key, value in self.__dict__.iteritems()]
+    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
+
+  def __eq__(self, other):
+    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
+
+  def __ne__(self, other):
+    return not (self == other)

http://git-wip-us.apache.org/repos/asf/airavata-sandbox/blob/75eb96c2/Interacting_with_Airavata_using_ipython_Notebook/create-experiment/apache/airavata/model/status/ttypes.pyc
----------------------------------------------------------------------
diff --git a/Interacting_with_Airavata_using_ipython_Notebook/create-experiment/apache/airavata/model/status/ttypes.pyc b/Interacting_with_Airavata_using_ipython_Notebook/create-experiment/apache/airavata/model/status/ttypes.pyc
new file mode 100644
index 0000000..6997fb0
Binary files /dev/null and b/Interacting_with_Airavata_using_ipython_Notebook/create-experiment/apache/airavata/model/status/ttypes.pyc differ

http://git-wip-us.apache.org/repos/asf/airavata-sandbox/blob/75eb96c2/Interacting_with_Airavata_using_ipython_Notebook/create-experiment/apache/airavata/model/task/__init__.py
----------------------------------------------------------------------
diff --git a/Interacting_with_Airavata_using_ipython_Notebook/create-experiment/apache/airavata/model/task/__init__.py b/Interacting_with_Airavata_using_ipython_Notebook/create-experiment/apache/airavata/model/task/__init__.py
new file mode 100644
index 0000000..adefd8e
--- /dev/null
+++ b/Interacting_with_Airavata_using_ipython_Notebook/create-experiment/apache/airavata/model/task/__init__.py
@@ -0,0 +1 @@
+__all__ = ['ttypes', 'constants']

http://git-wip-us.apache.org/repos/asf/airavata-sandbox/blob/75eb96c2/Interacting_with_Airavata_using_ipython_Notebook/create-experiment/apache/airavata/model/task/__init__.pyc
----------------------------------------------------------------------
diff --git a/Interacting_with_Airavata_using_ipython_Notebook/create-experiment/apache/airavata/model/task/__init__.pyc b/Interacting_with_Airavata_using_ipython_Notebook/create-experiment/apache/airavata/model/task/__init__.pyc
new file mode 100644
index 0000000..3a2b6e8
Binary files /dev/null and b/Interacting_with_Airavata_using_ipython_Notebook/create-experiment/apache/airavata/model/task/__init__.pyc differ

http://git-wip-us.apache.org/repos/asf/airavata-sandbox/blob/75eb96c2/Interacting_with_Airavata_using_ipython_Notebook/create-experiment/apache/airavata/model/task/constants.py
----------------------------------------------------------------------
diff --git a/Interacting_with_Airavata_using_ipython_Notebook/create-experiment/apache/airavata/model/task/constants.py b/Interacting_with_Airavata_using_ipython_Notebook/create-experiment/apache/airavata/model/task/constants.py
new file mode 100644
index 0000000..4a6492b
--- /dev/null
+++ b/Interacting_with_Airavata_using_ipython_Notebook/create-experiment/apache/airavata/model/task/constants.py
@@ -0,0 +1,11 @@
+#
+# Autogenerated by Thrift Compiler (0.9.3)
+#
+# DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+#
+#  options string: py
+#
+
+from thrift.Thrift import TType, TMessageType, TException, TApplicationException
+from ttypes import *
+

http://git-wip-us.apache.org/repos/asf/airavata-sandbox/blob/75eb96c2/Interacting_with_Airavata_using_ipython_Notebook/create-experiment/apache/airavata/model/task/ttypes.py
----------------------------------------------------------------------
diff --git a/Interacting_with_Airavata_using_ipython_Notebook/create-experiment/apache/airavata/model/task/ttypes.py b/Interacting_with_Airavata_using_ipython_Notebook/create-experiment/apache/airavata/model/task/ttypes.py
new file mode 100644
index 0000000..ff6d729
--- /dev/null
+++ b/Interacting_with_Airavata_using_ipython_Notebook/create-experiment/apache/airavata/model/task/ttypes.py
@@ -0,0 +1,703 @@
+#
+# Autogenerated by Thrift Compiler (0.9.3)
+#
+# DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+#
+#  options string: py
+#
+
+from thrift.Thrift import TType, TMessageType, TException, TApplicationException
+import apache.airavata.model.commons.ttypes
+import apache.airavata.model.appcatalog.computeresource.ttypes
+import apache.airavata.model.data.movement.ttypes
+import apache.airavata.model.application.io.ttypes
+import apache.airavata.model.status.ttypes
+import apache.airavata.model.job.ttypes
+
+
+from thrift.transport import TTransport
+from thrift.protocol import TBinaryProtocol, TProtocol
+try:
+  from thrift.protocol import fastbinary
+except:
+  fastbinary = None
+
+
+class TaskTypes:
+  """
+  TaskTypes: An enumerated list of TaskTypes. Task being generic, the task type will provide the concrete interpretation.
+
+  """
+  ENV_SETUP = 0
+  DATA_STAGING = 1
+  JOB_SUBMISSION = 2
+  ENV_CLEANUP = 3
+  MONITORING = 4
+  OUTPUT_FETCHING = 5
+
+  _VALUES_TO_NAMES = {
+    0: "ENV_SETUP",
+    1: "DATA_STAGING",
+    2: "JOB_SUBMISSION",
+    3: "ENV_CLEANUP",
+    4: "MONITORING",
+    5: "OUTPUT_FETCHING",
+  }
+
+  _NAMES_TO_VALUES = {
+    "ENV_SETUP": 0,
+    "DATA_STAGING": 1,
+    "JOB_SUBMISSION": 2,
+    "ENV_CLEANUP": 3,
+    "MONITORING": 4,
+    "OUTPUT_FETCHING": 5,
+  }
+
+class DataStageType:
+  """
+  DataStagingTaskModel: A structure holding the data staging task details.
+
+  Source and Destination locations includes standard representation of protocol, host, port and path
+    A friendly description of the task, usally used to communicate information to users.
+
+  """
+  INPUT = 0
+  OUPUT = 1
+  ARCHIVE_OUTPUT = 2
+
+  _VALUES_TO_NAMES = {
+    0: "INPUT",
+    1: "OUPUT",
+    2: "ARCHIVE_OUTPUT",
+  }
+
+  _NAMES_TO_VALUES = {
+    "INPUT": 0,
+    "OUPUT": 1,
+    "ARCHIVE_OUTPUT": 2,
+  }
+
+
+class TaskModel:
+  """
+  TaskModel: A structure holding the generic task details.
+
+  taskDetail:
+    A friendly description of the task, usally used to communicate information to users.
+
+  subTaskModel:
+    A generic byte object for the Task developer to store internal serialized data into registry catalogs.
+
+  Attributes:
+   - taskId
+   - taskType
+   - parentProcessId
+   - creationTime
+   - lastUpdateTime
+   - taskStatus
+   - taskDetail
+   - subTaskModel
+   - taskError
+   - jobs
+  """
+
+  thrift_spec = (
+    None, # 0
+    (1, TType.STRING, 'taskId', None, "DO_NOT_SET_AT_CLIENTS", ), # 1
+    (2, TType.I32, 'taskType', None, None, ), # 2
+    (3, TType.STRING, 'parentProcessId', None, None, ), # 3
+    (4, TType.I64, 'creationTime', None, None, ), # 4
+    (5, TType.I64, 'lastUpdateTime', None, None, ), # 5
+    (6, TType.STRUCT, 'taskStatus', (apache.airavata.model.status.ttypes.TaskStatus, apache.airavata.model.status.ttypes.TaskStatus.thrift_spec), None, ), # 6
+    (7, TType.STRING, 'taskDetail', None, None, ), # 7
+    (8, TType.STRING, 'subTaskModel', None, None, ), # 8
+    (9, TType.STRUCT, 'taskError', (apache.airavata.model.commons.ttypes.ErrorModel, apache.airavata.model.commons.ttypes.ErrorModel.thrift_spec), None, ), # 9
+    (10, TType.LIST, 'jobs', (TType.STRUCT,(apache.airavata.model.job.ttypes.JobModel, apache.airavata.model.job.ttypes.JobModel.thrift_spec)), None, ), # 10
+  )
+
+  def __init__(self, taskId=thrift_spec[1][4], taskType=None, parentProcessId=None, creationTime=None, lastUpdateTime=None, taskStatus=None, taskDetail=None, subTaskModel=None, taskError=None, jobs=None,):
+    self.taskId = taskId
+    self.taskType = taskType
+    self.parentProcessId = parentProcessId
+    self.creationTime = creationTime
+    self.lastUpdateTime = lastUpdateTime
+    self.taskStatus = taskStatus
+    self.taskDetail = taskDetail
+    self.subTaskModel = subTaskModel
+    self.taskError = taskError
+    self.jobs = jobs
+
+  def read(self, iprot):
+    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
+      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))
+      return
+    iprot.readStructBegin()
+    while True:
+      (fname, ftype, fid) = iprot.readFieldBegin()
+      if ftype == TType.STOP:
+        break
+      if fid == 1:
+        if ftype == TType.STRING:
+          self.taskId = iprot.readString()
+        else:
+          iprot.skip(ftype)
+      elif fid == 2:
+        if ftype == TType.I32:
+          self.taskType = iprot.readI32()
+        else:
+          iprot.skip(ftype)
+      elif fid == 3:
+        if ftype == TType.STRING:
+          self.parentProcessId = iprot.readString()
+        else:
+          iprot.skip(ftype)
+      elif fid == 4:
+        if ftype == TType.I64:
+          self.creationTime = iprot.readI64()
+        else:
+          iprot.skip(ftype)
+      elif fid == 5:
+        if ftype == TType.I64:
+          self.lastUpdateTime = iprot.readI64()
+        else:
+          iprot.skip(ftype)
+      elif fid == 6:
+        if ftype == TType.STRUCT:
+          self.taskStatus = apache.airavata.model.status.ttypes.TaskStatus()
+          self.taskStatus.read(iprot)
+        else:
+          iprot.skip(ftype)
+      elif fid == 7:
+        if ftype == TType.STRING:
+          self.taskDetail = iprot.readString()
+        else:
+          iprot.skip(ftype)
+      elif fid == 8:
+        if ftype == TType.STRING:
+          self.subTaskModel = iprot.readString()
+        else:
+          iprot.skip(ftype)
+      elif fid == 9:
+        if ftype == TType.STRUCT:
+          self.taskError = apache.airavata.model.commons.ttypes.ErrorModel()
+          self.taskError.read(iprot)
+        else:
+          iprot.skip(ftype)
+      elif fid == 10:
+        if ftype == TType.LIST:
+          self.jobs = []
+          (_etype3, _size0) = iprot.readListBegin()
+          for _i4 in xrange(_size0):
+            _elem5 = apache.airavata.model.job.ttypes.JobModel()
+            _elem5.read(iprot)
+            self.jobs.append(_elem5)
+          iprot.readListEnd()
+        else:
+          iprot.skip(ftype)
+      else:
+        iprot.skip(ftype)
+      iprot.readFieldEnd()
+    iprot.readStructEnd()
+
+  def write(self, oprot):
+    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:
+      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))
+      return
+    oprot.writeStructBegin('TaskModel')
+    if self.taskId is not None:
+      oprot.writeFieldBegin('taskId', TType.STRING, 1)
+      oprot.writeString(self.taskId)
+      oprot.writeFieldEnd()
+    if self.taskType is not None:
+      oprot.writeFieldBegin('taskType', TType.I32, 2)
+      oprot.writeI32(self.taskType)
+      oprot.writeFieldEnd()
+    if self.parentProcessId is not None:
+      oprot.writeFieldBegin('parentProcessId', TType.STRING, 3)
+      oprot.writeString(self.parentProcessId)
+      oprot.writeFieldEnd()
+    if self.creationTime is not None:
+      oprot.writeFieldBegin('creationTime', TType.I64, 4)
+      oprot.writeI64(self.creationTime)
+      oprot.writeFieldEnd()
+    if self.lastUpdateTime is not None:
+      oprot.writeFieldBegin('lastUpdateTime', TType.I64, 5)
+      oprot.writeI64(self.lastUpdateTime)
+      oprot.writeFieldEnd()
+    if self.taskStatus is not None:
+      oprot.writeFieldBegin('taskStatus', TType.STRUCT, 6)
+      self.taskStatus.write(oprot)
+      oprot.writeFieldEnd()
+    if self.taskDetail is not None:
+      oprot.writeFieldBegin('taskDetail', TType.STRING, 7)
+      oprot.writeString(self.taskDetail)
+      oprot.writeFieldEnd()
+    if self.subTaskModel is not None:
+      oprot.writeFieldBegin('subTaskModel', TType.STRING, 8)
+      oprot.writeString(self.subTaskModel)
+      oprot.writeFieldEnd()
+    if self.taskError is not None:
+      oprot.writeFieldBegin('taskError', TType.STRUCT, 9)
+      self.taskError.write(oprot)
+      oprot.writeFieldEnd()
+    if self.jobs is not None:
+      oprot.writeFieldBegin('jobs', TType.LIST, 10)
+      oprot.writeListBegin(TType.STRUCT, len(self.jobs))
+      for iter6 in self.jobs:
+        iter6.write(oprot)
+      oprot.writeListEnd()
+      oprot.writeFieldEnd()
+    oprot.writeFieldStop()
+    oprot.writeStructEnd()
+
+  def validate(self):
+    if self.taskId is None:
+      raise TProtocol.TProtocolException(message='Required field taskId is unset!')
+    if self.taskType is None:
+      raise TProtocol.TProtocolException(message='Required field taskType is unset!')
+    if self.parentProcessId is None:
+      raise TProtocol.TProtocolException(message='Required field parentProcessId is unset!')
+    if self.creationTime is None:
+      raise TProtocol.TProtocolException(message='Required field creationTime is unset!')
+    if self.lastUpdateTime is None:
+      raise TProtocol.TProtocolException(message='Required field lastUpdateTime is unset!')
+    if self.taskStatus is None:
+      raise TProtocol.TProtocolException(message='Required field taskStatus is unset!')
+    return
+
+
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.taskId)
+    value = (value * 31) ^ hash(self.taskType)
+    value = (value * 31) ^ hash(self.parentProcessId)
+    value = (value * 31) ^ hash(self.creationTime)
+    value = (value * 31) ^ hash(self.lastUpdateTime)
+    value = (value * 31) ^ hash(self.taskStatus)
+    value = (value * 31) ^ hash(self.taskDetail)
+    value = (value * 31) ^ hash(self.subTaskModel)
+    value = (value * 31) ^ hash(self.taskError)
+    value = (value * 31) ^ hash(self.jobs)
+    return value
+
+  def __repr__(self):
+    L = ['%s=%r' % (key, value)
+      for key, value in self.__dict__.iteritems()]
+    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
+
+  def __eq__(self, other):
+    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
+
+  def __ne__(self, other):
+    return not (self == other)
+
+class DataStagingTaskModel:
+  """
+  Attributes:
+   - source
+   - destination
+   - type
+   - transferStartTime
+   - transferEndTime
+   - transferRate
+   - processInput
+   - processOutput
+  """
+
+  thrift_spec = (
+    None, # 0
+    (1, TType.STRING, 'source', None, None, ), # 1
+    (2, TType.STRING, 'destination', None, None, ), # 2
+    (3, TType.I32, 'type', None, None, ), # 3
+    (4, TType.I64, 'transferStartTime', None, None, ), # 4
+    (5, TType.I64, 'transferEndTime', None, None, ), # 5
+    (6, TType.STRING, 'transferRate', None, None, ), # 6
+    (7, TType.STRUCT, 'processInput', (apache.airavata.model.application.io.ttypes.InputDataObjectType, apache.airavata.model.application.io.ttypes.InputDataObjectType.thrift_spec), None, ), # 7
+    (8, TType.STRUCT, 'processOutput', (apache.airavata.model.application.io.ttypes.OutputDataObjectType, apache.airavata.model.application.io.ttypes.OutputDataObjectType.thrift_spec), None, ), # 8
+  )
+
+  def __init__(self, source=None, destination=None, type=None, transferStartTime=None, transferEndTime=None, transferRate=None, processInput=None, processOutput=None,):
+    self.source = source
+    self.destination = destination
+    self.type = type
+    self.transferStartTime = transferStartTime
+    self.transferEndTime = transferEndTime
+    self.transferRate = transferRate
+    self.processInput = processInput
+    self.processOutput = processOutput
+
+  def read(self, iprot):
+    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
+      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))
+      return
+    iprot.readStructBegin()
+    while True:
+      (fname, ftype, fid) = iprot.readFieldBegin()
+      if ftype == TType.STOP:
+        break
+      if fid == 1:
+        if ftype == TType.STRING:
+          self.source = iprot.readString()
+        else:
+          iprot.skip(ftype)
+      elif fid == 2:
+        if ftype == TType.STRING:
+          self.destination = iprot.readString()
+        else:
+          iprot.skip(ftype)
+      elif fid == 3:
+        if ftype == TType.I32:
+          self.type = iprot.readI32()
+        else:
+          iprot.skip(ftype)
+      elif fid == 4:
+        if ftype == TType.I64:
+          self.transferStartTime = iprot.readI64()
+        else:
+          iprot.skip(ftype)
+      elif fid == 5:
+        if ftype == TType.I64:
+          self.transferEndTime = iprot.readI64()
+        else:
+          iprot.skip(ftype)
+      elif fid == 6:
+        if ftype == TType.STRING:
+          self.transferRate = iprot.readString()
+        else:
+          iprot.skip(ftype)
+      elif fid == 7:
+        if ftype == TType.STRUCT:
+          self.processInput = apache.airavata.model.application.io.ttypes.InputDataObjectType()
+          self.processInput.read(iprot)
+        else:
+          iprot.skip(ftype)
+      elif fid == 8:
+        if ftype == TType.STRUCT:
+          self.processOutput = apache.airavata.model.application.io.ttypes.OutputDataObjectType()
+          self.processOutput.read(iprot)
+        else:
+          iprot.skip(ftype)
+      else:
+        iprot.skip(ftype)
+      iprot.readFieldEnd()
+    iprot.readStructEnd()
+
+  def write(self, oprot):
+    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:
+      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))
+      return
+    oprot.writeStructBegin('DataStagingTaskModel')
+    if self.source is not None:
+      oprot.writeFieldBegin('source', TType.STRING, 1)
+      oprot.writeString(self.source)
+      oprot.writeFieldEnd()
+    if self.destination is not None:
+      oprot.writeFieldBegin('destination', TType.STRING, 2)
+      oprot.writeString(self.destination)
+      oprot.writeFieldEnd()
+    if self.type is not None:
+      oprot.writeFieldBegin('type', TType.I32, 3)
+      oprot.writeI32(self.type)
+      oprot.writeFieldEnd()
+    if self.transferStartTime is not None:
+      oprot.writeFieldBegin('transferStartTime', TType.I64, 4)
+      oprot.writeI64(self.transferStartTime)
+      oprot.writeFieldEnd()
+    if self.transferEndTime is not None:
+      oprot.writeFieldBegin('transferEndTime', TType.I64, 5)
+      oprot.writeI64(self.transferEndTime)
+      oprot.writeFieldEnd()
+    if self.transferRate is not None:
+      oprot.writeFieldBegin('transferRate', TType.STRING, 6)
+      oprot.writeString(self.transferRate)
+      oprot.writeFieldEnd()
+    if self.processInput is not None:
+      oprot.writeFieldBegin('processInput', TType.STRUCT, 7)
+      self.processInput.write(oprot)
+      oprot.writeFieldEnd()
+    if self.processOutput is not None:
+      oprot.writeFieldBegin('processOutput', TType.STRUCT, 8)
+      self.processOutput.write(oprot)
+      oprot.writeFieldEnd()
+    oprot.writeFieldStop()
+    oprot.writeStructEnd()
+
+  def validate(self):
+    if self.source is None:
+      raise TProtocol.TProtocolException(message='Required field source is unset!')
+    if self.destination is None:
+      raise TProtocol.TProtocolException(message='Required field destination is unset!')
+    if self.type is None:
+      raise TProtocol.TProtocolException(message='Required field type is unset!')
+    return
+
+
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.source)
+    value = (value * 31) ^ hash(self.destination)
+    value = (value * 31) ^ hash(self.type)
+    value = (value * 31) ^ hash(self.transferStartTime)
+    value = (value * 31) ^ hash(self.transferEndTime)
+    value = (value * 31) ^ hash(self.transferRate)
+    value = (value * 31) ^ hash(self.processInput)
+    value = (value * 31) ^ hash(self.processOutput)
+    return value
+
+  def __repr__(self):
+    L = ['%s=%r' % (key, value)
+      for key, value in self.__dict__.iteritems()]
+    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
+
+  def __eq__(self, other):
+    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
+
+  def __ne__(self, other):
+    return not (self == other)
+
+class EnvironmentSetupTaskModel:
+  """
+  EnvironmentSetupTaskModel: A structure holding the environment creation task details
+
+
+  Attributes:
+   - location
+   - protocol
+  """
+
+  thrift_spec = (
+    None, # 0
+    (1, TType.STRING, 'location', None, None, ), # 1
+    (2, TType.I32, 'protocol', None, None, ), # 2
+  )
+
+  def __init__(self, location=None, protocol=None,):
+    self.location = location
+    self.protocol = protocol
+
+  def read(self, iprot):
+    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
+      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))
+      return
+    iprot.readStructBegin()
+    while True:
+      (fname, ftype, fid) = iprot.readFieldBegin()
+      if ftype == TType.STOP:
+        break
+      if fid == 1:
+        if ftype == TType.STRING:
+          self.location = iprot.readString()
+        else:
+          iprot.skip(ftype)
+      elif fid == 2:
+        if ftype == TType.I32:
+          self.protocol = iprot.readI32()
+        else:
+          iprot.skip(ftype)
+      else:
+        iprot.skip(ftype)
+      iprot.readFieldEnd()
+    iprot.readStructEnd()
+
+  def write(self, oprot):
+    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:
+      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))
+      return
+    oprot.writeStructBegin('EnvironmentSetupTaskModel')
+    if self.location is not None:
+      oprot.writeFieldBegin('location', TType.STRING, 1)
+      oprot.writeString(self.location)
+      oprot.writeFieldEnd()
+    if self.protocol is not None:
+      oprot.writeFieldBegin('protocol', TType.I32, 2)
+      oprot.writeI32(self.protocol)
+      oprot.writeFieldEnd()
+    oprot.writeFieldStop()
+    oprot.writeStructEnd()
+
+  def validate(self):
+    if self.location is None:
+      raise TProtocol.TProtocolException(message='Required field location is unset!')
+    if self.protocol is None:
+      raise TProtocol.TProtocolException(message='Required field protocol is unset!')
+    return
+
+
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.location)
+    value = (value * 31) ^ hash(self.protocol)
+    return value
+
+  def __repr__(self):
+    L = ['%s=%r' % (key, value)
+      for key, value in self.__dict__.iteritems()]
+    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
+
+  def __eq__(self, other):
+    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
+
+  def __ne__(self, other):
+    return not (self == other)
+
+class JobSubmissionTaskModel:
+  """
+  Attributes:
+   - jobSubmissionProtocol
+   - monitorMode
+   - wallTime
+  """
+
+  thrift_spec = (
+    None, # 0
+    (1, TType.I32, 'jobSubmissionProtocol', None, None, ), # 1
+    (2, TType.I32, 'monitorMode', None, None, ), # 2
+    (3, TType.I32, 'wallTime', None, None, ), # 3
+  )
+
+  def __init__(self, jobSubmissionProtocol=None, monitorMode=None, wallTime=None,):
+    self.jobSubmissionProtocol = jobSubmissionProtocol
+    self.monitorMode = monitorMode
+    self.wallTime = wallTime
+
+  def read(self, iprot):
+    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
+      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))
+      return
+    iprot.readStructBegin()
+    while True:
+      (fname, ftype, fid) = iprot.readFieldBegin()
+      if ftype == TType.STOP:
+        break
+      if fid == 1:
+        if ftype == TType.I32:
+          self.jobSubmissionProtocol = iprot.readI32()
+        else:
+          iprot.skip(ftype)
+      elif fid == 2:
+        if ftype == TType.I32:
+          self.monitorMode = iprot.readI32()
+        else:
+          iprot.skip(ftype)
+      elif fid == 3:
+        if ftype == TType.I32:
+          self.wallTime = iprot.readI32()
+        else:
+          iprot.skip(ftype)
+      else:
+        iprot.skip(ftype)
+      iprot.readFieldEnd()
+    iprot.readStructEnd()
+
+  def write(self, oprot):
+    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:
+      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))
+      return
+    oprot.writeStructBegin('JobSubmissionTaskModel')
+    if self.jobSubmissionProtocol is not None:
+      oprot.writeFieldBegin('jobSubmissionProtocol', TType.I32, 1)
+      oprot.writeI32(self.jobSubmissionProtocol)
+      oprot.writeFieldEnd()
+    if self.monitorMode is not None:
+      oprot.writeFieldBegin('monitorMode', TType.I32, 2)
+      oprot.writeI32(self.monitorMode)
+      oprot.writeFieldEnd()
+    if self.wallTime is not None:
+      oprot.writeFieldBegin('wallTime', TType.I32, 3)
+      oprot.writeI32(self.wallTime)
+      oprot.writeFieldEnd()
+    oprot.writeFieldStop()
+    oprot.writeStructEnd()
+
+  def validate(self):
+    if self.jobSubmissionProtocol is None:
+      raise TProtocol.TProtocolException(message='Required field jobSubmissionProtocol is unset!')
+    if self.monitorMode is None:
+      raise TProtocol.TProtocolException(message='Required field monitorMode is unset!')
+    return
+
+
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.jobSubmissionProtocol)
+    value = (value * 31) ^ hash(self.monitorMode)
+    value = (value * 31) ^ hash(self.wallTime)
+    return value
+
+  def __repr__(self):
+    L = ['%s=%r' % (key, value)
+      for key, value in self.__dict__.iteritems()]
+    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
+
+  def __eq__(self, other):
+    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
+
+  def __ne__(self, other):
+    return not (self == other)
+
+class MonitorTaskModel:
+  """
+  Attributes:
+   - monitorMode
+  """
+
+  thrift_spec = (
+    None, # 0
+    (1, TType.I32, 'monitorMode', None, None, ), # 1
+  )
+
+  def __init__(self, monitorMode=None,):
+    self.monitorMode = monitorMode
+
+  def read(self, iprot):
+    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
+      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))
+      return
+    iprot.readStructBegin()
+    while True:
+      (fname, ftype, fid) = iprot.readFieldBegin()
+      if ftype == TType.STOP:
+        break
+      if fid == 1:
+        if ftype == TType.I32:
+          self.monitorMode = iprot.readI32()
+        else:
+          iprot.skip(ftype)
+      else:
+        iprot.skip(ftype)
+      iprot.readFieldEnd()
+    iprot.readStructEnd()
+
+  def write(self, oprot):
+    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:
+      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))
+      return
+    oprot.writeStructBegin('MonitorTaskModel')
+    if self.monitorMode is not None:
+      oprot.writeFieldBegin('monitorMode', TType.I32, 1)
+      oprot.writeI32(self.monitorMode)
+      oprot.writeFieldEnd()
+    oprot.writeFieldStop()
+    oprot.writeStructEnd()
+
+  def validate(self):
+    if self.monitorMode is None:
+      raise TProtocol.TProtocolException(message='Required field monitorMode is unset!')
+    return
+
+
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.monitorMode)
+    return value
+
+  def __repr__(self):
+    L = ['%s=%r' % (key, value)
+      for key, value in self.__dict__.iteritems()]
+    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
+
+  def __eq__(self, other):
+    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
+
+  def __ne__(self, other):
+    return not (self == other)

http://git-wip-us.apache.org/repos/asf/airavata-sandbox/blob/75eb96c2/Interacting_with_Airavata_using_ipython_Notebook/create-experiment/apache/airavata/model/task/ttypes.pyc
----------------------------------------------------------------------
diff --git a/Interacting_with_Airavata_using_ipython_Notebook/create-experiment/apache/airavata/model/task/ttypes.pyc b/Interacting_with_Airavata_using_ipython_Notebook/create-experiment/apache/airavata/model/task/ttypes.pyc
new file mode 100644
index 0000000..08a1ef8
Binary files /dev/null and b/Interacting_with_Airavata_using_ipython_Notebook/create-experiment/apache/airavata/model/task/ttypes.pyc differ

http://git-wip-us.apache.org/repos/asf/airavata-sandbox/blob/75eb96c2/Interacting_with_Airavata_using_ipython_Notebook/create-experiment/apache/airavata/model/ttypes.py
----------------------------------------------------------------------
diff --git a/Interacting_with_Airavata_using_ipython_Notebook/create-experiment/apache/airavata/model/ttypes.py b/Interacting_with_Airavata_using_ipython_Notebook/create-experiment/apache/airavata/model/ttypes.py
new file mode 100644
index 0000000..76c0140
--- /dev/null
+++ b/Interacting_with_Airavata_using_ipython_Notebook/create-experiment/apache/airavata/model/ttypes.py
@@ -0,0 +1,34 @@
+#
+# Autogenerated by Thrift Compiler (0.9.3)
+#
+# DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+#
+#  options string: py
+#
+
+from thrift.Thrift import TType, TMessageType, TException, TApplicationException
+import apache.airavata.model.commons.ttypes
+import apache.airavata.model.workspace.ttypes
+import apache.airavata.api.error.ttypes
+import apache.airavata.model.messaging.event.ttypes
+import apache.airavata.model.security.ttypes
+import apache.airavata.model.experiment.ttypes
+import apache.airavata.model.job.ttypes
+import apache.airavata.model.task.ttypes
+import apache.airavata.model.process.ttypes
+import apache.airavata.model.scheduling.ttypes
+import apache.airavata.model.status.ttypes
+import apache.airavata.model.data.movement.ttypes
+import apache.airavata.model.data.replica.ttypes
+import apache.airavata.model.user.ttypes
+import apache.airavata.model.group.ttypes
+
+
+from thrift.transport import TTransport
+from thrift.protocol import TBinaryProtocol, TProtocol
+try:
+  from thrift.protocol import fastbinary
+except:
+  fastbinary = None
+
+

http://git-wip-us.apache.org/repos/asf/airavata-sandbox/blob/75eb96c2/Interacting_with_Airavata_using_ipython_Notebook/create-experiment/apache/airavata/model/ttypes.pyc
----------------------------------------------------------------------
diff --git a/Interacting_with_Airavata_using_ipython_Notebook/create-experiment/apache/airavata/model/ttypes.pyc b/Interacting_with_Airavata_using_ipython_Notebook/create-experiment/apache/airavata/model/ttypes.pyc
new file mode 100644
index 0000000..18ba5f6
Binary files /dev/null and b/Interacting_with_Airavata_using_ipython_Notebook/create-experiment/apache/airavata/model/ttypes.pyc differ

http://git-wip-us.apache.org/repos/asf/airavata-sandbox/blob/75eb96c2/Interacting_with_Airavata_using_ipython_Notebook/create-experiment/apache/airavata/model/user/__init__.py
----------------------------------------------------------------------
diff --git a/Interacting_with_Airavata_using_ipython_Notebook/create-experiment/apache/airavata/model/user/__init__.py b/Interacting_with_Airavata_using_ipython_Notebook/create-experiment/apache/airavata/model/user/__init__.py
new file mode 100644
index 0000000..adefd8e
--- /dev/null
+++ b/Interacting_with_Airavata_using_ipython_Notebook/create-experiment/apache/airavata/model/user/__init__.py
@@ -0,0 +1 @@
+__all__ = ['ttypes', 'constants']

http://git-wip-us.apache.org/repos/asf/airavata-sandbox/blob/75eb96c2/Interacting_with_Airavata_using_ipython_Notebook/create-experiment/apache/airavata/model/user/__init__.pyc
----------------------------------------------------------------------
diff --git a/Interacting_with_Airavata_using_ipython_Notebook/create-experiment/apache/airavata/model/user/__init__.pyc b/Interacting_with_Airavata_using_ipython_Notebook/create-experiment/apache/airavata/model/user/__init__.pyc
new file mode 100644
index 0000000..0203575
Binary files /dev/null and b/Interacting_with_Airavata_using_ipython_Notebook/create-experiment/apache/airavata/model/user/__init__.pyc differ

http://git-wip-us.apache.org/repos/asf/airavata-sandbox/blob/75eb96c2/Interacting_with_Airavata_using_ipython_Notebook/create-experiment/apache/airavata/model/user/constants.py
----------------------------------------------------------------------
diff --git a/Interacting_with_Airavata_using_ipython_Notebook/create-experiment/apache/airavata/model/user/constants.py b/Interacting_with_Airavata_using_ipython_Notebook/create-experiment/apache/airavata/model/user/constants.py
new file mode 100644
index 0000000..e3e9481
--- /dev/null
+++ b/Interacting_with_Airavata_using_ipython_Notebook/create-experiment/apache/airavata/model/user/constants.py
@@ -0,0 +1,12 @@
+#
+# Autogenerated by Thrift Compiler (0.9.3)
+#
+# DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+#
+#  options string: py
+#
+
+from thrift.Thrift import TType, TMessageType, TException, TApplicationException
+from ttypes import *
+
+USER_PROFILE_VERSION = "1.0"

http://git-wip-us.apache.org/repos/asf/airavata-sandbox/blob/75eb96c2/Interacting_with_Airavata_using_ipython_Notebook/create-experiment/apache/airavata/model/user/ttypes.py
----------------------------------------------------------------------
diff --git a/Interacting_with_Airavata_using_ipython_Notebook/create-experiment/apache/airavata/model/user/ttypes.py b/Interacting_with_Airavata_using_ipython_Notebook/create-experiment/apache/airavata/model/user/ttypes.py
new file mode 100644
index 0000000..153a183
--- /dev/null
+++ b/Interacting_with_Airavata_using_ipython_Notebook/create-experiment/apache/airavata/model/user/ttypes.py
@@ -0,0 +1,721 @@
+#
+# Autogenerated by Thrift Compiler (0.9.3)
+#
+# DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+#
+#  options string: py
+#
+
+from thrift.Thrift import TType, TMessageType, TException, TApplicationException
+import apache.airavata.model.commons.ttypes
+
+
+from thrift.transport import TTransport
+from thrift.protocol import TBinaryProtocol, TProtocol
+try:
+  from thrift.protocol import fastbinary
+except:
+  fastbinary = None
+
+
+class Status:
+  ACTIVE = 0
+  CONFIRMED = 1
+  APPROVED = 2
+  DELETED = 3
+  DUPLICATE = 4
+  GRACE_PERIOD = 5
+  INVITED = 6
+  DENIED = 7
+  PENDING = 8
+  PENDING_APPROVAL = 9
+  PENDING_CONFIRMATION = 10
+  SUSPENDED = 11
+  DECLINED = 12
+  EXPIRED = 13
+
+  _VALUES_TO_NAMES = {
+    0: "ACTIVE",
+    1: "CONFIRMED",
+    2: "APPROVED",
+    3: "DELETED",
+    4: "DUPLICATE",
+    5: "GRACE_PERIOD",
+    6: "INVITED",
+    7: "DENIED",
+    8: "PENDING",
+    9: "PENDING_APPROVAL",
+    10: "PENDING_CONFIRMATION",
+    11: "SUSPENDED",
+    12: "DECLINED",
+    13: "EXPIRED",
+  }
+
+  _NAMES_TO_VALUES = {
+    "ACTIVE": 0,
+    "CONFIRMED": 1,
+    "APPROVED": 2,
+    "DELETED": 3,
+    "DUPLICATE": 4,
+    "GRACE_PERIOD": 5,
+    "INVITED": 6,
+    "DENIED": 7,
+    "PENDING": 8,
+    "PENDING_APPROVAL": 9,
+    "PENDING_CONFIRMATION": 10,
+    "SUSPENDED": 11,
+    "DECLINED": 12,
+    "EXPIRED": 13,
+  }
+
+class USCitizenship:
+  """
+  U.S. Citizen (see: http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)
+
+  """
+  US_CITIZEN = 0
+  US_PERMANENT_RESIDENT = 1
+  OTHER_NON_US_CITIZEN = 2
+
+  _VALUES_TO_NAMES = {
+    0: "US_CITIZEN",
+    1: "US_PERMANENT_RESIDENT",
+    2: "OTHER_NON_US_CITIZEN",
+  }
+
+  _NAMES_TO_VALUES = {
+    "US_CITIZEN": 0,
+    "US_PERMANENT_RESIDENT": 1,
+    "OTHER_NON_US_CITIZEN": 2,
+  }
+
+class ethnicity:
+  """
+  Hispanic or Latino - a person of Mexican, Puerto Rican, Cuban, South or
+   Central American, or other Spanish culture or origin, regardless of race.
+
+  """
+  HISPANIC_LATINO = 0
+  NOT_HISPANIC_LATINO = 1
+
+  _VALUES_TO_NAMES = {
+    0: "HISPANIC_LATINO",
+    1: "NOT_HISPANIC_LATINO",
+  }
+
+  _NAMES_TO_VALUES = {
+    "HISPANIC_LATINO": 0,
+    "NOT_HISPANIC_LATINO": 1,
+  }
+
+class race:
+  """
+  * Asian - a person having origins in any of the original peoples of the Far East,
+  *      Southeast Asia, or the Indian subcontinent including, for example, Cambodia,
+   *      China, India, Japan, Korea, Malaysia, Pakistan, the Philippine Islands,
+   *      Thailand, and Vietnam.
+  * American Indian or Alaskan Native - a person having origins in any of the original
+   *     peoples of North and South America (including Central America), and who maintains
+    *     tribal affiliation or community attachment.
+  * Black or African American - a person having origins in any of the black racial groups
+  *      of Africa.
+  * Native Hawaiian or Pacific Islander - a person having origins in any of the original
+  *      peoples of Hawaii, Guan, Samoa, or other Pacific Islands.
+  * White - a person having origins in any of the original peoples of Europe, the Middle East, or North Africa.
+  *
+  """
+  ASIAN = 0
+  AMERICAN_INDIAN_OR_ALASKAN_NATIVE = 1
+  BLACK_OR_AFRICAN_AMERICAN = 2
+  NATIVE_HAWAIIAN_OR_PACIFIC_ISLANDER = 3
+  WHITE = 4
+
+  _VALUES_TO_NAMES = {
+    0: "ASIAN",
+    1: "AMERICAN_INDIAN_OR_ALASKAN_NATIVE",
+    2: "BLACK_OR_AFRICAN_AMERICAN",
+    3: "NATIVE_HAWAIIAN_OR_PACIFIC_ISLANDER",
+    4: "WHITE",
+  }
+
+  _NAMES_TO_VALUES = {
+    "ASIAN": 0,
+    "AMERICAN_INDIAN_OR_ALASKAN_NATIVE": 1,
+    "BLACK_OR_AFRICAN_AMERICAN": 2,
+    "NATIVE_HAWAIIAN_OR_PACIFIC_ISLANDER": 3,
+    "WHITE": 4,
+  }
+
+class disability:
+  HEARING_IMAPAIRED = 0
+  VISUAL_IMPAIRED = 1
+  MOBILITY_OR_ORTHOPEDIC_IMPAIRMENT = 2
+  OTHER_IMPAIRMENT = 3
+
+  _VALUES_TO_NAMES = {
+    0: "HEARING_IMAPAIRED",
+    1: "VISUAL_IMPAIRED",
+    2: "MOBILITY_OR_ORTHOPEDIC_IMPAIRMENT",
+    3: "OTHER_IMPAIRMENT",
+  }
+
+  _NAMES_TO_VALUES = {
+    "HEARING_IMAPAIRED": 0,
+    "VISUAL_IMPAIRED": 1,
+    "MOBILITY_OR_ORTHOPEDIC_IMPAIRMENT": 2,
+    "OTHER_IMPAIRMENT": 3,
+  }
+
+
+class NSFDemographics:
+  """
+  A structure holding the NSF Demographic information.
+
+
+
+  Attributes:
+   - gender
+   - usCitizenship
+   - ethnicities
+   - races
+   - disabilities
+  """
+
+  thrift_spec = (
+    None, # 0
+    (1, TType.STRING, 'gender', None, None, ), # 1
+    (2, TType.I32, 'usCitizenship', None, None, ), # 2
+    (3, TType.LIST, 'ethnicities', (TType.I32,None), None, ), # 3
+    (4, TType.LIST, 'races', (TType.I32,None), None, ), # 4
+    (5, TType.LIST, 'disabilities', (TType.I32,None), None, ), # 5
+  )
+
+  def __init__(self, gender=None, usCitizenship=None, ethnicities=None, races=None, disabilities=None,):
+    self.gender = gender
+    self.usCitizenship = usCitizenship
+    self.ethnicities = ethnicities
+    self.races = races
+    self.disabilities = disabilities
+
+  def read(self, iprot):
+    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
+      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))
+      return
+    iprot.readStructBegin()
+    while True:
+      (fname, ftype, fid) = iprot.readFieldBegin()
+      if ftype == TType.STOP:
+        break
+      if fid == 1:
+        if ftype == TType.STRING:
+          self.gender = iprot.readString()
+        else:
+          iprot.skip(ftype)
+      elif fid == 2:
+        if ftype == TType.I32:
+          self.usCitizenship = iprot.readI32()
+        else:
+          iprot.skip(ftype)
+      elif fid == 3:
+        if ftype == TType.LIST:
+          self.ethnicities = []
+          (_etype3, _size0) = iprot.readListBegin()
+          for _i4 in xrange(_size0):
+            _elem5 = iprot.readI32()
+            self.ethnicities.append(_elem5)
+          iprot.readListEnd()
+        else:
+          iprot.skip(ftype)
+      elif fid == 4:
+        if ftype == TType.LIST:
+          self.races = []
+          (_etype9, _size6) = iprot.readListBegin()
+          for _i10 in xrange(_size6):
+            _elem11 = iprot.readI32()
+            self.races.append(_elem11)
+          iprot.readListEnd()
+        else:
+          iprot.skip(ftype)
+      elif fid == 5:
+        if ftype == TType.LIST:
+          self.disabilities = []
+          (_etype15, _size12) = iprot.readListBegin()
+          for _i16 in xrange(_size12):
+            _elem17 = iprot.readI32()
+            self.disabilities.append(_elem17)
+          iprot.readListEnd()
+        else:
+          iprot.skip(ftype)
+      else:
+        iprot.skip(ftype)
+      iprot.readFieldEnd()
+    iprot.readStructEnd()
+
+  def write(self, oprot):
+    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:
+      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))
+      return
+    oprot.writeStructBegin('NSFDemographics')
+    if self.gender is not None:
+      oprot.writeFieldBegin('gender', TType.STRING, 1)
+      oprot.writeString(self.gender)
+      oprot.writeFieldEnd()
+    if self.usCitizenship is not None:
+      oprot.writeFieldBegin('usCitizenship', TType.I32, 2)
+      oprot.writeI32(self.usCitizenship)
+      oprot.writeFieldEnd()
+    if self.ethnicities is not None:
+      oprot.writeFieldBegin('ethnicities', TType.LIST, 3)
+      oprot.writeListBegin(TType.I32, len(self.ethnicities))
+      for iter18 in self.ethnicities:
+        oprot.writeI32(iter18)
+      oprot.writeListEnd()
+      oprot.writeFieldEnd()
+    if self.races is not None:
+      oprot.writeFieldBegin('races', TType.LIST, 4)
+      oprot.writeListBegin(TType.I32, len(self.races))
+      for iter19 in self.races:
+        oprot.writeI32(iter19)
+      oprot.writeListEnd()
+      oprot.writeFieldEnd()
+    if self.disabilities is not None:
+      oprot.writeFieldBegin('disabilities', TType.LIST, 5)
+      oprot.writeListBegin(TType.I32, len(self.disabilities))
+      for iter20 in self.disabilities:
+        oprot.writeI32(iter20)
+      oprot.writeListEnd()
+      oprot.writeFieldEnd()
+    oprot.writeFieldStop()
+    oprot.writeStructEnd()
+
+  def validate(self):
+    return
+
+
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.gender)
+    value = (value * 31) ^ hash(self.usCitizenship)
+    value = (value * 31) ^ hash(self.ethnicities)
+    value = (value * 31) ^ hash(self.races)
+    value = (value * 31) ^ hash(self.disabilities)
+    return value
+
+  def __repr__(self):
+    L = ['%s=%r' % (key, value)
+      for key, value in self.__dict__.iteritems()]
+    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
+
+  def __eq__(self, other):
+    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
+
+  def __ne__(self, other):
+    return not (self == other)
+
+class UserProfile:
+  """
+  * A structure holding the user profile and its child models.
+  *
+  * Notes:
+  *  The model does not include passwords as it is assumed an external identity provider is used to authenticate user.
+  *  References:
+  *     NSF Demographic Information - http://www.nsf.gov/pubs/2000/00form1225/00form1225.doc
+  *     LDAP Schema - https://tools.ietf.org/html/rfc4519
+  *     SCIM 2.0 - https://tools.ietf.org/html/rfc7643
+  *
+  * userModelVersion:
+  *  Version number of profile
+  *
+  * airavataInternalUserId:
+  *  internal to Airavata, not intended to be used outside of the Airavata platform or possibly by gateways
+  *  (that is, never shown to users), never reassigned, REQUIRED
+  *
+  * userId:
+  *  Externally assertable unique identifier. SAML (primarly in higher education, academic) tends to keep
+  *   user name less opaque. OpenID Connect maintains them to be opaque.
+  *
+  * emails:
+  *   Email identifier are Verified, REQUIRED and MULTIVALUED
+  *
+  * userName:
+  *  Name-based identifiers can be multivalues. To keep it simple, Airavata will make it a string.
+  *   In the future these can be enumerated as:
+      *   Official name (as asserted possibly by some external identity provider)
+      *   Prefered name (as asserted or suggested by user directly)
+      *   Components:
+      *      givenName
+      *      surname (familyName)
+      *      displayName (often asserted by user to handle things like middle names, suffix, prefix, and the like)
+  *
+  * orcidId: ORCID ID - http://orcid.org/about/what-is-orcid)
+  *
+  * phones: Telephone MULTIVALUED
+  *
+  * country: Country of Residance
+  *
+  * nationality Countries of citizenship
+  *
+  * comments:
+  *   Free-form information (treated as opaque by Airavata and simply passed to resource).
+  *
+  * labeledURI:
+    * Google Scholar, Web of Science, ACS, e.t.c
+
+  Attributes:
+   - userModelVersion
+   - airavataInternalUserId
+   - userId
+   - emails
+   - userName
+   - orcidId
+   - phones
+   - country
+   - nationality
+   - homeOrganization
+   - orginationAffiliation
+   - creationTime
+   - lastAccessTime
+   - validUntil
+   - State
+   - comments
+   - labeledURI
+   - gpgKey
+   - timeZone
+   - nsfDemographics
+  """
+
+  thrift_spec = (
+    None, # 0
+    (1, TType.STRING, 'userModelVersion', None, "1.0", ), # 1
+    (2, TType.STRING, 'airavataInternalUserId', None, "DO_NOT_SET_AT_CLIENTS", ), # 2
+    (3, TType.STRING, 'userId', None, None, ), # 3
+    (4, TType.LIST, 'emails', (TType.STRING,None), None, ), # 4
+    (5, TType.STRING, 'userName', None, None, ), # 5
+    (6, TType.STRING, 'orcidId', None, None, ), # 6
+    (7, TType.LIST, 'phones', (TType.STRING,None), None, ), # 7
+    (8, TType.STRING, 'country', None, None, ), # 8
+    (9, TType.LIST, 'nationality', (TType.STRING,None), None, ), # 9
+    (10, TType.STRING, 'homeOrganization', None, None, ), # 10
+    (11, TType.STRING, 'orginationAffiliation', None, None, ), # 11
+    (12, TType.STRING, 'creationTime', None, None, ), # 12
+    (13, TType.STRING, 'lastAccessTime', None, None, ), # 13
+    (14, TType.STRING, 'validUntil', None, None, ), # 14
+    (15, TType.I32, 'State', None, None, ), # 15
+    (16, TType.STRING, 'comments', None, None, ), # 16
+    (17, TType.LIST, 'labeledURI', (TType.STRING,None), None, ), # 17
+    (18, TType.STRING, 'gpgKey', None, None, ), # 18
+    (19, TType.STRING, 'timeZone', None, None, ), # 19
+    (20, TType.STRUCT, 'nsfDemographics', (NSFDemographics, NSFDemographics.thrift_spec), None, ), # 20
+  )
+
+  def __init__(self, userModelVersion=thrift_spec[1][4], airavataInternalUserId=thrift_spec[2][4], userId=None, emails=None, userName=None, orcidId=None, phones=None, country=None, nationality=None, homeOrganization=None, orginationAffiliation=None, creationTime=None, lastAccessTime=None, validUntil=None, State=None, comments=None, labeledURI=None, gpgKey=None, timeZone=None, nsfDemographics=None,):
+    self.userModelVersion = userModelVersion
+    self.airavataInternalUserId = airavataInternalUserId
+    self.userId = userId
+    self.emails = emails
+    self.userName = userName
+    self.orcidId = orcidId
+    self.phones = phones
+    self.country = country
+    self.nationality = nationality
+    self.homeOrganization = homeOrganization
+    self.orginationAffiliation = orginationAffiliation
+    self.creationTime = creationTime
+    self.lastAccessTime = lastAccessTime
+    self.validUntil = validUntil
+    self.State = State
+    self.comments = comments
+    self.labeledURI = labeledURI
+    self.gpgKey = gpgKey
+    self.timeZone = timeZone
+    self.nsfDemographics = nsfDemographics
+
+  def read(self, iprot):
+    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
+      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))
+      return
+    iprot.readStructBegin()
+    while True:
+      (fname, ftype, fid) = iprot.readFieldBegin()
+      if ftype == TType.STOP:
+        break
+      if fid == 1:
+        if ftype == TType.STRING:
+          self.userModelVersion = iprot.readString()
+        else:
+          iprot.skip(ftype)
+      elif fid == 2:
+        if ftype == TType.STRING:
+          self.airavataInternalUserId = iprot.readString()
+        else:
+          iprot.skip(ftype)
+      elif fid == 3:
+        if ftype == TType.STRING:
+          self.userId = iprot.readString()
+        else:
+          iprot.skip(ftype)
+      elif fid == 4:
+        if ftype == TType.LIST:
+          self.emails = []
+          (_etype24, _size21) = iprot.readListBegin()
+          for _i25 in xrange(_size21):
+            _elem26 = iprot.readString()
+            self.emails.append(_elem26)
+          iprot.readListEnd()
+        else:
+          iprot.skip(ftype)
+      elif fid == 5:
+        if ftype == TType.STRING:
+          self.userName = iprot.readString()
+        else:
+          iprot.skip(ftype)
+      elif fid == 6:
+        if ftype == TType.STRING:
+          self.orcidId = iprot.readString()
+        else:
+          iprot.skip(ftype)
+      elif fid == 7:
+        if ftype == TType.LIST:
+          self.phones = []
+          (_etype30, _size27) = iprot.readListBegin()
+          for _i31 in xrange(_size27):
+            _elem32 = iprot.readString()
+            self.phones.append(_elem32)
+          iprot.readListEnd()
+        else:
+          iprot.skip(ftype)
+      elif fid == 8:
+        if ftype == TType.STRING:
+          self.country = iprot.readString()
+        else:
+          iprot.skip(ftype)
+      elif fid == 9:
+        if ftype == TType.LIST:
+          self.nationality = []
+          (_etype36, _size33) = iprot.readListBegin()
+          for _i37 in xrange(_size33):
+            _elem38 = iprot.readString()
+            self.nationality.append(_elem38)
+          iprot.readListEnd()
+        else:
+          iprot.skip(ftype)
+      elif fid == 10:
+        if ftype == TType.STRING:
+          self.homeOrganization = iprot.readString()
+        else:
+          iprot.skip(ftype)
+      elif fid == 11:
+        if ftype == TType.STRING:
+          self.orginationAffiliation = iprot.readString()
+        else:
+          iprot.skip(ftype)
+      elif fid == 12:
+        if ftype == TType.STRING:
+          self.creationTime = iprot.readString()
+        else:
+          iprot.skip(ftype)
+      elif fid == 13:
+        if ftype == TType.STRING:
+          self.lastAccessTime = iprot.readString()
+        else:
+          iprot.skip(ftype)
+      elif fid == 14:
+        if ftype == TType.STRING:
+          self.validUntil = iprot.readString()
+        else:
+          iprot.skip(ftype)
+      elif fid == 15:
+        if ftype == TType.I32:
+          self.State = iprot.readI32()
+        else:
+          iprot.skip(ftype)
+      elif fid == 16:
+        if ftype == TType.STRING:
+          self.comments = iprot.readString()
+        else:
+          iprot.skip(ftype)
+      elif fid == 17:
+        if ftype == TType.LIST:
+          self.labeledURI = []
+          (_etype42, _size39) = iprot.readListBegin()
+          for _i43 in xrange(_size39):
+            _elem44 = iprot.readString()
+            self.labeledURI.append(_elem44)
+          iprot.readListEnd()
+        else:
+          iprot.skip(ftype)
+      elif fid == 18:
+        if ftype == TType.STRING:
+          self.gpgKey = iprot.readString()
+        else:
+          iprot.skip(ftype)
+      elif fid == 19:
+        if ftype == TType.STRING:
+          self.timeZone = iprot.readString()
+        else:
+          iprot.skip(ftype)
+      elif fid == 20:
+        if ftype == TType.STRUCT:
+          self.nsfDemographics = NSFDemographics()
+          self.nsfDemographics.read(iprot)
+        else:
+          iprot.skip(ftype)
+      else:
+        iprot.skip(ftype)
+      iprot.readFieldEnd()
+    iprot.readStructEnd()
+
+  def write(self, oprot):
+    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:
+      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))
+      return
+    oprot.writeStructBegin('UserProfile')
+    if self.userModelVersion is not None:
+      oprot.writeFieldBegin('userModelVersion', TType.STRING, 1)
+      oprot.writeString(self.userModelVersion)
+      oprot.writeFieldEnd()
+    if self.airavataInternalUserId is not None:
+      oprot.writeFieldBegin('airavataInternalUserId', TType.STRING, 2)
+      oprot.writeString(self.airavataInternalUserId)
+      oprot.writeFieldEnd()
+    if self.userId is not None:
+      oprot.writeFieldBegin('userId', TType.STRING, 3)
+      oprot.writeString(self.userId)
+      oprot.writeFieldEnd()
+    if self.emails is not None:
+      oprot.writeFieldBegin('emails', TType.LIST, 4)
+      oprot.writeListBegin(TType.STRING, len(self.emails))
+      for iter45 in self.emails:
+        oprot.writeString(iter45)
+      oprot.writeListEnd()
+      oprot.writeFieldEnd()
+    if self.userName is not None:
+      oprot.writeFieldBegin('userName', TType.STRING, 5)
+      oprot.writeString(self.userName)
+      oprot.writeFieldEnd()
+    if self.orcidId is not None:
+      oprot.writeFieldBegin('orcidId', TType.STRING, 6)
+      oprot.writeString(self.orcidId)
+      oprot.writeFieldEnd()
+    if self.phones is not None:
+      oprot.writeFieldBegin('phones', TType.LIST, 7)
+      oprot.writeListBegin(TType.STRING, len(self.phones))
+      for iter46 in self.phones:
+        oprot.writeString(iter46)
+      oprot.writeListEnd()
+      oprot.writeFieldEnd()
+    if self.country is not None:
+      oprot.writeFieldBegin('country', TType.STRING, 8)
+      oprot.writeString(self.country)
+      oprot.writeFieldEnd()
+    if self.nationality is not None:
+      oprot.writeFieldBegin('nationality', TType.LIST, 9)
+      oprot.writeListBegin(TType.STRING, len(self.nationality))
+      for iter47 in self.nationality:
+        oprot.writeString(iter47)
+      oprot.writeListEnd()
+      oprot.writeFieldEnd()
+    if self.homeOrganization is not None:
+      oprot.writeFieldBegin('homeOrganization', TType.STRING, 10)
+      oprot.writeString(self.homeOrganization)
+      oprot.writeFieldEnd()
+    if self.orginationAffiliation is not None:
+      oprot.writeFieldBegin('orginationAffiliation', TType.STRING, 11)
+      oprot.writeString(self.orginationAffiliation)
+      oprot.writeFieldEnd()
+    if self.creationTime is not None:
+      oprot.writeFieldBegin('creationTime', TType.STRING, 12)
+      oprot.writeString(self.creationTime)
+      oprot.writeFieldEnd()
+    if self.lastAccessTime is not None:
+      oprot.writeFieldBegin('lastAccessTime', TType.STRING, 13)
+      oprot.writeString(self.lastAccessTime)
+      oprot.writeFieldEnd()
+    if self.validUntil is not None:
+      oprot.writeFieldBegin('validUntil', TType.STRING, 14)
+      oprot.writeString(self.validUntil)
+      oprot.writeFieldEnd()
+    if self.State is not None:
+      oprot.writeFieldBegin('State', TType.I32, 15)
+      oprot.writeI32(self.State)
+      oprot.writeFieldEnd()
+    if self.comments is not None:
+      oprot.writeFieldBegin('comments', TType.STRING, 16)
+      oprot.writeString(self.comments)
+      oprot.writeFieldEnd()
+    if self.labeledURI is not None:
+      oprot.writeFieldBegin('labeledURI', TType.LIST, 17)
+      oprot.writeListBegin(TType.STRING, len(self.labeledURI))
+      for iter48 in self.labeledURI:
+        oprot.writeString(iter48)
+      oprot.writeListEnd()
+      oprot.writeFieldEnd()
+    if self.gpgKey is not None:
+      oprot.writeFieldBegin('gpgKey', TType.STRING, 18)
+      oprot.writeString(self.gpgKey)
+      oprot.writeFieldEnd()
+    if self.timeZone is not None:
+      oprot.writeFieldBegin('timeZone', TType.STRING, 19)
+      oprot.writeString(self.timeZone)
+      oprot.writeFieldEnd()
+    if self.nsfDemographics is not None:
+      oprot.writeFieldBegin('nsfDemographics', TType.STRUCT, 20)
+      self.nsfDemographics.write(oprot)
+      oprot.writeFieldEnd()
+    oprot.writeFieldStop()
+    oprot.writeStructEnd()
+
+  def validate(self):
+    if self.userModelVersion is None:
+      raise TProtocol.TProtocolException(message='Required field userModelVersion is unset!')
+    if self.airavataInternalUserId is None:
+      raise TProtocol.TProtocolException(message='Required field airavataInternalUserId is unset!')
+    if self.userId is None:
+      raise TProtocol.TProtocolException(message='Required field userId is unset!')
+    if self.emails is None:
+      raise TProtocol.TProtocolException(message='Required field emails is unset!')
+    if self.creationTime is None:
+      raise TProtocol.TProtocolException(message='Required field creationTime is unset!')
+    if self.lastAccessTime is None:
+      raise TProtocol.TProtocolException(message='Required field lastAccessTime is unset!')
+    if self.validUntil is None:
+      raise TProtocol.TProtocolException(message='Required field validUntil is unset!')
+    if self.State is None:
+      raise TProtocol.TProtocolException(message='Required field State is unset!')
+    return
+
+
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.userModelVersion)
+    value = (value * 31) ^ hash(self.airavataInternalUserId)
+    value = (value * 31) ^ hash(self.userId)
+    value = (value * 31) ^ hash(self.emails)
+    value = (value * 31) ^ hash(self.userName)
+    value = (value * 31) ^ hash(self.orcidId)
+    value = (value * 31) ^ hash(self.phones)
+    value = (value * 31) ^ hash(self.country)
+    value = (value * 31) ^ hash(self.nationality)
+    value = (value * 31) ^ hash(self.homeOrganization)
+    value = (value * 31) ^ hash(self.orginationAffiliation)
+    value = (value * 31) ^ hash(self.creationTime)
+    value = (value * 31) ^ hash(self.lastAccessTime)
+    value = (value * 31) ^ hash(self.validUntil)
+    value = (value * 31) ^ hash(self.State)
+    value = (value * 31) ^ hash(self.comments)
+    value = (value * 31) ^ hash(self.labeledURI)
+    value = (value * 31) ^ hash(self.gpgKey)
+    value = (value * 31) ^ hash(self.timeZone)
+    value = (value * 31) ^ hash(self.nsfDemographics)
+    return value
+
+  def __repr__(self):
+    L = ['%s=%r' % (key, value)
+      for key, value in self.__dict__.iteritems()]
+    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
+
+  def __eq__(self, other):
+    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
+
+  def __ne__(self, other):
+    return not (self == other)

http://git-wip-us.apache.org/repos/asf/airavata-sandbox/blob/75eb96c2/Interacting_with_Airavata_using_ipython_Notebook/create-experiment/apache/airavata/model/user/ttypes.pyc
----------------------------------------------------------------------
diff --git a/Interacting_with_Airavata_using_ipython_Notebook/create-experiment/apache/airavata/model/user/ttypes.pyc b/Interacting_with_Airavata_using_ipython_Notebook/create-experiment/apache/airavata/model/user/ttypes.pyc
new file mode 100644
index 0000000..de0c9c1
Binary files /dev/null and b/Interacting_with_Airavata_using_ipython_Notebook/create-experiment/apache/airavata/model/user/ttypes.pyc differ

http://git-wip-us.apache.org/repos/asf/airavata-sandbox/blob/75eb96c2/Interacting_with_Airavata_using_ipython_Notebook/create-experiment/apache/airavata/model/workflow/__init__.py
----------------------------------------------------------------------
diff --git a/Interacting_with_Airavata_using_ipython_Notebook/create-experiment/apache/airavata/model/workflow/__init__.py b/Interacting_with_Airavata_using_ipython_Notebook/create-experiment/apache/airavata/model/workflow/__init__.py
new file mode 100644
index 0000000..adefd8e
--- /dev/null
+++ b/Interacting_with_Airavata_using_ipython_Notebook/create-experiment/apache/airavata/model/workflow/__init__.py
@@ -0,0 +1 @@
+__all__ = ['ttypes', 'constants']

http://git-wip-us.apache.org/repos/asf/airavata-sandbox/blob/75eb96c2/Interacting_with_Airavata_using_ipython_Notebook/create-experiment/apache/airavata/model/workflow/__init__.pyc
----------------------------------------------------------------------
diff --git a/Interacting_with_Airavata_using_ipython_Notebook/create-experiment/apache/airavata/model/workflow/__init__.pyc b/Interacting_with_Airavata_using_ipython_Notebook/create-experiment/apache/airavata/model/workflow/__init__.pyc
new file mode 100644
index 0000000..2748ee1
Binary files /dev/null and b/Interacting_with_Airavata_using_ipython_Notebook/create-experiment/apache/airavata/model/workflow/__init__.pyc differ

http://git-wip-us.apache.org/repos/asf/airavata-sandbox/blob/75eb96c2/Interacting_with_Airavata_using_ipython_Notebook/create-experiment/apache/airavata/model/workflow/constants.py
----------------------------------------------------------------------
diff --git a/Interacting_with_Airavata_using_ipython_Notebook/create-experiment/apache/airavata/model/workflow/constants.py b/Interacting_with_Airavata_using_ipython_Notebook/create-experiment/apache/airavata/model/workflow/constants.py
new file mode 100644
index 0000000..4a6492b
--- /dev/null
+++ b/Interacting_with_Airavata_using_ipython_Notebook/create-experiment/apache/airavata/model/workflow/constants.py
@@ -0,0 +1,11 @@
+#
+# Autogenerated by Thrift Compiler (0.9.3)
+#
+# DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+#
+#  options string: py
+#
+
+from thrift.Thrift import TType, TMessageType, TException, TApplicationException
+from ttypes import *
+