[TOREE-554] Use Pekko instead of Akka (#222)


---------

Co-authored-by: Cheng Pan <pan3793@gmail.com>
diff --git a/build.sbt b/build.sbt
index 8fcd960..d3232e8 100644
--- a/build.sbt
+++ b/build.sbt
@@ -203,7 +203,7 @@
 (ScalaUnidoc / unidoc / scalacOptions) ++= Seq(
   "-Ymacro-expand:none",
   "-skip-packages", Seq(
-    "akka",
+    "org.apache.pekko",
     "scala"
   ).mkString(":"),
   "-no-link-warnings" // Suppresses problems with Scaladoc @throws links
diff --git a/client/build.sbt b/client/build.sbt
index 1ee62a7..3547cde 100644
--- a/client/build.sbt
+++ b/client/build.sbt
@@ -19,7 +19,7 @@
 
 // Main library dependencies to function
 libraryDependencies ++= Seq(
-  Dependencies.akkaActor,
-  Dependencies.akkaSlf4j,
-  Dependencies.akkaTestkit % "test"
+  Dependencies.pekkoActor,
+  Dependencies.pekkoSlf4j,
+  Dependencies.pekkoTestkit % "test"
 )
diff --git a/client/src/main/scala/org/apache/toree/kernel/protocol/v5/client/ActorLoader.scala b/client/src/main/scala/org/apache/toree/kernel/protocol/v5/client/ActorLoader.scala
index 04a5b20..bf7c83a 100644
--- a/client/src/main/scala/org/apache/toree/kernel/protocol/v5/client/ActorLoader.scala
+++ b/client/src/main/scala/org/apache/toree/kernel/protocol/v5/client/ActorLoader.scala
@@ -17,7 +17,7 @@
 
 package org.apache.toree.kernel.protocol.v5.client
 
-import akka.actor.{ActorRefFactory, ActorSelection}
+import org.apache.pekko.actor.{ActorRefFactory, ActorSelection}
 
 /**
  * This trait defines the interface for loading actors based on some value
diff --git a/client/src/main/scala/org/apache/toree/kernel/protocol/v5/client/SparkKernelClient.scala b/client/src/main/scala/org/apache/toree/kernel/protocol/v5/client/SparkKernelClient.scala
index 6f40dbe..4347fad 100644
--- a/client/src/main/scala/org/apache/toree/kernel/protocol/v5/client/SparkKernelClient.scala
+++ b/client/src/main/scala/org/apache/toree/kernel/protocol/v5/client/SparkKernelClient.scala
@@ -17,9 +17,9 @@
 
 package org.apache.toree.kernel.protocol.v5.client
 
-import akka.actor.ActorSystem
-import akka.pattern.ask
-import akka.util.Timeout
+import org.apache.pekko.actor.ActorSystem
+import org.apache.pekko.pattern.ask
+import org.apache.pekko.util.Timeout
 import org.apache.toree.comm._
 import org.apache.toree.kernel.protocol.v5._
 import org.apache.toree.kernel.protocol.v5.client.execution.{DeferredExecution, ExecuteRequestTuple}
diff --git a/client/src/main/scala/org/apache/toree/kernel/protocol/v5/client/Utilities.scala b/client/src/main/scala/org/apache/toree/kernel/protocol/v5/client/Utilities.scala
index 2d63d5e..ff294b1 100644
--- a/client/src/main/scala/org/apache/toree/kernel/protocol/v5/client/Utilities.scala
+++ b/client/src/main/scala/org/apache/toree/kernel/protocol/v5/client/Utilities.scala
@@ -19,7 +19,7 @@
 
 import java.nio.charset.Charset
 
-import akka.util.{ByteString, Timeout}
+import org.apache.pekko.util.{ByteString, Timeout}
 import org.apache.toree.communication.ZMQMessage
 import org.apache.toree.kernel.protocol.v5._
 import org.apache.toree.kernel.protocol.v5.content.ExecuteRequest
diff --git a/client/src/main/scala/org/apache/toree/kernel/protocol/v5/client/boot/ClientBootstrap.scala b/client/src/main/scala/org/apache/toree/kernel/protocol/v5/client/boot/ClientBootstrap.scala
index 51a942f..754bbbf 100644
--- a/client/src/main/scala/org/apache/toree/kernel/protocol/v5/client/boot/ClientBootstrap.scala
+++ b/client/src/main/scala/org/apache/toree/kernel/protocol/v5/client/boot/ClientBootstrap.scala
@@ -17,7 +17,7 @@
 
 package org.apache.toree.kernel.protocol.v5.client.boot
 
-import akka.actor.ActorSystem
+import org.apache.pekko.actor.ActorSystem
 import org.apache.toree.comm.{CommRegistrar, CommStorage}
 import org.apache.toree.kernel.protocol.v5.client.boot.layers._
 import org.apache.toree.kernel.protocol.v5.client.socket.{SocketConfig, SocketFactory}
diff --git a/client/src/main/scala/org/apache/toree/kernel/protocol/v5/client/boot/layers/HandlerInitialization.scala b/client/src/main/scala/org/apache/toree/kernel/protocol/v5/client/boot/layers/HandlerInitialization.scala
index fa6af59..cd4be61 100644
--- a/client/src/main/scala/org/apache/toree/kernel/protocol/v5/client/boot/layers/HandlerInitialization.scala
+++ b/client/src/main/scala/org/apache/toree/kernel/protocol/v5/client/boot/layers/HandlerInitialization.scala
@@ -17,7 +17,7 @@
 
 package org.apache.toree.kernel.protocol.v5.client.boot.layers
 
-import akka.actor.{ActorSystem, Props}
+import org.apache.pekko.actor.{ActorSystem, Props}
 import org.apache.toree.kernel.protocol.v5.client.ActorLoader
 import org.apache.toree.kernel.protocol.v5.MessageType
 import org.apache.toree.kernel.protocol.v5.MessageType.MessageType
diff --git a/client/src/main/scala/org/apache/toree/kernel/protocol/v5/client/boot/layers/SystemInitialization.scala b/client/src/main/scala/org/apache/toree/kernel/protocol/v5/client/boot/layers/SystemInitialization.scala
index 64ffa5a..fcbb4f6 100644
--- a/client/src/main/scala/org/apache/toree/kernel/protocol/v5/client/boot/layers/SystemInitialization.scala
+++ b/client/src/main/scala/org/apache/toree/kernel/protocol/v5/client/boot/layers/SystemInitialization.scala
@@ -17,7 +17,7 @@
 
 package org.apache.toree.kernel.protocol.v5.client.boot.layers
 
-import akka.actor.{Props, ActorRef, ActorSystem}
+import org.apache.pekko.actor.{Props, ActorRef, ActorSystem}
 import org.apache.toree.comm.{CommRegistrar, CommStorage}
 import org.apache.toree.communication.security.{SecurityActorType, SignatureManagerActor}
 import org.apache.toree.kernel.protocol.v5.SocketType
diff --git a/client/src/main/scala/org/apache/toree/kernel/protocol/v5/client/handler/ExecuteHandler.scala b/client/src/main/scala/org/apache/toree/kernel/protocol/v5/client/handler/ExecuteHandler.scala
index 9a4c33e..0309f98 100644
--- a/client/src/main/scala/org/apache/toree/kernel/protocol/v5/client/handler/ExecuteHandler.scala
+++ b/client/src/main/scala/org/apache/toree/kernel/protocol/v5/client/handler/ExecuteHandler.scala
@@ -17,8 +17,8 @@
 
 package org.apache.toree.kernel.protocol.v5.client.handler
 
-import akka.actor.Actor
-import akka.util.Timeout
+import org.apache.pekko.actor.Actor
+import org.apache.pekko.util.Timeout
 import org.apache.toree.kernel.protocol.v5._
 import org.apache.toree.kernel.protocol.v5.client.{ActorLoader, Utilities}
 import org.apache.toree.kernel.protocol.v5.client.execution.{ExecuteRequestTuple, DeferredExecutionManager}
diff --git a/client/src/main/scala/org/apache/toree/kernel/protocol/v5/client/socket/HeartbeatClient.scala b/client/src/main/scala/org/apache/toree/kernel/protocol/v5/client/socket/HeartbeatClient.scala
index fd4c074..8cdaf7b 100644
--- a/client/src/main/scala/org/apache/toree/kernel/protocol/v5/client/socket/HeartbeatClient.scala
+++ b/client/src/main/scala/org/apache/toree/kernel/protocol/v5/client/socket/HeartbeatClient.scala
@@ -17,10 +17,10 @@
 
 package org.apache.toree.kernel.protocol.v5.client.socket
 
-import akka.actor.{ActorRef, Actor}
-import akka.util.{ByteString, Timeout}
+import org.apache.pekko.actor.{ActorRef, Actor}
+import org.apache.pekko.util.{ByteString, Timeout}
 import org.apache.toree.communication.ZMQMessage
-import akka.pattern.ask
+import org.apache.pekko.pattern.ask
 import org.apache.toree.kernel.protocol.v5.client.ActorLoader
 import org.apache.toree.utils.LogLike
 import org.apache.toree.kernel.protocol.v5.UUID
diff --git a/client/src/main/scala/org/apache/toree/kernel/protocol/v5/client/socket/IOPubClient.scala b/client/src/main/scala/org/apache/toree/kernel/protocol/v5/client/socket/IOPubClient.scala
index 02f1794..eee8daa 100644
--- a/client/src/main/scala/org/apache/toree/kernel/protocol/v5/client/socket/IOPubClient.scala
+++ b/client/src/main/scala/org/apache/toree/kernel/protocol/v5/client/socket/IOPubClient.scala
@@ -17,7 +17,7 @@
 
 package org.apache.toree.kernel.protocol.v5.client.socket
 
-import akka.actor.Actor
+import org.apache.pekko.actor.Actor
 import org.apache.toree.communication.ZMQMessage
 import org.apache.toree.comm.{CommStorage, CommRegistrar, ClientCommWriter}
 import org.apache.toree.kernel.protocol.v5.client.{ActorLoader, Utilities}
diff --git a/client/src/main/scala/org/apache/toree/kernel/protocol/v5/client/socket/ShellClient.scala b/client/src/main/scala/org/apache/toree/kernel/protocol/v5/client/socket/ShellClient.scala
index 1c1c864..f83540c 100644
--- a/client/src/main/scala/org/apache/toree/kernel/protocol/v5/client/socket/ShellClient.scala
+++ b/client/src/main/scala/org/apache/toree/kernel/protocol/v5/client/socket/ShellClient.scala
@@ -17,8 +17,8 @@
 
 package org.apache.toree.kernel.protocol.v5.client.socket
 
-import akka.actor.Actor
-import akka.util.Timeout
+import org.apache.pekko.actor.Actor
+import org.apache.pekko.util.Timeout
 import org.apache.toree.communication.ZMQMessage
 import org.apache.toree.communication.security.SecurityActorType
 import org.apache.toree.kernel.protocol.v5.client.{ActorLoader, Utilities}
@@ -30,7 +30,7 @@
 import org.apache.toree.utils.LogLike
 import scala.concurrent.Await
 import scala.concurrent.duration._
-import akka.pattern.ask
+import org.apache.pekko.pattern.ask
 
 /**
  * The client endpoint for Shell messages specified in the IPython Kernel Spec
diff --git a/client/src/main/scala/org/apache/toree/kernel/protocol/v5/client/socket/SocketFactory.scala b/client/src/main/scala/org/apache/toree/kernel/protocol/v5/client/socket/SocketFactory.scala
index 1d39047..76ee1de 100644
--- a/client/src/main/scala/org/apache/toree/kernel/protocol/v5/client/socket/SocketFactory.scala
+++ b/client/src/main/scala/org/apache/toree/kernel/protocol/v5/client/socket/SocketFactory.scala
@@ -19,7 +19,7 @@
 
 import java.util.UUID
 
-import akka.actor.{Props, ActorRef, ActorSystem}
+import org.apache.pekko.actor.{Props, ActorRef, ActorSystem}
 import org.apache.toree.communication.actors.{DealerSocketActor, ReqSocketActor, SubSocketActor}
 
 object SocketFactory {
diff --git a/client/src/main/scala/org/apache/toree/kernel/protocol/v5/client/socket/StdinClient.scala b/client/src/main/scala/org/apache/toree/kernel/protocol/v5/client/socket/StdinClient.scala
index 749fb8d..7fb6afa 100644
--- a/client/src/main/scala/org/apache/toree/kernel/protocol/v5/client/socket/StdinClient.scala
+++ b/client/src/main/scala/org/apache/toree/kernel/protocol/v5/client/socket/StdinClient.scala
@@ -17,7 +17,7 @@
 
 package org.apache.toree.kernel.protocol.v5.client.socket
 
-import akka.actor.Actor
+import org.apache.pekko.actor.Actor
 import org.apache.toree.communication.ZMQMessage
 import org.apache.toree.communication.security.SecurityActorType
 import org.apache.toree.kernel.protocol.v5.client.ActorLoader
@@ -28,7 +28,7 @@
 import play.api.libs.json.Json
 
 import StdinClient._
-import akka.pattern.ask
+import org.apache.pekko.pattern.ask
 
 import scala.concurrent.duration._
 import scala.concurrent.Await
diff --git a/client/src/test/scala/integration/unused.integration.socket/ClientToHeartbeatSpecForIntegration.scala b/client/src/test/scala/integration/unused.integration.socket/ClientToHeartbeatSpecForIntegration.scala
index 4248ce8..1b640c9 100644
--- a/client/src/test/scala/integration/unused.integration.socket/ClientToHeartbeatSpecForIntegration.scala
+++ b/client/src/test/scala/integration/unused.integration.socket/ClientToHeartbeatSpecForIntegration.scala
@@ -22,10 +22,10 @@
 
 import java.io.File
 
-import akka.actor.{ActorRef, ActorSystem, Props}
-import akka.pattern.ask
-import akka.testkit.{ImplicitSender, TestKit, TestProbe}
-import akka.util.Timeout
+import org.apache.pekko.actor.{ActorRef, ActorSystem, Props}
+import org.apache.pekko.pattern.ask
+import org.apache.pekko.testkit.{ImplicitSender, TestKit, TestProbe}
+import org.apache.pekko.util.Timeout
 import org.apache.toree.kernel.protocol.v5.client.ZMQMessage
 import org.apache.toree.kernel.protocol.v5.SocketType
 import org.apache.toree.kernel.protocol.v5.socket._
diff --git a/client/src/test/scala/integration/unused.integration.socket/ClientToIOPubSpecForIntegration.scala b/client/src/test/scala/integration/unused.integration.socket/ClientToIOPubSpecForIntegration.scala
index 738b488..9773f83 100644
--- a/client/src/test/scala/integration/unused.integration.socket/ClientToIOPubSpecForIntegration.scala
+++ b/client/src/test/scala/integration/unused.integration.socket/ClientToIOPubSpecForIntegration.scala
@@ -22,8 +22,8 @@
 
 import java.util.UUID
 
-import akka.actor.{ActorRef, ActorSystem, Props}
-import akka.testkit.{ImplicitSender, TestKit, TestProbe}
+import org.apache.pekko.actor.{ActorRef, ActorSystem, Props}
+import org.apache.pekko.testkit.{ImplicitSender, TestKit, TestProbe}
 import org.apache.toree.kernel.protocol.v5._
 import org.apache.toree.kernel.protocol.v5.content.ExecuteResult
 import org.apache.toree.kernel.protocol.v5.socket._
diff --git a/client/src/test/scala/integration/unused.integration.socket/ClientToShellSpecForIntegration.scala b/client/src/test/scala/integration/unused.integration.socket/ClientToShellSpecForIntegration.scala
index c2ebb62..73ed630 100644
--- a/client/src/test/scala/integration/unused.integration.socket/ClientToShellSpecForIntegration.scala
+++ b/client/src/test/scala/integration/unused.integration.socket/ClientToShellSpecForIntegration.scala
@@ -22,9 +22,9 @@
 
 import java.util.UUID
 
-import akka.actor.{ActorRef, ActorSystem, Props}
-import akka.testkit.{ImplicitSender, TestKit, TestProbe}
-import akka.zeromq._
+import org.apache.pekko.actor.{ActorRef, ActorSystem, Props}
+import org.apache.pekko.testkit.{ImplicitSender, TestKit, TestProbe}
+import org.apache.pekko.zeromq._
 import org.apache.toree.kernel.protocol.v5._
 import org.apache.toree.kernel.protocol.v5.content.ExecuteRequest
 import org.apache.toree.kernel.protocol.v5.socket._
diff --git a/client/src/test/scala/org/apache/toree/comm/ClientCommWriterSpec.scala b/client/src/test/scala/org/apache/toree/comm/ClientCommWriterSpec.scala
index 3cab15d..c4b3a0d 100644
--- a/client/src/test/scala/org/apache/toree/comm/ClientCommWriterSpec.scala
+++ b/client/src/test/scala/org/apache/toree/comm/ClientCommWriterSpec.scala
@@ -19,8 +19,8 @@
 
 import java.util.UUID
 
-import akka.actor.{ActorSelection, ActorSystem}
-import akka.testkit.{TestKit, TestProbe}
+import org.apache.pekko.actor.{ActorSelection, ActorSystem}
+import org.apache.pekko.testkit.{TestKit, TestProbe}
 import org.apache.toree.kernel.protocol.v5._
 import org.apache.toree.kernel.protocol.v5.client.ActorLoader
 import org.apache.toree.kernel.protocol.v5.content._
@@ -37,7 +37,7 @@
 
 object ClientCommWriterSpec {
   val config ="""
-    akka {
+    pekko {
       loglevel = "WARNING"
     }"""
 }
diff --git a/client/src/test/scala/org/apache/toree/kernel/protocol/v5/client/SparkKernelClientSpec.scala b/client/src/test/scala/org/apache/toree/kernel/protocol/v5/client/SparkKernelClientSpec.scala
index bae804d..38fa715 100644
--- a/client/src/test/scala/org/apache/toree/kernel/protocol/v5/client/SparkKernelClientSpec.scala
+++ b/client/src/test/scala/org/apache/toree/kernel/protocol/v5/client/SparkKernelClientSpec.scala
@@ -17,8 +17,8 @@
 
 package org.apache.toree.kernel.protocol.v5.client
 
-import akka.actor.ActorSystem
-import akka.testkit.{TestKit, TestProbe}
+import org.apache.pekko.actor.ActorSystem
+import org.apache.pekko.testkit.{TestKit, TestProbe}
 import org.apache.toree.comm.{CommCallbacks, CommStorage, CommRegistrar}
 import org.apache.toree.kernel.protocol.v5
 import org.apache.toree.kernel.protocol.v5._
diff --git a/client/src/test/scala/org/apache/toree/kernel/protocol/v5/client/socket/HeartbeatClientSpec.scala b/client/src/test/scala/org/apache/toree/kernel/protocol/v5/client/socket/HeartbeatClientSpec.scala
index 25857f4..f107039 100644
--- a/client/src/test/scala/org/apache/toree/kernel/protocol/v5/client/socket/HeartbeatClientSpec.scala
+++ b/client/src/test/scala/org/apache/toree/kernel/protocol/v5/client/socket/HeartbeatClientSpec.scala
@@ -17,8 +17,8 @@
 
 package org.apache.toree.kernel.protocol.v5.client.socket
 
-import akka.actor.{ActorRef, ActorSystem, Props}
-import akka.testkit.{TestProbe, ImplicitSender, TestKit}
+import org.apache.pekko.actor.{ActorRef, ActorSystem, Props}
+import org.apache.pekko.testkit.{TestProbe, ImplicitSender, TestKit}
 import org.apache.toree.communication.ZMQMessage
 import org.apache.toree.kernel.protocol.v5.client.ActorLoader
 import org.scalatestplus.mockito.MockitoSugar
diff --git a/client/src/test/scala/org/apache/toree/kernel/protocol/v5/client/socket/IOPubClientSpec.scala b/client/src/test/scala/org/apache/toree/kernel/protocol/v5/client/socket/IOPubClientSpec.scala
index 59359e6..9cae4fb 100644
--- a/client/src/test/scala/org/apache/toree/kernel/protocol/v5/client/socket/IOPubClientSpec.scala
+++ b/client/src/test/scala/org/apache/toree/kernel/protocol/v5/client/socket/IOPubClientSpec.scala
@@ -19,10 +19,10 @@
 
 import java.util.UUID
 
-import akka.actor.{ActorRef, ActorSystem, Props}
-import akka.pattern.ask
-import akka.testkit.{ImplicitSender, TestKit, TestProbe}
-import akka.util.Timeout
+import org.apache.pekko.actor.{ActorRef, ActorSystem, Props}
+import org.apache.pekko.pattern.ask
+import org.apache.pekko.testkit.{ImplicitSender, TestKit, TestProbe}
+import org.apache.pekko.util.Timeout
 import org.apache.toree.comm.{CommCallbacks, CommRegistrar, CommStorage, CommWriter}
 import org.apache.toree.communication.ZMQMessage
 import org.apache.toree.kernel.protocol.v5
@@ -48,7 +48,7 @@
 
 object IOPubClientSpec {
   val config ="""
-    akka {
+    pekko {
       loglevel = "WARNING"
     }"""
 }
diff --git a/client/src/test/scala/org/apache/toree/kernel/protocol/v5/client/socket/ShellClientSpec.scala b/client/src/test/scala/org/apache/toree/kernel/protocol/v5/client/socket/ShellClientSpec.scala
index f0857ee..8fd025a 100644
--- a/client/src/test/scala/org/apache/toree/kernel/protocol/v5/client/socket/ShellClientSpec.scala
+++ b/client/src/test/scala/org/apache/toree/kernel/protocol/v5/client/socket/ShellClientSpec.scala
@@ -19,8 +19,8 @@
 
 import java.util.UUID
 
-import akka.actor.{ActorRef, ActorSystem, Props}
-import akka.testkit.{TestProbe, ImplicitSender, TestKit}
+import org.apache.pekko.actor.{ActorRef, ActorSystem, Props}
+import org.apache.pekko.testkit.{TestProbe, ImplicitSender, TestKit}
 import org.apache.toree.communication.ZMQMessage
 import org.apache.toree.communication.security.SecurityActorType
 import org.apache.toree.kernel.protocol.v5._
diff --git a/client/src/test/scala/org/apache/toree/kernel/protocol/v5/client/socket/StdinClientSpec.scala b/client/src/test/scala/org/apache/toree/kernel/protocol/v5/client/socket/StdinClientSpec.scala
index a3c1691..87a9088 100644
--- a/client/src/test/scala/org/apache/toree/kernel/protocol/v5/client/socket/StdinClientSpec.scala
+++ b/client/src/test/scala/org/apache/toree/kernel/protocol/v5/client/socket/StdinClientSpec.scala
@@ -17,8 +17,8 @@
 
 package org.apache.toree.kernel.protocol.v5.client.socket
 
-import akka.actor.{ActorRef, Props, ActorSystem}
-import akka.testkit.{TestProbe, ImplicitSender, TestKit}
+import org.apache.pekko.actor.{ActorRef, Props, ActorSystem}
+import org.apache.pekko.testkit.{TestProbe, ImplicitSender, TestKit}
 import org.apache.toree.communication.ZMQMessage
 import org.apache.toree.communication.security.SecurityActorType
 import org.apache.toree.kernel.protocol.v5._
diff --git a/client/src/test/scala/system/ClientCommSpecForSystem.scala b/client/src/test/scala/system/ClientCommSpecForSystem.scala
index 00db1d5..9555292 100644
--- a/client/src/test/scala/system/ClientCommSpecForSystem.scala
+++ b/client/src/test/scala/system/ClientCommSpecForSystem.scala
@@ -17,7 +17,7 @@
 
 package system
 
-import akka.testkit.{TestKit, TestProbe}
+import org.apache.pekko.testkit.{TestKit, TestProbe}
 import org.apache.toree.communication.ZMQMessage
 import org.apache.toree.kernel.protocol.v5
 import org.apache.toree.kernel.protocol.v5.client.Utilities._
diff --git a/client/src/test/scala/test/utils/SparkClientDeployer.scala b/client/src/test/scala/test/utils/SparkClientDeployer.scala
index 7f98955..b835554 100644
--- a/client/src/test/scala/test/utils/SparkClientDeployer.scala
+++ b/client/src/test/scala/test/utils/SparkClientDeployer.scala
@@ -17,8 +17,8 @@
 
 package test.utils
 
-import akka.actor.{Actor, Props, ActorRef, ActorSystem}
-import akka.testkit.TestProbe
+import org.apache.pekko.actor.{Actor, Props, ActorRef, ActorSystem}
+import org.apache.pekko.testkit.TestProbe
 import org.apache.toree.comm.{CommRegistrar, CommStorage}
 import org.apache.toree.kernel.protocol.v5.client.socket._
 import org.apache.toree.kernel.protocol.v5.client.{ActorLoader, SparkKernelClient}
diff --git a/communication/build.sbt b/communication/build.sbt
index 92db418..ea2ee06 100644
--- a/communication/build.sbt
+++ b/communication/build.sbt
@@ -17,7 +17,7 @@
 
 libraryDependencies ++= Seq(
   Dependencies.jeroMq,
-  Dependencies.akkaActor,
-  Dependencies.akkaSlf4j,
-  Dependencies.akkaTestkit % "test"
+  Dependencies.pekkoActor,
+  Dependencies.pekkoSlf4j,
+  Dependencies.pekkoTestkit % "test"
 )
diff --git a/communication/src/main/scala/org/apache/toree/communication/ZMQMessage.scala b/communication/src/main/scala/org/apache/toree/communication/ZMQMessage.scala
index 25f2532..8de6608 100644
--- a/communication/src/main/scala/org/apache/toree/communication/ZMQMessage.scala
+++ b/communication/src/main/scala/org/apache/toree/communication/ZMQMessage.scala
@@ -16,7 +16,7 @@
  */
 package org.apache.toree.communication
 
-import akka.util.ByteString
+import org.apache.pekko.util.ByteString
 
 /**
  * Represents a ZeroMQ message containing a collection of Akka ByteString
diff --git a/communication/src/main/scala/org/apache/toree/communication/actors/DealerSocketActor.scala b/communication/src/main/scala/org/apache/toree/communication/actors/DealerSocketActor.scala
index ad0f7a9..9e4ac15 100644
--- a/communication/src/main/scala/org/apache/toree/communication/actors/DealerSocketActor.scala
+++ b/communication/src/main/scala/org/apache/toree/communication/actors/DealerSocketActor.scala
@@ -16,8 +16,8 @@
  */
 package org.apache.toree.communication.actors
 
-import akka.actor.{Actor, ActorRef}
-import akka.util.ByteString
+import org.apache.pekko.actor.{Actor, ActorRef}
+import org.apache.pekko.util.ByteString
 import org.apache.toree.communication.{ZMQMessage, SocketManager}
 import org.apache.toree.utils.LogLike
 import org.zeromq.ZMQ
diff --git a/communication/src/main/scala/org/apache/toree/communication/actors/PubSocketActor.scala b/communication/src/main/scala/org/apache/toree/communication/actors/PubSocketActor.scala
index 3a7c770..3790bec 100644
--- a/communication/src/main/scala/org/apache/toree/communication/actors/PubSocketActor.scala
+++ b/communication/src/main/scala/org/apache/toree/communication/actors/PubSocketActor.scala
@@ -16,7 +16,7 @@
  */
 package org.apache.toree.communication.actors
 
-import akka.actor.Actor
+import org.apache.pekko.actor.Actor
 import org.apache.toree.communication.utils.OrderedSupport
 import org.apache.toree.communication.{SocketManager, ZMQMessage}
 import org.apache.toree.kernel.protocol.v5.KernelMessage
diff --git a/communication/src/main/scala/org/apache/toree/communication/actors/RepSocketActor.scala b/communication/src/main/scala/org/apache/toree/communication/actors/RepSocketActor.scala
index c406f15..1e75c23 100644
--- a/communication/src/main/scala/org/apache/toree/communication/actors/RepSocketActor.scala
+++ b/communication/src/main/scala/org/apache/toree/communication/actors/RepSocketActor.scala
@@ -16,8 +16,8 @@
  */
 package org.apache.toree.communication.actors
 
-import akka.actor.{Actor, ActorRef}
-import akka.util.ByteString
+import org.apache.pekko.actor.{Actor, ActorRef}
+import org.apache.pekko.util.ByteString
 import org.apache.toree.communication.{SocketManager, ZMQMessage}
 import org.apache.toree.utils.LogLike
 import org.zeromq.ZMQ
diff --git a/communication/src/main/scala/org/apache/toree/communication/actors/ReqSocketActor.scala b/communication/src/main/scala/org/apache/toree/communication/actors/ReqSocketActor.scala
index ec22a92..3fb6023 100644
--- a/communication/src/main/scala/org/apache/toree/communication/actors/ReqSocketActor.scala
+++ b/communication/src/main/scala/org/apache/toree/communication/actors/ReqSocketActor.scala
@@ -16,8 +16,8 @@
  */
 package org.apache.toree.communication.actors
 
-import akka.actor.{Actor, ActorRef}
-import akka.util.ByteString
+import org.apache.pekko.actor.{Actor, ActorRef}
+import org.apache.pekko.util.ByteString
 import org.apache.toree.communication.{ZMQMessage, SocketManager}
 import org.apache.toree.utils.LogLike
 import org.zeromq.ZMQ
diff --git a/communication/src/main/scala/org/apache/toree/communication/actors/RouterSocketActor.scala b/communication/src/main/scala/org/apache/toree/communication/actors/RouterSocketActor.scala
index 2501909..9804a6d 100644
--- a/communication/src/main/scala/org/apache/toree/communication/actors/RouterSocketActor.scala
+++ b/communication/src/main/scala/org/apache/toree/communication/actors/RouterSocketActor.scala
@@ -16,8 +16,8 @@
  */
 package org.apache.toree.communication.actors
 
-import akka.actor.{Actor, ActorRef}
-import akka.util.ByteString
+import org.apache.pekko.actor.{Actor, ActorRef}
+import org.apache.pekko.util.ByteString
 import org.apache.toree.communication.{SocketManager, ZMQMessage}
 import org.apache.toree.utils.LogLike
 import org.zeromq.ZMQ
diff --git a/communication/src/main/scala/org/apache/toree/communication/actors/SubSocketActor.scala b/communication/src/main/scala/org/apache/toree/communication/actors/SubSocketActor.scala
index 0c82823..4659fc2 100644
--- a/communication/src/main/scala/org/apache/toree/communication/actors/SubSocketActor.scala
+++ b/communication/src/main/scala/org/apache/toree/communication/actors/SubSocketActor.scala
@@ -16,8 +16,8 @@
  */
 package org.apache.toree.communication.actors
 
-import akka.actor.{Actor, ActorRef}
-import akka.util.ByteString
+import org.apache.pekko.actor.{Actor, ActorRef}
+import org.apache.pekko.util.ByteString
 import org.apache.toree.communication.{ZMQMessage, SocketManager}
 import org.apache.toree.utils.LogLike
 
diff --git a/communication/src/main/scala/org/apache/toree/communication/security/SignatureCheckerActor.scala b/communication/src/main/scala/org/apache/toree/communication/security/SignatureCheckerActor.scala
index fe36b6c..e6b8329 100644
--- a/communication/src/main/scala/org/apache/toree/communication/security/SignatureCheckerActor.scala
+++ b/communication/src/main/scala/org/apache/toree/communication/security/SignatureCheckerActor.scala
@@ -17,7 +17,7 @@
 
 package org.apache.toree.communication.security
 
-import akka.actor.Actor
+import org.apache.pekko.actor.Actor
 import org.apache.toree.communication.utils.OrderedSupport
 import org.apache.toree.utils.LogLike
 
diff --git a/communication/src/main/scala/org/apache/toree/communication/security/SignatureManagerActor.scala b/communication/src/main/scala/org/apache/toree/communication/security/SignatureManagerActor.scala
index 37d786c..ab13666 100644
--- a/communication/src/main/scala/org/apache/toree/communication/security/SignatureManagerActor.scala
+++ b/communication/src/main/scala/org/apache/toree/communication/security/SignatureManagerActor.scala
@@ -17,15 +17,15 @@
 
 package org.apache.toree.communication.security
 
-import akka.actor.{Props, ActorRef, Actor}
-import akka.util.Timeout
+import org.apache.pekko.actor.{Props, ActorRef, Actor}
+import org.apache.pekko.util.Timeout
 import org.apache.toree.communication.utils.OrderedSupport
 import org.apache.toree.kernel.protocol.v5.KernelMessage
 import org.apache.toree.utils.LogLike
 
 import scala.concurrent.duration._
-import akka.pattern.ask
-import akka.pattern.pipe
+import org.apache.pekko.pattern.ask
+import org.apache.pekko.pattern.pipe
 
 class SignatureManagerActor(
   key: String, scheme: String
diff --git a/communication/src/main/scala/org/apache/toree/communication/security/SignatureProducerActor.scala b/communication/src/main/scala/org/apache/toree/communication/security/SignatureProducerActor.scala
index 32383a7..1e303e5 100644
--- a/communication/src/main/scala/org/apache/toree/communication/security/SignatureProducerActor.scala
+++ b/communication/src/main/scala/org/apache/toree/communication/security/SignatureProducerActor.scala
@@ -17,7 +17,7 @@
 
 package org.apache.toree.communication.security
 
-import akka.actor.Actor
+import org.apache.pekko.actor.Actor
 import org.apache.toree.communication.utils.OrderedSupport
 import org.apache.toree.kernel.protocol.v5.KernelMessage
 import org.apache.toree.utils.LogLike
diff --git a/communication/src/main/scala/org/apache/toree/communication/utils/OrderedSupport.scala b/communication/src/main/scala/org/apache/toree/communication/utils/OrderedSupport.scala
index 03c33af..31e6c6f 100644
--- a/communication/src/main/scala/org/apache/toree/communication/utils/OrderedSupport.scala
+++ b/communication/src/main/scala/org/apache/toree/communication/utils/OrderedSupport.scala
@@ -17,7 +17,7 @@
 
 package org.apache.toree.communication.utils
 
-import akka.actor.{Actor, Stash}
+import org.apache.pekko.actor.{Actor, Stash}
 import org.apache.toree.utils.LogLike
 
 /**
diff --git a/communication/src/test/scala/integration/security/SignatureCheckerActorSpecForIntegration.scala b/communication/src/test/scala/integration/security/SignatureCheckerActorSpecForIntegration.scala
index 6a23166..d24e5f0 100644
--- a/communication/src/test/scala/integration/security/SignatureCheckerActorSpecForIntegration.scala
+++ b/communication/src/test/scala/integration/security/SignatureCheckerActorSpecForIntegration.scala
@@ -17,8 +17,8 @@
 
 package integration.security
 
-import akka.actor.{ActorRef, ActorSystem, Props}
-import akka.testkit.{ImplicitSender, TestKit}
+import org.apache.pekko.actor.{ActorRef, ActorSystem, Props}
+import org.apache.pekko.testkit.{ImplicitSender, TestKit}
 import org.apache.toree.kernel.protocol.v5._
 import org.apache.toree.communication.security.{Hmac, SignatureCheckerActor}
 import com.typesafe.config.ConfigFactory
@@ -29,7 +29,7 @@
 
 object SignatureCheckerActorSpecForIntegration {
   val config = """
-    akka {
+    pekko {
       loglevel = "WARNING"
     }"""
 }
diff --git a/communication/src/test/scala/integration/security/SignatureManagerActorSpecForIntegration.scala b/communication/src/test/scala/integration/security/SignatureManagerActorSpecForIntegration.scala
index a3380e3..59288a4 100644
--- a/communication/src/test/scala/integration/security/SignatureManagerActorSpecForIntegration.scala
+++ b/communication/src/test/scala/integration/security/SignatureManagerActorSpecForIntegration.scala
@@ -17,8 +17,8 @@
 
 package integration.security
 
-import akka.actor.{ActorRef, ActorSystem, Props}
-import akka.testkit.{ImplicitSender, TestKit}
+import org.apache.pekko.actor.{ActorRef, ActorSystem, Props}
+import org.apache.pekko.testkit.{ImplicitSender, TestKit}
 import org.apache.toree.communication.security.SignatureManagerActor
 import org.apache.toree.kernel.protocol.v5.{KernelMessage, _}
 import com.typesafe.config.ConfigFactory
@@ -31,7 +31,7 @@
 
 object SignatureManagerActorSpecForIntegration {
   val config = """
-    akka {
+    pekko {
       loglevel = "WARNING"
     }"""
 }
diff --git a/communication/src/test/scala/integration/security/SignatureProducerActorSpecForIntegration.scala b/communication/src/test/scala/integration/security/SignatureProducerActorSpecForIntegration.scala
index 0150a5b..c4214ce 100644
--- a/communication/src/test/scala/integration/security/SignatureProducerActorSpecForIntegration.scala
+++ b/communication/src/test/scala/integration/security/SignatureProducerActorSpecForIntegration.scala
@@ -17,8 +17,8 @@
 
 package integration.security
 
-import akka.actor.{ActorRef, ActorSystem, Props}
-import akka.testkit.{ImplicitSender, TestKit}
+import org.apache.pekko.actor.{ActorRef, ActorSystem, Props}
+import org.apache.pekko.testkit.{ImplicitSender, TestKit}
 import org.apache.toree.kernel.protocol.v5._
 import org.apache.toree.communication.security.{Hmac, SignatureProducerActor}
 import com.typesafe.config.ConfigFactory
@@ -28,7 +28,7 @@
 
 object SignatureProducerActorSpecForIntegration {
   val config = """
-    akka {
+    pekko {
       loglevel = "WARNING"
     }"""
 }
diff --git a/communication/src/test/scala/org/apache/toree/communication/utils/OrderedSupportSpec.scala b/communication/src/test/scala/org/apache/toree/communication/utils/OrderedSupportSpec.scala
index 7461920..293b0a8 100644
--- a/communication/src/test/scala/org/apache/toree/communication/utils/OrderedSupportSpec.scala
+++ b/communication/src/test/scala/org/apache/toree/communication/utils/OrderedSupportSpec.scala
@@ -17,8 +17,8 @@
 
 package org.apache.toree.communication.utils
 
-import akka.actor._
-import akka.testkit.{ImplicitSender, TestKit}
+import org.apache.pekko.actor._
+import org.apache.pekko.testkit.{ImplicitSender, TestKit}
 import org.scalatestplus.mockito.MockitoSugar
 import org.scalatest.funspec.AnyFunSpecLike
 import org.scalatest.matchers.should.Matchers
diff --git a/etc/legal/LICENSE_extras b/etc/legal/LICENSE_extras
index 7d09cb2..01ec513 100644
--- a/etc/legal/LICENSE_extras
+++ b/etc/legal/LICENSE_extras
@@ -11,8 +11,8 @@
 ========================================================================
 
    com.google.guava:guava:14.0.1
-   com.typesafe.akka:akka-slf4j_2.11:2.4.20
-   com.typesafe.akka:akka-actor_2.11:2.4.20
+   org.apache.pekko:pekko-slf4j_2.12:1.0.2
+   org.apache.pekko:pekko-actor_2.12:1.0.2
    com.typesafe:config:1.3.0 -> https://github.com/lightbend/config/blob/master/LICENSE-2.0.txt
    com.typesafe.play:play-json_2.11:2.3.10 -> https://github.com/playframework/play-json/blob/master/LICENSE
    com.typesafe.play:play-datacommons_2.11:2.3.10
diff --git a/kernel/build.sbt b/kernel/build.sbt
index f77546a..c528991 100644
--- a/kernel/build.sbt
+++ b/kernel/build.sbt
@@ -21,4 +21,4 @@
 //
 // TEST DEPENDENCIES
 //
-libraryDependencies += Dependencies.akkaTestkit % "test"
+libraryDependencies += Dependencies.pekkoTestkit % "test"
diff --git a/kernel/src/main/scala/org/apache/toree/boot/KernelBootstrap.scala b/kernel/src/main/scala/org/apache/toree/boot/KernelBootstrap.scala
index b4ccbc0..45d5ca9 100644
--- a/kernel/src/main/scala/org/apache/toree/boot/KernelBootstrap.scala
+++ b/kernel/src/main/scala/org/apache/toree/boot/KernelBootstrap.scala
@@ -17,7 +17,7 @@
 
 package org.apache.toree.boot
 
-import akka.actor.{ActorRef, ActorSystem}
+import org.apache.pekko.actor.{ActorRef, ActorSystem}
 import com.typesafe.config.Config
 import org.apache.toree.boot.layer._
 import org.apache.toree.interpreter.Interpreter
diff --git a/kernel/src/main/scala/org/apache/toree/boot/layer/BareInitialization.scala b/kernel/src/main/scala/org/apache/toree/boot/layer/BareInitialization.scala
index 429ac7c..d6b969a 100644
--- a/kernel/src/main/scala/org/apache/toree/boot/layer/BareInitialization.scala
+++ b/kernel/src/main/scala/org/apache/toree/boot/layer/BareInitialization.scala
@@ -17,7 +17,7 @@
 
 package org.apache.toree.boot.layer
 
-import akka.actor.{ActorRef, Props, ActorSystem}
+import org.apache.pekko.actor.{ActorRef, Props, ActorSystem}
 import org.apache.toree.kernel.protocol.v5.dispatch.StatusDispatch
 import org.apache.toree.kernel.protocol.v5.handler.{GenericSocketMessageHandler, ShutdownHandler}
 import org.apache.toree.kernel.protocol.v5.kernel.{SimpleActorLoader, ActorLoader}
diff --git a/kernel/src/main/scala/org/apache/toree/boot/layer/ComponentInitialization.scala b/kernel/src/main/scala/org/apache/toree/boot/layer/ComponentInitialization.scala
index 46f0796..47d2ac0 100644
--- a/kernel/src/main/scala/org/apache/toree/boot/layer/ComponentInitialization.scala
+++ b/kernel/src/main/scala/org/apache/toree/boot/layer/ComponentInitialization.scala
@@ -21,7 +21,7 @@
 import java.net.URL
 import java.nio.file.{Files, Paths}
 import java.util.concurrent.ConcurrentHashMap
-import akka.actor.ActorRef
+import org.apache.pekko.actor.ActorRef
 import com.typesafe.config.Config
 import org.apache.spark.SparkConf
 import org.apache.toree.comm.{CommManager, CommRegistrar, CommStorage, KernelCommManager}
diff --git a/kernel/src/main/scala/org/apache/toree/boot/layer/HandlerInitialization.scala b/kernel/src/main/scala/org/apache/toree/boot/layer/HandlerInitialization.scala
index 1e7f56c..f3211cf 100644
--- a/kernel/src/main/scala/org/apache/toree/boot/layer/HandlerInitialization.scala
+++ b/kernel/src/main/scala/org/apache/toree/boot/layer/HandlerInitialization.scala
@@ -17,7 +17,7 @@
 
 package org.apache.toree.boot.layer
 
-import akka.actor.{ActorRef, ActorSystem, Props}
+import org.apache.pekko.actor.{ActorRef, ActorSystem, Props}
 import org.apache.toree.comm.{CommRegistrar, CommStorage}
 import org.apache.toree.interpreter.Interpreter
 import org.apache.toree.kernel.api.Kernel
diff --git a/kernel/src/main/scala/org/apache/toree/kernel/protocol/v5/dispatch/StatusDispatch.scala b/kernel/src/main/scala/org/apache/toree/kernel/protocol/v5/dispatch/StatusDispatch.scala
index 5a148d6..7a793e7 100644
--- a/kernel/src/main/scala/org/apache/toree/kernel/protocol/v5/dispatch/StatusDispatch.scala
+++ b/kernel/src/main/scala/org/apache/toree/kernel/protocol/v5/dispatch/StatusDispatch.scala
@@ -17,7 +17,7 @@
 
 package org.apache.toree.kernel.protocol.v5.dispatch
 
-import akka.actor.Actor
+import org.apache.pekko.actor.Actor
 import org.apache.toree.kernel.protocol.v5.KernelStatusType.KernelStatusType
 import org.apache.toree.kernel.protocol.v5._
 import org.apache.toree.kernel.protocol.v5.content.KernelStatus
diff --git a/kernel/src/main/scala/org/apache/toree/kernel/protocol/v5/handler/CodeCompleteHandler.scala b/kernel/src/main/scala/org/apache/toree/kernel/protocol/v5/handler/CodeCompleteHandler.scala
index 4008ca1..f487758 100644
--- a/kernel/src/main/scala/org/apache/toree/kernel/protocol/v5/handler/CodeCompleteHandler.scala
+++ b/kernel/src/main/scala/org/apache/toree/kernel/protocol/v5/handler/CodeCompleteHandler.scala
@@ -17,7 +17,7 @@
 
 package org.apache.toree.kernel.protocol.v5.handler
 
-import akka.pattern.ask
+import org.apache.pekko.pattern.ask
 import org.apache.toree.kernel.protocol.v5._
 import org.apache.toree.kernel.protocol.v5.content._
 import org.apache.toree.kernel.protocol.v5.kernel.{ActorLoader, Utilities}
diff --git a/kernel/src/main/scala/org/apache/toree/kernel/protocol/v5/handler/ExecuteRequestHandler.scala b/kernel/src/main/scala/org/apache/toree/kernel/protocol/v5/handler/ExecuteRequestHandler.scala
index 30b88ea..4f2fd5e 100644
--- a/kernel/src/main/scala/org/apache/toree/kernel/protocol/v5/handler/ExecuteRequestHandler.scala
+++ b/kernel/src/main/scala/org/apache/toree/kernel/protocol/v5/handler/ExecuteRequestHandler.scala
@@ -17,8 +17,8 @@
 
 package org.apache.toree.kernel.protocol.v5.handler
 
-import akka.actor.ActorSelection
-import akka.pattern.ask
+import org.apache.pekko.actor.ActorSelection
+import org.apache.pekko.pattern.ask
 import org.apache.toree.global.{ExecuteRequestState, ExecutionCounter}
 import org.apache.toree.kernel.api.{Kernel, KernelLike}
 import org.apache.toree.kernel.protocol.v5._
diff --git a/kernel/src/main/scala/org/apache/toree/kernel/protocol/v5/handler/GenericSocketMessageHandler.scala b/kernel/src/main/scala/org/apache/toree/kernel/protocol/v5/handler/GenericSocketMessageHandler.scala
index 27b702a..78fb999 100644
--- a/kernel/src/main/scala/org/apache/toree/kernel/protocol/v5/handler/GenericSocketMessageHandler.scala
+++ b/kernel/src/main/scala/org/apache/toree/kernel/protocol/v5/handler/GenericSocketMessageHandler.scala
@@ -17,7 +17,7 @@
 
 package org.apache.toree.kernel.protocol.v5.handler
 
-import akka.actor.Actor
+import org.apache.pekko.actor.Actor
 import org.apache.toree.communication.utils.OrderedSupport
 import org.apache.toree.kernel.protocol.v5.KernelMessage
 import org.apache.toree.kernel.protocol.v5.kernel.ActorLoader
diff --git a/kernel/src/main/scala/org/apache/toree/kernel/protocol/v5/handler/InputRequestReplyHandler.scala b/kernel/src/main/scala/org/apache/toree/kernel/protocol/v5/handler/InputRequestReplyHandler.scala
index 220e452..94595d1 100644
--- a/kernel/src/main/scala/org/apache/toree/kernel/protocol/v5/handler/InputRequestReplyHandler.scala
+++ b/kernel/src/main/scala/org/apache/toree/kernel/protocol/v5/handler/InputRequestReplyHandler.scala
@@ -17,7 +17,7 @@
 
 package org.apache.toree.kernel.protocol.v5.handler
 
-import akka.actor.ActorRef
+import org.apache.pekko.actor.ActorRef
 import org.apache.toree.comm.{CommRegistrar, CommStorage}
 import org.apache.toree.communication.utils.OrderedSupport
 import org.apache.toree.kernel.protocol.v5.{SystemActorType, KernelMessage}
diff --git a/kernel/src/main/scala/org/apache/toree/kernel/protocol/v5/handler/IsCompleteHandler.scala b/kernel/src/main/scala/org/apache/toree/kernel/protocol/v5/handler/IsCompleteHandler.scala
index da93b96..b058860 100644
--- a/kernel/src/main/scala/org/apache/toree/kernel/protocol/v5/handler/IsCompleteHandler.scala
+++ b/kernel/src/main/scala/org/apache/toree/kernel/protocol/v5/handler/IsCompleteHandler.scala
@@ -17,7 +17,7 @@
 
 package org.apache.toree.kernel.protocol.v5.handler
 
-import akka.pattern.ask
+import org.apache.pekko.pattern.ask
 import org.apache.toree.kernel.protocol.v5._
 import org.apache.toree.kernel.protocol.v5.content._
 import org.apache.toree.kernel.protocol.v5.kernel.{ActorLoader, Utilities}
diff --git a/kernel/src/main/scala/org/apache/toree/kernel/protocol/v5/interpreter/InterpreterActor.scala b/kernel/src/main/scala/org/apache/toree/kernel/protocol/v5/interpreter/InterpreterActor.scala
index cde9ffe..c95e105 100644
--- a/kernel/src/main/scala/org/apache/toree/kernel/protocol/v5/interpreter/InterpreterActor.scala
+++ b/kernel/src/main/scala/org/apache/toree/kernel/protocol/v5/interpreter/InterpreterActor.scala
@@ -19,9 +19,9 @@
 
 import java.io.OutputStream
 
-import akka.actor.{Actor, ActorRef, Props}
-import akka.pattern.{ask, pipe}
-import akka.util.Timeout
+import org.apache.pekko.actor.{Actor, ActorRef, Props}
+import org.apache.pekko.pattern.{ask, pipe}
+import org.apache.pekko.util.Timeout
 import org.apache.toree.interpreter.Interpreter
 import org.apache.toree.kernel.protocol.v5.KernelMessage
 import org.apache.toree.kernel.protocol.v5.interpreter.tasks._
diff --git a/kernel/src/main/scala/org/apache/toree/kernel/protocol/v5/interpreter/tasks/CodeCompleteTaskActor.scala b/kernel/src/main/scala/org/apache/toree/kernel/protocol/v5/interpreter/tasks/CodeCompleteTaskActor.scala
index 9227839..dfe26c3 100644
--- a/kernel/src/main/scala/org/apache/toree/kernel/protocol/v5/interpreter/tasks/CodeCompleteTaskActor.scala
+++ b/kernel/src/main/scala/org/apache/toree/kernel/protocol/v5/interpreter/tasks/CodeCompleteTaskActor.scala
@@ -17,7 +17,7 @@
 
 package org.apache.toree.kernel.protocol.v5.interpreter.tasks
 
-import akka.actor.{Actor, Props}
+import org.apache.pekko.actor.{Actor, Props}
 import org.apache.toree.interpreter.Interpreter
 import org.apache.toree.kernel.protocol.v5.content.CompleteRequest
 import org.apache.toree.utils.LogLike
diff --git a/kernel/src/main/scala/org/apache/toree/kernel/protocol/v5/interpreter/tasks/ExecuteRequestTaskActor.scala b/kernel/src/main/scala/org/apache/toree/kernel/protocol/v5/interpreter/tasks/ExecuteRequestTaskActor.scala
index 9fd6b26..0905871 100644
--- a/kernel/src/main/scala/org/apache/toree/kernel/protocol/v5/interpreter/tasks/ExecuteRequestTaskActor.scala
+++ b/kernel/src/main/scala/org/apache/toree/kernel/protocol/v5/interpreter/tasks/ExecuteRequestTaskActor.scala
@@ -19,7 +19,7 @@
 
 import java.io.OutputStream
 
-import akka.actor.{Actor, Props}
+import org.apache.pekko.actor.{Actor, Props}
 import org.apache.toree.global.StreamState
 import org.apache.toree.interpreter.{ExecuteAborted, ExecuteError, Interpreter, Results}
 import org.apache.toree.kernel.protocol.v5._
diff --git a/kernel/src/main/scala/org/apache/toree/kernel/protocol/v5/interpreter/tasks/InterpreterTaskFactory.scala b/kernel/src/main/scala/org/apache/toree/kernel/protocol/v5/interpreter/tasks/InterpreterTaskFactory.scala
index 64e32c2..a8527cc 100644
--- a/kernel/src/main/scala/org/apache/toree/kernel/protocol/v5/interpreter/tasks/InterpreterTaskFactory.scala
+++ b/kernel/src/main/scala/org/apache/toree/kernel/protocol/v5/interpreter/tasks/InterpreterTaskFactory.scala
@@ -17,7 +17,7 @@
 
 package org.apache.toree.kernel.protocol.v5.interpreter.tasks
 
-import akka.actor.{ActorRefFactory, ActorRef}
+import org.apache.pekko.actor.{ActorRefFactory, ActorRef}
 import org.apache.toree.interpreter.Interpreter
 
 class InterpreterTaskFactory(interpreter: Interpreter) {
diff --git a/kernel/src/main/scala/org/apache/toree/kernel/protocol/v5/interpreter/tasks/IsCompleteTaskActor.scala b/kernel/src/main/scala/org/apache/toree/kernel/protocol/v5/interpreter/tasks/IsCompleteTaskActor.scala
index 8cd6987..3bfef8e 100644
--- a/kernel/src/main/scala/org/apache/toree/kernel/protocol/v5/interpreter/tasks/IsCompleteTaskActor.scala
+++ b/kernel/src/main/scala/org/apache/toree/kernel/protocol/v5/interpreter/tasks/IsCompleteTaskActor.scala
@@ -17,7 +17,7 @@
 
 package org.apache.toree.kernel.protocol.v5.interpreter.tasks
 
-import akka.actor.{Actor, Props}
+import org.apache.pekko.actor.{Actor, Props}
 import org.apache.toree.interpreter.Interpreter
 import org.apache.toree.kernel.protocol.v5.content.IsCompleteRequest
 import org.apache.toree.utils.LogLike
diff --git a/kernel/src/main/scala/org/apache/toree/kernel/protocol/v5/kernel/ActorLoader.scala b/kernel/src/main/scala/org/apache/toree/kernel/protocol/v5/kernel/ActorLoader.scala
index 79ba496..80b4d37 100644
--- a/kernel/src/main/scala/org/apache/toree/kernel/protocol/v5/kernel/ActorLoader.scala
+++ b/kernel/src/main/scala/org/apache/toree/kernel/protocol/v5/kernel/ActorLoader.scala
@@ -17,7 +17,7 @@
 
 package org.apache.toree.kernel.protocol.v5.kernel
 
-import akka.actor.{ActorRefFactory, ActorSelection}
+import org.apache.pekko.actor.{ActorRefFactory, ActorSelection}
 
 /**
  * This trait defines the interface for loading actors based on some value
diff --git a/kernel/src/main/scala/org/apache/toree/kernel/protocol/v5/kernel/Utilities.scala b/kernel/src/main/scala/org/apache/toree/kernel/protocol/v5/kernel/Utilities.scala
index 3df9830..6dd1224 100644
--- a/kernel/src/main/scala/org/apache/toree/kernel/protocol/v5/kernel/Utilities.scala
+++ b/kernel/src/main/scala/org/apache/toree/kernel/protocol/v5/kernel/Utilities.scala
@@ -19,7 +19,7 @@
 
 import java.nio.charset.Charset
 
-import akka.util.{ByteString, Timeout}
+import org.apache.pekko.util.{ByteString, Timeout}
 import org.apache.toree.communication.ZMQMessage
 import org.apache.toree.kernel.protocol.v5._
 import org.apache.toree.utils.LogLike
diff --git a/kernel/src/main/scala/org/apache/toree/kernel/protocol/v5/kernel/socket/Heartbeat.scala b/kernel/src/main/scala/org/apache/toree/kernel/protocol/v5/kernel/socket/Heartbeat.scala
index 94478a8..6842a53 100644
--- a/kernel/src/main/scala/org/apache/toree/kernel/protocol/v5/kernel/socket/Heartbeat.scala
+++ b/kernel/src/main/scala/org/apache/toree/kernel/protocol/v5/kernel/socket/Heartbeat.scala
@@ -17,8 +17,8 @@
 
 package org.apache.toree.kernel.protocol.v5.kernel.socket
 
-import akka.actor.Actor
-import akka.util.ByteString
+import org.apache.pekko.actor.Actor
+import org.apache.pekko.util.ByteString
 import org.apache.toree.communication.ZMQMessage
 import org.apache.toree.utils.LogLike
 
diff --git a/kernel/src/main/scala/org/apache/toree/kernel/protocol/v5/kernel/socket/IOPub.scala b/kernel/src/main/scala/org/apache/toree/kernel/protocol/v5/kernel/socket/IOPub.scala
index e10088d..74a0932 100644
--- a/kernel/src/main/scala/org/apache/toree/kernel/protocol/v5/kernel/socket/IOPub.scala
+++ b/kernel/src/main/scala/org/apache/toree/kernel/protocol/v5/kernel/socket/IOPub.scala
@@ -17,8 +17,8 @@
 
 package org.apache.toree.kernel.protocol.v5.kernel.socket
 
-import akka.actor.Actor
-import akka.util.ByteString
+import org.apache.pekko.actor.Actor
+import org.apache.pekko.util.ByteString
 import org.apache.toree.communication.ZMQMessage
 import org.apache.toree.communication.utils.OrderedSupport
 import org.apache.toree.kernel.protocol.v5._
diff --git a/kernel/src/main/scala/org/apache/toree/kernel/protocol/v5/kernel/socket/SocketFactory.scala b/kernel/src/main/scala/org/apache/toree/kernel/protocol/v5/kernel/socket/SocketFactory.scala
index b883bd9..bf54cd4 100644
--- a/kernel/src/main/scala/org/apache/toree/kernel/protocol/v5/kernel/socket/SocketFactory.scala
+++ b/kernel/src/main/scala/org/apache/toree/kernel/protocol/v5/kernel/socket/SocketFactory.scala
@@ -17,7 +17,7 @@
 
 package org.apache.toree.kernel.protocol.v5.kernel.socket
 
-import akka.actor.{Props, ActorRef, ActorSystem}
+import org.apache.pekko.actor.{Props, ActorRef, ActorSystem}
 import org.apache.toree.communication.actors.{RouterSocketActor, RepSocketActor, PubSocketActor}
 
 object SocketFactory {
diff --git a/kernel/src/main/scala/org/apache/toree/kernel/protocol/v5/kernel/socket/ZeromqKernelMessageSocket.scala b/kernel/src/main/scala/org/apache/toree/kernel/protocol/v5/kernel/socket/ZeromqKernelMessageSocket.scala
index cd37e8f..eeb5cf6 100644
--- a/kernel/src/main/scala/org/apache/toree/kernel/protocol/v5/kernel/socket/ZeromqKernelMessageSocket.scala
+++ b/kernel/src/main/scala/org/apache/toree/kernel/protocol/v5/kernel/socket/ZeromqKernelMessageSocket.scala
@@ -19,8 +19,8 @@
 
 import java.nio.charset.Charset
 
-import akka.actor.{ActorSelection, ActorSystem, ActorRef, Actor}
-import akka.util.ByteString
+import org.apache.pekko.actor.{ActorSelection, ActorSystem, ActorRef, Actor}
+import org.apache.pekko.util.ByteString
 import org.apache.toree.communication.ZMQMessage
 
 //import org.apache.toree.kernel.protocol.v5.kernel.ZMQMessage
diff --git a/kernel/src/main/scala/org/apache/toree/kernel/protocol/v5/relay/ExecuteRequestRelay.scala b/kernel/src/main/scala/org/apache/toree/kernel/protocol/v5/relay/ExecuteRequestRelay.scala
index 4e87cf4..4284a0a 100644
--- a/kernel/src/main/scala/org/apache/toree/kernel/protocol/v5/relay/ExecuteRequestRelay.scala
+++ b/kernel/src/main/scala/org/apache/toree/kernel/protocol/v5/relay/ExecuteRequestRelay.scala
@@ -18,9 +18,9 @@
 package org.apache.toree.kernel.protocol.v5.relay
 
 import java.io.OutputStream
-import akka.actor.Actor
-import akka.pattern._
-import akka.util.Timeout
+import org.apache.pekko.actor.Actor
+import org.apache.pekko.pattern._
+import org.apache.pekko.util.Timeout
 import org.apache.toree.interpreter.{ExecuteAborted, ExecuteError, ExecuteFailure, ExecuteOutput}
 import org.apache.toree.kernel.protocol.v5._
 import org.apache.toree.kernel.protocol.v5.content._
diff --git a/kernel/src/main/scala/org/apache/toree/kernel/protocol/v5/relay/KernelMessageRelay.scala b/kernel/src/main/scala/org/apache/toree/kernel/protocol/v5/relay/KernelMessageRelay.scala
index 3ee5c7d..9420fe5 100644
--- a/kernel/src/main/scala/org/apache/toree/kernel/protocol/v5/relay/KernelMessageRelay.scala
+++ b/kernel/src/main/scala/org/apache/toree/kernel/protocol/v5/relay/KernelMessageRelay.scala
@@ -17,8 +17,8 @@
 
 package org.apache.toree.kernel.protocol.v5.relay
 
-import akka.pattern.ask
-import akka.util.Timeout
+import org.apache.pekko.pattern.ask
+import org.apache.pekko.util.Timeout
 import org.apache.toree.communication.security.SecurityActorType
 import org.apache.toree.communication.utils.OrderedSupport
 import org.apache.toree.kernel.protocol.v5.MessageType.MessageType
diff --git a/kernel/src/main/scala/org/apache/toree/kernel/protocol/v5/stream/KernelInputStream.scala b/kernel/src/main/scala/org/apache/toree/kernel/protocol/v5/stream/KernelInputStream.scala
index 05f2554..7604451 100644
--- a/kernel/src/main/scala/org/apache/toree/kernel/protocol/v5/stream/KernelInputStream.scala
+++ b/kernel/src/main/scala/org/apache/toree/kernel/protocol/v5/stream/KernelInputStream.scala
@@ -20,7 +20,7 @@
 import java.io.InputStream
 import java.nio.charset.Charset
 
-import akka.pattern.ask
+import org.apache.pekko.pattern.ask
 import org.apache.toree.kernel.protocol.v5.content.InputRequest
 import org.apache.toree.kernel.protocol.v5.kernel.ActorLoader
 import org.apache.toree.kernel.protocol.v5.kernel.Utilities.timeout
diff --git a/kernel/src/test/scala/integration/InterpreterActorSpecForIntegration.scala b/kernel/src/test/scala/integration/InterpreterActorSpecForIntegration.scala
index 56d5afe..810ca2e 100644
--- a/kernel/src/test/scala/integration/InterpreterActorSpecForIntegration.scala
+++ b/kernel/src/test/scala/integration/InterpreterActorSpecForIntegration.scala
@@ -19,8 +19,8 @@
 
 import java.io.{ByteArrayOutputStream, OutputStream}
 
-import akka.actor.{ActorSystem, Props}
-import akka.testkit.{ImplicitSender, TestKit}
+import org.apache.pekko.actor.{ActorSystem, Props}
+import org.apache.pekko.testkit.{ImplicitSender, TestKit}
 import org.apache.toree.Main
 import org.apache.toree.interpreter._
 import org.apache.toree.kernel.api.{DisplayMethodsLike, KernelLike}
@@ -40,7 +40,7 @@
 
 object InterpreterActorSpecForIntegration {
   val config = """
-    akka {
+    pekko {
       loglevel = "WARNING"
     }"""
 }
diff --git a/kernel/src/test/scala/org/apache/toree/comm/KernelCommWriterSpec.scala b/kernel/src/test/scala/org/apache/toree/comm/KernelCommWriterSpec.scala
index 1eb02be..858d507 100644
--- a/kernel/src/test/scala/org/apache/toree/comm/KernelCommWriterSpec.scala
+++ b/kernel/src/test/scala/org/apache/toree/comm/KernelCommWriterSpec.scala
@@ -23,8 +23,8 @@
 import org.apache.toree.kernel.protocol.v5.kernel.ActorLoader
 import play.api.libs.json.Json
 import test.utils.MaxAkkaTestTimeout
-import akka.actor.{ActorSelection, ActorSystem}
-import akka.testkit.{TestProbe, TestKit}
+import org.apache.pekko.actor.{ActorSelection, ActorSystem}
+import org.apache.pekko.testkit.{TestProbe, TestKit}
 import com.typesafe.config.ConfigFactory
 import org.scalatestplus.mockito.MockitoSugar
 import org.scalatest.funspec.AnyFunSpecLike
@@ -35,7 +35,7 @@
 
 object KernelCommWriterSpec {
   val config ="""
-    akka {
+    pekko {
       loglevel = "WARNING"
     }"""
 }
diff --git a/kernel/src/test/scala/org/apache/toree/kernel/api/DisplayMethodsSpec.scala b/kernel/src/test/scala/org/apache/toree/kernel/api/DisplayMethodsSpec.scala
index c5c4e2b..306746a 100644
--- a/kernel/src/test/scala/org/apache/toree/kernel/api/DisplayMethodsSpec.scala
+++ b/kernel/src/test/scala/org/apache/toree/kernel/api/DisplayMethodsSpec.scala
@@ -17,8 +17,8 @@
 
 package org.apache.toree.kernel.api
 
-import akka.actor.ActorSystem
-import akka.testkit.{ImplicitSender, TestKit, TestProbe}
+import org.apache.pekko.actor.ActorSystem
+import org.apache.pekko.testkit.{ImplicitSender, TestKit, TestProbe}
 import org.apache.toree.kernel.protocol.v5
 import org.apache.toree.kernel.protocol.v5.KernelMessage
 import org.mockito.Mockito._
diff --git a/kernel/src/test/scala/org/apache/toree/kernel/api/StreamMethodsSpec.scala b/kernel/src/test/scala/org/apache/toree/kernel/api/StreamMethodsSpec.scala
index 09bf12e..56468b6 100644
--- a/kernel/src/test/scala/org/apache/toree/kernel/api/StreamMethodsSpec.scala
+++ b/kernel/src/test/scala/org/apache/toree/kernel/api/StreamMethodsSpec.scala
@@ -17,8 +17,8 @@
 
 package org.apache.toree.kernel.api
 
-import akka.actor.ActorSystem
-import akka.testkit.{ImplicitSender, TestKit, TestProbe}
+import org.apache.pekko.actor.ActorSystem
+import org.apache.pekko.testkit.{ImplicitSender, TestKit, TestProbe}
 import org.apache.toree.kernel.protocol.v5
 import org.apache.toree.kernel.protocol.v5.KernelMessage
 import org.scalatestplus.mockito.MockitoSugar
diff --git a/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/dispatch/StatusDispatchSpec.scala b/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/dispatch/StatusDispatchSpec.scala
index f160103..d3b98d6 100644
--- a/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/dispatch/StatusDispatchSpec.scala
+++ b/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/dispatch/StatusDispatchSpec.scala
@@ -17,8 +17,8 @@
 
 package org.apache.toree.kernel.protocol.v5.dispatch
 
-import akka.actor.{ActorRef, ActorSystem, Props}
-import akka.testkit.{TestKit, TestProbe}
+import org.apache.pekko.actor.{ActorRef, ActorSystem, Props}
+import org.apache.pekko.testkit.{TestKit, TestProbe}
 import org.apache.toree.kernel.protocol.v5._
 import org.apache.toree.kernel.protocol.v5.content.KernelStatus
 import org.apache.toree.kernel.protocol.v5.kernel.ActorLoader
diff --git a/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/handler/CodeCompleteHandlerSpec.scala b/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/handler/CodeCompleteHandlerSpec.scala
index ba8cd4b..fbdeaf0 100644
--- a/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/handler/CodeCompleteHandlerSpec.scala
+++ b/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/handler/CodeCompleteHandlerSpec.scala
@@ -17,8 +17,8 @@
 
 package org.apache.toree.kernel.protocol.v5.handler
 
-import akka.actor._
-import akka.testkit.{ImplicitSender, TestKit, TestProbe}
+import org.apache.pekko.actor._
+import org.apache.pekko.testkit.{ImplicitSender, TestKit, TestProbe}
 import org.apache.toree.Main
 import org.apache.toree.kernel.protocol.v5._
 import org.apache.toree.kernel.protocol.v5.content.CompleteRequest
diff --git a/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/handler/CommCloseHandlerSpec.scala b/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/handler/CommCloseHandlerSpec.scala
index 7ae0058..ec31ee3 100644
--- a/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/handler/CommCloseHandlerSpec.scala
+++ b/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/handler/CommCloseHandlerSpec.scala
@@ -19,8 +19,8 @@
 
 import java.util.UUID
 
-import akka.actor.{Props, ActorRef, ActorSystem}
-import akka.testkit.{TestProbe, ImplicitSender, TestKit}
+import org.apache.pekko.actor.{Props, ActorRef, ActorSystem}
+import org.apache.pekko.testkit.{TestProbe, ImplicitSender, TestKit}
 import org.apache.toree.kernel.protocol.v5
 import org.apache.toree.kernel.protocol.v5.content.{ClearOutput, CommClose}
 import org.apache.toree.kernel.protocol.v5.kernel.ActorLoader
diff --git a/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/handler/CommInfoRequestHandlerSpec.scala b/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/handler/CommInfoRequestHandlerSpec.scala
index 147bfaa..4928fac 100644
--- a/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/handler/CommInfoRequestHandlerSpec.scala
+++ b/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/handler/CommInfoRequestHandlerSpec.scala
@@ -17,8 +17,8 @@
 
 package org.apache.toree.kernel.protocol.v5.handler
 
-import akka.actor.{ActorSelection, ActorSystem, Props}
-import akka.testkit.{ImplicitSender, TestKit, TestProbe}
+import org.apache.pekko.actor.{ActorSelection, ActorSystem, Props}
+import org.apache.pekko.testkit.{ImplicitSender, TestKit, TestProbe}
 import com.typesafe.config.ConfigFactory
 import org.apache.toree.comm.CommStorage
 import org.apache.toree.kernel.protocol.v5.content.CommInfoReply
@@ -36,7 +36,7 @@
 
 object CommInfoRequestHandlerSpec {
   val config = """
-    akka {
+    pekko {
       loglevel = "WARNING"
     }"""
 }
diff --git a/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/handler/CommMsgHandlerSpec.scala b/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/handler/CommMsgHandlerSpec.scala
index 1244887..4774f76 100644
--- a/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/handler/CommMsgHandlerSpec.scala
+++ b/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/handler/CommMsgHandlerSpec.scala
@@ -18,8 +18,8 @@
 package org.apache.toree.kernel.protocol.v5.handler
 
 import java.util.UUID
-import akka.actor.{ActorRef, ActorSystem, Props}
-import akka.testkit.{ImplicitSender, TestKit, TestProbe}
+import org.apache.pekko.actor.{ActorRef, ActorSystem, Props}
+import org.apache.pekko.testkit.{ImplicitSender, TestKit, TestProbe}
 import org.apache.toree.Main
 import org.apache.toree.kernel.protocol.v5
 import org.apache.toree.kernel.protocol.v5._
diff --git a/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/handler/CommOpenHandlerSpec.scala b/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/handler/CommOpenHandlerSpec.scala
index b78d909..216c60e 100644
--- a/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/handler/CommOpenHandlerSpec.scala
+++ b/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/handler/CommOpenHandlerSpec.scala
@@ -21,8 +21,8 @@
 
 import org.apache.toree.kernel.protocol.v5
 
-import akka.actor.{Props, ActorRef, ActorSystem}
-import akka.testkit.{TestProbe, ImplicitSender, TestKit}
+import org.apache.pekko.actor.{Props, ActorRef, ActorSystem}
+import org.apache.pekko.testkit.{TestProbe, ImplicitSender, TestKit}
 import org.apache.toree.Main
 import org.apache.toree.kernel.protocol.v5.content.{CommClose, ClearOutput, CommOpen}
 import org.apache.toree.kernel.protocol.v5._
diff --git a/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/handler/ExecuteRequestHandlerSpec.scala b/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/handler/ExecuteRequestHandlerSpec.scala
index ef3d2a1..7c6dae7 100644
--- a/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/handler/ExecuteRequestHandlerSpec.scala
+++ b/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/handler/ExecuteRequestHandlerSpec.scala
@@ -20,8 +20,8 @@
 import java.io.OutputStream
 import java.util.concurrent.atomic.AtomicInteger
 
-import akka.actor._
-import akka.testkit.{ImplicitSender, TestKit, TestProbe}
+import org.apache.pekko.actor._
+import org.apache.pekko.testkit.{ImplicitSender, TestKit, TestProbe}
 import org.apache.toree.kernel.api.{FactoryMethods, Kernel}
 import org.apache.toree.kernel.protocol.v5._
 import org.apache.toree.kernel.protocol.v5.content._
diff --git a/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/handler/GenericSocketMessageHandlerSpec.scala b/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/handler/GenericSocketMessageHandlerSpec.scala
index 9901846..a495b07 100644
--- a/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/handler/GenericSocketMessageHandlerSpec.scala
+++ b/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/handler/GenericSocketMessageHandlerSpec.scala
@@ -17,8 +17,8 @@
 
 package org.apache.toree.kernel.protocol.v5.handler
 
-import akka.actor.{ActorSystem, Props, ActorRef, ActorSelection}
-import akka.testkit.{ImplicitSender, TestKit, TestProbe}
+import org.apache.pekko.actor.{ActorSystem, Props, ActorRef, ActorSelection}
+import org.apache.pekko.testkit.{ImplicitSender, TestKit, TestProbe}
 import org.apache.toree.kernel.protocol.v5._
 import org.apache.toree.kernel.protocol.v5.kernel.ActorLoader
 import org.apache.toree.kernel.protocol.v5Test._
diff --git a/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/handler/InputRequestReplyHandlerSpec.scala b/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/handler/InputRequestReplyHandlerSpec.scala
index 7b210b9..22aab49 100644
--- a/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/handler/InputRequestReplyHandlerSpec.scala
+++ b/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/handler/InputRequestReplyHandlerSpec.scala
@@ -19,8 +19,8 @@
 
 import java.util.UUID
 import java.util.concurrent.ConcurrentHashMap
-import akka.actor.{Props, ActorRef, ActorSystem}
-import akka.testkit.{TestProbe, ImplicitSender, TestKit}
+import org.apache.pekko.actor.{Props, ActorRef, ActorSystem}
+import org.apache.pekko.testkit.{TestProbe, ImplicitSender, TestKit}
 import org.apache.toree.Main
 import org.apache.toree.kernel.protocol.v5.content.InputReply
 import org.apache.toree.kernel.protocol.v5.{HeaderBuilder, MessageType, KMBuilder, SystemActorType}
diff --git a/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/handler/KernelInfoRequestHandlerSpec.scala b/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/handler/KernelInfoRequestHandlerSpec.scala
index 3eb6c6b..d3a8b57 100644
--- a/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/handler/KernelInfoRequestHandlerSpec.scala
+++ b/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/handler/KernelInfoRequestHandlerSpec.scala
@@ -16,8 +16,8 @@
  */
 
 package org.apache.toree.kernel.protocol.v5.handler
-import akka.actor.{ActorSelection, ActorSystem, Props}
-import akka.testkit.{ImplicitSender, TestKit, TestProbe}
+import org.apache.pekko.actor.{ActorSelection, ActorSystem, Props}
+import org.apache.pekko.testkit.{ImplicitSender, TestKit, TestProbe}
 import org.apache.toree.Main
 import org.apache.toree.kernel.protocol.v5.content.KernelInfoReply
 import org.apache.toree.kernel.protocol.v5.kernel.ActorLoader
@@ -34,7 +34,7 @@
 
 object KernelInfoRequestHandlerSpec {
   val config = """
-    akka {
+    pekko {
       loglevel = "WARNING"
     }"""
 }
diff --git a/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/interpreter/tasks/ExecuteRequestTaskActorSpec.scala b/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/interpreter/tasks/ExecuteRequestTaskActorSpec.scala
index df3f39d..dd346c5 100644
--- a/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/interpreter/tasks/ExecuteRequestTaskActorSpec.scala
+++ b/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/interpreter/tasks/ExecuteRequestTaskActorSpec.scala
@@ -19,8 +19,8 @@
 
 import java.io.OutputStream
 
-import akka.actor.{ActorSystem, Props}
-import akka.testkit.{ImplicitSender, TestKit}
+import org.apache.pekko.actor.{ActorSystem, Props}
+import org.apache.pekko.testkit.{ImplicitSender, TestKit}
 import com.typesafe.config.ConfigFactory
 import org.apache.toree.interpreter._
 import org.apache.toree.kernel.protocol.v5._
@@ -34,7 +34,7 @@
 
 object ExecuteRequestTaskActorSpec {
   val config = """
-    akka {
+    pekko {
       loglevel = "WARNING"
     }"""
 }
diff --git a/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/kernel/ActorLoaderSpec.scala b/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/kernel/ActorLoaderSpec.scala
index 4bee01d..4fd3f91 100644
--- a/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/kernel/ActorLoaderSpec.scala
+++ b/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/kernel/ActorLoaderSpec.scala
@@ -17,8 +17,8 @@
 
 package org.apache.toree.kernel.protocol.v5.kernel
 
-import akka.actor.{ActorSystem, Props}
-import akka.testkit.{ImplicitSender, TestKit, TestProbe}
+import org.apache.pekko.actor.{ActorSystem, Props}
+import org.apache.pekko.testkit.{ImplicitSender, TestKit, TestProbe}
 import org.apache.toree.kernel.protocol.v5.{MessageType, SocketType}
 import org.scalatestplus.mockito.MockitoSugar
 import org.scalatest.funspec.AnyFunSpecLike
diff --git a/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/kernel/SimpleActorLoaderSpec.scala b/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/kernel/SimpleActorLoaderSpec.scala
index 22c7438..1d5279e 100644
--- a/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/kernel/SimpleActorLoaderSpec.scala
+++ b/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/kernel/SimpleActorLoaderSpec.scala
@@ -17,8 +17,8 @@
 
 package org.apache.toree.kernel.protocol.v5.kernel
 
-import akka.actor.{ActorSelection, ActorSystem, Props}
-import akka.testkit.{TestKit, TestProbe}
+import org.apache.pekko.actor.{ActorSelection, ActorSystem, Props}
+import org.apache.pekko.testkit.{TestKit, TestProbe}
 import org.apache.toree.kernel.protocol.v5.MessageType
 import org.scalatest.funspec.AnyFunSpecLike
 import org.scalatest.matchers.should.Matchers
diff --git a/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/kernel/UtilitiesSpec.scala b/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/kernel/UtilitiesSpec.scala
index b9f728d..ac1ed04 100644
--- a/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/kernel/UtilitiesSpec.scala
+++ b/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/kernel/UtilitiesSpec.scala
@@ -17,7 +17,7 @@
 
 package org.apache.toree.kernel.protocol.v5.kernel
 
-import akka.util.ByteString
+import org.apache.pekko.util.ByteString
 import org.apache.toree.communication.ZMQMessage
 import org.apache.toree.kernel.protocol.v5._
 import org.scalatest.funspec.AnyFunSpec
diff --git a/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/kernel/socket/HeartbeatSpec.scala b/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/kernel/socket/HeartbeatSpec.scala
index 4d075b7..106248a 100644
--- a/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/kernel/socket/HeartbeatSpec.scala
+++ b/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/kernel/socket/HeartbeatSpec.scala
@@ -17,9 +17,9 @@
 
 package org.apache.toree.kernel.protocol.v5.kernel.socket
 
-import akka.actor.{ActorRef, ActorSystem, Props}
-import akka.testkit.{ImplicitSender, TestKit, TestProbe}
-import akka.util.ByteString
+import org.apache.pekko.actor.{ActorRef, ActorSystem, Props}
+import org.apache.pekko.testkit.{ImplicitSender, TestKit, TestProbe}
+import org.apache.pekko.util.ByteString
 import org.apache.toree.communication.ZMQMessage
 import com.typesafe.config.ConfigFactory
 import org.mockito.ArgumentMatchers._
@@ -31,7 +31,7 @@
 
 object HeartbeatSpec {
   val config = """
-    akka {
+    pekko {
       loglevel = "WARNING"
     }"""
 }
diff --git a/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/kernel/socket/IOPubSpec.scala b/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/kernel/socket/IOPubSpec.scala
index c51776a..70828b7 100644
--- a/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/kernel/socket/IOPubSpec.scala
+++ b/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/kernel/socket/IOPubSpec.scala
@@ -17,8 +17,8 @@
 
 package org.apache.toree.kernel.protocol.v5.kernel.socket
 
-import akka.actor.{ActorSystem, Props}
-import akka.testkit.{ImplicitSender, TestKit, TestProbe}
+import org.apache.pekko.actor.{ActorSystem, Props}
+import org.apache.pekko.testkit.{ImplicitSender, TestKit, TestProbe}
 import org.apache.toree.communication.ZMQMessage
 import org.apache.toree.kernel.protocol.v5.kernel.Utilities
 import org.apache.toree.kernel.protocol.v5Test._
@@ -33,7 +33,7 @@
 
 object IOPubSpec {
   val config ="""
-    akka {
+    pekko {
       loglevel = "WARNING"
     }"""
 }
diff --git a/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/kernel/socket/ShellSpec.scala b/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/kernel/socket/ShellSpec.scala
index 989afff..ddc014c 100644
--- a/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/kernel/socket/ShellSpec.scala
+++ b/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/kernel/socket/ShellSpec.scala
@@ -19,9 +19,9 @@
 
 import java.nio.charset.Charset
 
-import akka.actor.{ActorSelection, ActorRef, ActorSystem, Props}
-import akka.testkit.{ImplicitSender, TestKit, TestProbe}
-import akka.util.ByteString
+import org.apache.pekko.actor.{ActorSelection, ActorRef, ActorSystem, Props}
+import org.apache.pekko.testkit.{ImplicitSender, TestKit, TestProbe}
+import org.apache.pekko.util.ByteString
 import org.apache.toree.communication.ZMQMessage
 import org.apache.toree.kernel.protocol.v5._
 import org.apache.toree.kernel.protocol.v5.kernel.{ActorLoader, Utilities}
@@ -37,7 +37,7 @@
 
 object ShellSpec {
   val config ="""
-    akka {
+    pekko {
       loglevel = "WARNING"
     }"""
 }
diff --git a/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/kernel/socket/StdinSpec.scala b/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/kernel/socket/StdinSpec.scala
index c4fcbb1..c117793 100644
--- a/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/kernel/socket/StdinSpec.scala
+++ b/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/kernel/socket/StdinSpec.scala
@@ -19,9 +19,9 @@
 
 import java.nio.charset.Charset
 
-import akka.actor.{Props, ActorSelection, ActorRef, ActorSystem}
-import akka.testkit.{TestProbe, ImplicitSender, TestKit}
-import akka.util.ByteString
+import org.apache.pekko.actor.{Props, ActorSelection, ActorRef, ActorSystem}
+import org.apache.pekko.testkit.{TestProbe, ImplicitSender, TestKit}
+import org.apache.pekko.util.ByteString
 import org.apache.toree.communication.ZMQMessage
 import org.apache.toree.kernel.protocol.v5.kernel.Utilities._
 import org.apache.toree.kernel.protocol.v5Test._
@@ -37,7 +37,7 @@
 
 object StdinSpec {
   val config ="""
-    akka {
+    pekko {
       loglevel = "WARNING"
     }"""
 }
diff --git a/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/relay/ExecuteRequestRelaySpec.scala b/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/relay/ExecuteRequestRelaySpec.scala
index 02803d1..a2be093 100644
--- a/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/relay/ExecuteRequestRelaySpec.scala
+++ b/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/relay/ExecuteRequestRelaySpec.scala
@@ -19,8 +19,8 @@
 
 import java.io.OutputStream
 import java.util.concurrent.TimeUnit
-import akka.actor._
-import akka.testkit.{ImplicitSender, TestKit, TestProbe}
+import org.apache.pekko.actor._
+import org.apache.pekko.testkit.{ImplicitSender, TestKit, TestProbe}
 import org.apache.toree.interpreter.{ExecuteAborted, ExecuteError}
 import org.apache.toree.kernel.protocol.v5._
 import org.apache.toree.kernel.protocol.v5.content._
@@ -39,7 +39,7 @@
 
 object ExecuteRequestRelaySpec {
   val config = """
-    akka {
+    pekko {
       loglevel = "WARNING"
     }"""
 }
diff --git a/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/relay/KernelMessageRelaySpec.scala b/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/relay/KernelMessageRelaySpec.scala
index 74cd2f0..4d4b07d 100644
--- a/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/relay/KernelMessageRelaySpec.scala
+++ b/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/relay/KernelMessageRelaySpec.scala
@@ -17,8 +17,8 @@
 
 package org.apache.toree.kernel.protocol.v5.relay
 
-import akka.actor._
-import akka.testkit.{ImplicitSender, TestKit, TestProbe}
+import org.apache.pekko.actor._
+import org.apache.pekko.testkit.{ImplicitSender, TestKit, TestProbe}
 import org.apache.toree.communication.ZMQMessage
 import org.apache.toree.communication.security.SecurityActorType
 import org.apache.toree.kernel.protocol.v5._
@@ -34,7 +34,7 @@
 import org.mockito.AdditionalMatchers.{not => mockNot}
 import org.apache.toree.kernel.protocol.v5.KernelMessage
 import scala.concurrent._
-import akka.pattern.pipe
+import org.apache.pekko.pattern.pipe
 import scala.util.Random
 import ExecutionContext.Implicits.global
 import test.utils._
diff --git a/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/stream/KernelInputStreamSpec.scala b/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/stream/KernelInputStreamSpec.scala
index 2dbb52f..84d3508 100644
--- a/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/stream/KernelInputStreamSpec.scala
+++ b/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/stream/KernelInputStreamSpec.scala
@@ -17,8 +17,8 @@
 
 package org.apache.toree.kernel.protocol.v5.stream
 
-import akka.actor.{Actor, ActorRef, ActorSystem}
-import akka.testkit.{TestActorRef, TestKit, TestProbe}
+import org.apache.pekko.actor.{Actor, ActorRef, ActorSystem}
+import org.apache.pekko.testkit.{TestActorRef, TestKit, TestProbe}
 import org.apache.toree.Main
 import org.apache.toree.kernel.protocol.v5._
 import org.apache.toree.kernel.protocol.v5.content.InputRequest
diff --git a/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/stream/KernelOuputStreamSpec.scala b/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/stream/KernelOuputStreamSpec.scala
index c52f5ee..44b4293 100644
--- a/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/stream/KernelOuputStreamSpec.scala
+++ b/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/stream/KernelOuputStreamSpec.scala
@@ -18,8 +18,8 @@
 package org.apache.toree.kernel.protocol.v5.stream
 
 import java.util.UUID
-import akka.actor.{ActorSelection, ActorSystem}
-import akka.testkit.{TestKit, TestProbe}
+import org.apache.pekko.actor.{ActorSelection, ActorSystem}
+import org.apache.pekko.testkit.{TestKit, TestProbe}
 import org.apache.toree.Main
 import org.apache.toree.kernel.protocol.v5._
 import org.apache.toree.kernel.protocol.v5.kernel.ActorLoader
diff --git a/kernel/src/test/scala/test/utils/ErrorActor.scala b/kernel/src/test/scala/test/utils/ErrorActor.scala
index 8de08d0..74b4306 100644
--- a/kernel/src/test/scala/test/utils/ErrorActor.scala
+++ b/kernel/src/test/scala/test/utils/ErrorActor.scala
@@ -17,7 +17,7 @@
 
 package test.utils
 
-import akka.actor.Actor
+import org.apache.pekko.actor.Actor
 
 class ErrorActor extends Actor {
   override def receive: Receive = {
diff --git a/kernel/src/test/scala/test/utils/StackActor.scala b/kernel/src/test/scala/test/utils/StackActor.scala
index 89483d7..3e13229 100644
--- a/kernel/src/test/scala/test/utils/StackActor.scala
+++ b/kernel/src/test/scala/test/utils/StackActor.scala
@@ -17,7 +17,7 @@
 
 package test.utils
 
-import akka.actor.Actor
+import org.apache.pekko.actor.Actor
 
 /**
  * A stack which will block when popping items.
diff --git a/kernel/src/test/scala/test/utils/TestProbeProxyActor.scala b/kernel/src/test/scala/test/utils/TestProbeProxyActor.scala
index a8c88dd..8341e80 100644
--- a/kernel/src/test/scala/test/utils/TestProbeProxyActor.scala
+++ b/kernel/src/test/scala/test/utils/TestProbeProxyActor.scala
@@ -17,8 +17,8 @@
 
 package test.utils
 
-import akka.actor.Actor
-import akka.testkit.TestProbe
+import org.apache.pekko.actor.Actor
+import org.apache.pekko.testkit.TestProbe
 
 class TestProbeProxyActor(probe: TestProbe) extends Actor {
   override def receive = {
diff --git a/project/Dependencies.scala b/project/Dependencies.scala
index 5bafb46..231136f 100644
--- a/project/Dependencies.scala
+++ b/project/Dependencies.scala
@@ -21,16 +21,16 @@
 object Dependencies {
 
   // Libraries
-  val akkaVersion = "2.6.21" // The latest version under Apache v2
-  val akkaActor = "com.typesafe.akka" %% "akka-actor" % akkaVersion // Apache v2
-  val akkaSlf4j = "com.typesafe.akka" %% "akka-slf4j" % akkaVersion // Apache v2
-  val akkaTestkit = "com.typesafe.akka" %% "akka-testkit" % akkaVersion // Apache v2
+  val pekkoVersion = "1.0.2" // Apache v2
+  val pekkoActor = "org.apache.pekko" %% "pekko-actor" % pekkoVersion // Apache v2
+  val pekkoSlf4j = "org.apache.pekko" %% "pekko-slf4j" % pekkoVersion // Apache v2
+  val pekkoTestkit = "org.apache.pekko" %% "pekko-testkit" % pekkoVersion // Apache v2
 
   val clapper = "org.clapper" %% "classutil" % "1.5.1" // BSD 3-clause license, used for detecting plugins
 
   val commonsExec = "org.apache.commons" % "commons-exec" % "1.3" // Apache v2
 
-  val config = "com.typesafe" % "config" % "1.4.2" // Apache v2
+  val config = "com.typesafe" % "config" % "1.4.3" // Apache v2
 
   val coursierVersion = "1.0.3"
   val coursier = "io.get-coursier" %% "coursier" % coursierVersion // Apache v2
diff --git a/protocol/src/test/scala/org/apache/toree/kernel/protocol/v5/package.scala b/protocol/src/test/scala/org/apache/toree/kernel/protocol/v5/package.scala
index 5b92d5a..a8c48ae 100644
--- a/protocol/src/test/scala/org/apache/toree/kernel/protocol/v5/package.scala
+++ b/protocol/src/test/scala/org/apache/toree/kernel/protocol/v5/package.scala
@@ -17,7 +17,7 @@
 
 package org.apache.toree.kernel.protocol
 
-//import akka.zeromq.ZMQMessage
+//import org.apache.pekko.zeromq.ZMQMessage
 import org.apache.toree.kernel.protocol.v5._
 import org.apache.toree.kernel.protocol.v5.content.{CompleteRequest, ExecuteRequest}
 import play.api.libs.json.{JsValue, Json}
diff --git a/resources/compile/application.conf b/resources/compile/application.conf
index 3f74bd9..c40c371 100644
--- a/resources/compile/application.conf
+++ b/resources/compile/application.conf
@@ -15,8 +15,8 @@
 # limitations under the License
 #
 
-akka {
-  loggers = ["akka.event.slf4j.Slf4jLogger"]
+pekko {
+  loggers = ["org.apache.pekko.event.slf4j.Slf4jLogger"]
   logLevel = "OFF"
   stdout-logLevel = "OFF"
 }
diff --git a/resources/test/application.conf b/resources/test/application.conf
index 3f74bd9..c40c371 100644
--- a/resources/test/application.conf
+++ b/resources/test/application.conf
@@ -15,8 +15,8 @@
 # limitations under the License
 #
 
-akka {
-  loggers = ["akka.event.slf4j.Slf4jLogger"]
+pekko {
+  loggers = ["org.apache.pekko.event.slf4j.Slf4jLogger"]
   logLevel = "OFF"
   stdout-logLevel = "OFF"
 }