# Uses of Package
py4j

- Packages that use py4j
  Package | Description
  --- | ---
  py4j |
  py4j.commands |
  py4j.reflection |

- Classes in py4j used by py4j
  Class and Description
  CallbackClient A CallbackClient is responsible for managing communication channels: channels are created as needed (e.g., one per concurrent thread) and are closed after a certain time.
  DefaultGatewayServerListener This class implements a default `GatewayServerListener`.
  Gateway A Gateway manages various states: entryPoint, references to objects returned to a Python program, etc.
  GatewayConnection Manage the connection between a Python program and a Gateway.
  GatewayServerListener A client can implement this listener to be notified of Gateway events.
  JVMView A JVM view keeps track of imports and import searches.
  Py4JException Exception raised when an error is encountered while using Py4J.
  Py4JNetworkException Exception raised when a network error is encountered while using Py4J.
  ReturnObject A ReturnObject wraps a value returned by a method.

- Classes in py4j used by py4j.commands
  Class and Description
  Gateway A Gateway manages various states: entryPoint, references to objects returned to a Python program, etc.
  Py4JException Exception raised when an error is encountered while using Py4J.
  ReturnObject A ReturnObject wraps a value returned by a method.

- Classes in py4j used by py4j.reflection
  Class and Description
  CallbackClient A CallbackClient is responsible for managing communication channels: channels are created as needed (e.g., one per concurrent thread) and are closed after a certain time.
  Gateway A Gateway manages various states: entryPoint, references to objects returned to a Python program, etc.
  JVMView A JVM view keeps track of imports and import searches.