Class PythonDeephavenSession

java.lang.Object
io.deephaven.util.referencecounting.ReferenceCounted
io.deephaven.engine.liveness.ReferenceCountedLivenessReferent
io.deephaven.engine.liveness.ReferenceCountedLivenessNode
io.deephaven.engine.liveness.LivenessArtifact
io.deephaven.engine.util.AbstractScriptSession<PythonDeephavenSession.PythonSnapshot>
io.deephaven.integrations.python.PythonDeephavenSession
All Implemented Interfaces:
io.deephaven.base.log.LogOutputAppendable, io.deephaven.engine.liveness.LivenessManager, io.deephaven.engine.liveness.LivenessNode, io.deephaven.engine.liveness.LivenessReferent, io.deephaven.engine.util.ScriptSession, Serializable

public class PythonDeephavenSession extends io.deephaven.engine.util.AbstractScriptSession<PythonDeephavenSession.PythonSnapshot>
A ScriptSession that uses a JPy cpython interpreter internally.
See Also:
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    protected static class 
     

    Nested classes/interfaces inherited from class io.deephaven.engine.util.AbstractScriptSession

    io.deephaven.engine.util.AbstractScriptSession.ScriptSessionQueryScope, io.deephaven.engine.util.AbstractScriptSession.Snapshot

    Nested classes/interfaces inherited from interface io.deephaven.engine.util.ScriptSession

    io.deephaven.engine.util.ScriptSession.Changes, io.deephaven.engine.util.ScriptSession.Listener
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static String
     

    Fields inherited from class io.deephaven.engine.util.AbstractScriptSession

    classCacheDirectory, executionContext
  • Constructor Summary

    Constructors
    Constructor
    Description
    PythonDeephavenSession(io.deephaven.engine.updategraph.UpdateGraph updateGraph, io.deephaven.engine.updategraph.OperationInitializer operationInitializer, io.deephaven.util.thread.ThreadInitializationFactory threadInitializationFactory, io.deephaven.engine.util.PythonScope<?> scope)
    Creates a Python "ScriptSession", for use where we should only be reading from the scope, such as an IPython kernel session.
    PythonDeephavenSession(io.deephaven.engine.updategraph.UpdateGraph updateGraph, io.deephaven.engine.updategraph.OperationInitializer operationInitializer, io.deephaven.util.thread.ThreadInitializationFactory threadInitializationFactory, io.deephaven.plugin.type.ObjectTypeLookup objectTypeLookup, @Nullable io.deephaven.engine.util.ScriptSession.Listener listener, boolean runInitScripts, io.deephaven.engine.util.PythonEvaluatorJpy pythonEvaluator)
    Create a Python ScriptSession.
  • Method Summary

    Modifier and Type
    Method
    Description
    protected io.deephaven.engine.util.ScriptSession.Changes
     
     
    protected void
    evaluate(String command, String scriptName)
     
    protected <T> Map<String,T>
    getAllValues(@Nullable Function<Object,T> valueMapper, io.deephaven.engine.context.QueryScope.ParamFilter<T> filter)
     
    protected <T> T
     
    protected Set<String>
     
    protected boolean
     
    void
     
    void
    pushScope(org.jpy.PyObject pydict)
     
     
    protected Object
    setVariable(String name, @Nullable Object newValue)
     
     
    unwrapObject(@Nullable Object object)
     

    Methods inherited from class io.deephaven.engine.util.AbstractScriptSession

    applyVariableChangeToDiff, createScriptCache, destroy, evaluateScript, evaluateScript, getExecutionContext, getQueryScope, newClassCacheLocation, observeScopeChanges, publishInitial

    Methods inherited from class io.deephaven.engine.liveness.LivenessArtifact

    manageWithCurrentScope

    Methods inherited from class io.deephaven.engine.liveness.ReferenceCountedLivenessNode

    getWeakReference, initializeTransientFieldsForLiveness, onReferenceCountAtZero, tryManage, tryUnmanage, tryUnmanage

    Methods inherited from class io.deephaven.engine.liveness.ReferenceCountedLivenessReferent

    dropReference, tryRetainReference

    Methods inherited from class io.deephaven.util.referencecounting.ReferenceCounted

    append, decrementReferenceCount, forceReferenceCountToZero, getReferenceCountDebug, incrementReferenceCount, resetReferenceCount, toString, tryDecrementReferenceCount, tryIncrementReferenceCount

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

    Methods inherited from interface io.deephaven.engine.liveness.LivenessManager

    manage, tryManage

    Methods inherited from interface io.deephaven.engine.liveness.LivenessNode

    tryUnmanage, tryUnmanage, unmanage, unmanage

    Methods inherited from interface io.deephaven.engine.liveness.LivenessReferent

    dropReference, getReferentDescription, getWeakReference, retainReference, tryRetainReference

    Methods inherited from interface io.deephaven.engine.util.ScriptSession

    evaluateScript, sanitizeThrowable
  • Field Details

    • SCRIPT_TYPE

      public static String SCRIPT_TYPE
  • Constructor Details

    • PythonDeephavenSession

      public PythonDeephavenSession(io.deephaven.engine.updategraph.UpdateGraph updateGraph, io.deephaven.engine.updategraph.OperationInitializer operationInitializer, io.deephaven.util.thread.ThreadInitializationFactory threadInitializationFactory, io.deephaven.plugin.type.ObjectTypeLookup objectTypeLookup, @Nullable @Nullable io.deephaven.engine.util.ScriptSession.Listener listener, boolean runInitScripts, io.deephaven.engine.util.PythonEvaluatorJpy pythonEvaluator) throws IOException
      Create a Python ScriptSession.
      Parameters:
      updateGraph - the default update graph to install for the repl
      operationInitializer - the default operation initializer to install for the repl
      objectTypeLookup - the object type lookup
      listener - an optional listener that will be notified whenever the query scope changes
      runInitScripts - if init scripts should be executed
      pythonEvaluator -
      Throws:
      IOException - if an IO error occurs running initialization scripts
    • PythonDeephavenSession

      public PythonDeephavenSession(io.deephaven.engine.updategraph.UpdateGraph updateGraph, io.deephaven.engine.updategraph.OperationInitializer operationInitializer, io.deephaven.util.thread.ThreadInitializationFactory threadInitializationFactory, io.deephaven.engine.util.PythonScope<?> scope)
      Creates a Python "ScriptSession", for use where we should only be reading from the scope, such as an IPython kernel session.
  • Method Details