Class JpyConfig

java.lang.Object
io.deephaven.jpy.JpyConfig

public final class JpyConfig extends Object
This class encapsulates the configuration data and invocation of {/@link PyLibInitializer#initPyLib(String, String, String)}, {/@link PyLib#setProgramName(String)}, {/@link PyLib#setPythonHome(String)}, and {/@link PyLib#startPython(int, String...)}.

Note:

We *don't* want JpyConfig to have an explicit dependency on jpy anymore - that way we can still configure jpy without having the unnecessary dependency. For example, the bootstrap kernel needs to be able to configure jpy, but it should not depend on jpy. It's still useful at this time to have fake @links to it though, as it gives useful context for developers. In a better world, the jpy project itself would be better configure-able (ie, not static), and this type of external configuration class wouldn't be necessary.

  • Constructor Details

    • JpyConfig

      public JpyConfig(Path programName, Path pythonHome, Path pythonLib, Path jpyLib, Path jdlLib, List<Path> extraPaths, EnumSet<JpyConfig.Flag> flags)
      Parameters:
      programName - argument to {/@link PyLib#setProgramName(String)}
      pythonHome - argument to {/@link PyLib#setPythonHome(String)}
      pythonLib - argument to {/@link PyLibInitializer#initPyLib(String, String, String)}
      jpyLib - argument to {/@link PyLibInitializer#initPyLib(String, String, String)}
      jdlLib - argument to {/@link PyLibInitializer#initPyLib(String, String, String)}
      extraPaths - argument to {/@link PyLib#startPython(int, String...)}
      flags - argument to {/@link PyLib#startPython(int, String...)}
  • Method Details