Kotlin / kotlin-jupyter

Kotlin kernel for Jupyter/IPython
Apache License 2.0
1.12k stars 107 forks source link

Adding a new library to kotlin notebook using API #321

Closed mizraelson closed 3 years ago

mizraelson commented 3 years ago

Hi, I am trying to add a kotlin library, which i wrote, to use in kotlin jupyter notebook. Briefly, I have added kotlin("jupyter.api") version "0.10.0-188" to gradle

Let's say I want to import all classes from my library (inside the library the classes have it's own standard libraries' imports). So I have added the following Integration class:

class Integration {
    @JupyterLibrary
    internal class Integration : JupyterIntegration() {
        override fun Builder.onLoaded() {
            import("com.mizraelson.*")
            import("com.mizraelson.tools.*")
        }
    }
}

I have build the project into .jar file.

Then in the notebook I add the library as follows: @file:DependsOn("/path/to/file.jar")

But it seems the integration doesn't take any effect and no imports are available.

Could you please point me in the right direction? Does jupyter looks for a JupyterIntegration() class by itself or maybe I should somehow refer to it?

ileasile commented 3 years ago

Hi! First guess is that you are using the nested class for this purpose — what if you will try to move it to the upper level?

mizraelson commented 3 years ago

Hi! First guess is that you are using the nested class for this purpose — what if you will try to move it to the upper level?

Thanks. It did help, but now i see that some imports from inside the library seem not to work. I get this error:

k``` otlinx/coroutines/GlobalScope java.lang.NoClassDefFoundError: kotlinx/coroutines/GlobalScope org.jetbrains.kotlinx.jupyter.ReplEvalRuntimeException: kotlinx/coroutines/GlobalScope



Although I dont use coroutines directly from the notebook (only inside the lib).
ileasile commented 3 years ago

So, that's right — you use coroutines inside the library, but you include only jar file. If it's not the fat jar and if it doesn't include coroutines, kernel has no way to find the coroutines classes which you used to compile your library. And that's why you get NoClassDefFound.

There are two solutions. First, you may create a shadow jar (using a shadowjar plugin, for instance) and pass it to kernel. Second way is a preferred one — you may publish your library to a Maven repository (to the Maven Local, for example) and then refer it from kernel by GAV coordinates. I may help you with it if you need

mizraelson commented 3 years ago

Yeah, that would be great if you can help. Eventually this lib will be published as a Maven repo in git, but can you please walk me through creating a Maven Local.

ileasile commented 3 years ago

Well, can you share the code of the library? I can setup a maven publication for you and PR it. Or you may read this guide: https://docs.gradle.org/current/userguide/publishing_maven.html#publishing_maven:install

You only need to setup the maven publication, task publishToMavenLocal will be created automatically.

ileasile commented 3 years ago

Then you just run this task and after publishing run the following code in the notebook: @file:Repository("*mavenLocal") @file:DependsOn("yourGroup:yourArtifact:yourVersion")

mizraelson commented 3 years ago

I have publishToMavenLocal. In the ~/.m2/repository/me/mizraelson/milabterminator/1.0-SNAPSHOT I have the following files:

maven-metadata-local.xml
milabterminator-1.0-SNAPSHOT-javadoc.jar
milabterminator-1.0-SNAPSHOT-sources.jar
milabterminator-1.0-SNAPSHOT.jar
milabterminator-1.0-SNAPSHOT.module
milabterminator-1.0-SNAPSHOT.pom

I run the following code in the notebook: @file:Repository("*mavenLocal") @file:DependsOn("me.mizraelson:milabterminator:1.0-SNAPSHOT")

It works without errors. But I don't see any classes from the library when I am trying to use it.

What might be the problem?

ileasile commented 3 years ago

First of all, check if milabterminator-1.0-SNAPSHOT.jar actually contains compiled .class files of your project

mizraelson commented 3 years ago

Seems like it does. I see lines with com/mizraelson/LocalStorageFolder and other classes also in the file content, so it must be it.

mizraelson commented 3 years ago

jar tf milabterminator-1.0-SNAPSHOT.jar also shows that it has .class files inside

ileasile commented 3 years ago

Ok, can you send me kernel log? It should be in console where you run jupyter notebook command

mizraelson commented 3 years ago

278 [main] INFO ikotlin - Kernel args: -classpath=/Users/mizraelson/miniconda3/lib/python3.8/site-packages/run_kotlin_kernel/jars/lib-0.10.0-183.jar:/Users/mizraelson/miniconda3/lib/python3.8/site-packages/run_kotlin_kernel/jars/api-0.10.0-183.jar:/Users/mizraelson/miniconda3/lib/python3.8/site-packages/run_kotlin_kernel/jars/kotlin-script-runtime-1.6.0-dev-1733.jar:/Users/mizraelson/miniconda3/lib/python3.8/site-packages/run_kotlin_kernel/jars/kotlin-reflect-1.5.21.jar:/Users/mizraelson/miniconda3/lib/python3.8/site-packages/run_kotlin_kernel/jars/kotlin-stdlib-1.5.21.jar:/Users/mizraelson/miniconda3/lib/python3.8/site-packages/run_kotlin_kernel/jars/annotations-13.0.jar:/Users/mizraelson/miniconda3/lib/python3.8/site-packages/run_kotlin_kernel/jars/kotlin-stdlib-common-1.5.21.jar, /Users/mizraelson/Library/Jupyter/runtime/kernel-cb7ce407-1e5c-4ef4-b9c1-cfd2fa693674.json, -home=/Users/mizraelson/miniconda3/lib/python3.8/site-packages/run_kotlin_kernel 818 [main] INFO ikotlin - Starting server with config: KernelConfig(ports=[59709, 59706, 59710, 59708, 59707], transport=tcp, signatureScheme=hmac-sha256, signatureKey=1a4fafee-ff486d42ba5fbaaecc4cc299, scriptClasspath=[/Users/mizraelson/miniconda3/lib/python3.8/site-packages/run_kotlin_kernel/jars/lib-0.10.0-183.jar, /Users/mizraelson/miniconda3/lib/python3.8/site-packages/run_kotlin_kernel/jars/api-0.10.0-183.jar, /Users/mizraelson/miniconda3/lib/python3.8/site-packages/run_kotlin_kernel/jars/kotlin-script-runtime-1.6.0-dev-1733.jar, /Users/mizraelson/miniconda3/lib/python3.8/site-packages/run_kotlin_kernel/jars/kotlin-reflect-1.5.21.jar, /Users/mizraelson/miniconda3/lib/python3.8/site-packages/run_kotlin_kernel/jars/kotlin-stdlib-1.5.21.jar, /Users/mizraelson/miniconda3/lib/python3.8/site-packages/run_kotlin_kernel/jars/annotations-13.0.jar, /Users/mizraelson/miniconda3/lib/python3.8/site-packages/run_kotlin_kernel/jars/kotlin-stdlib-common-1.5.21.jar], homeDir=/Users/mizraelson/miniconda3/lib/python3.8/site-packages/run_kotlin_kernel, resolverConfig=ResolverConfig(repositories=[kotlin.script.experimental.dependencies.RepositoryCoordinates@22d7b4f8, kotlin.script.experimental.dependencies.RepositoryCoordinates@149dd36b], libraries=org.jetbrains.kotlinx.jupyter.libraries.DefaultInfoLibraryResolver@38831718), resolutionInfoProvider=org.jetbrains.kotlinx.jupyter.libraries.StandardResolutionInfoProvider@2c1156a7, embedded=false) 997 [main] DEBUG ikotlin - [HB] listen: tcp://*:59709 998 [main] DEBUG ikotlin - [SHELL] listen: tcp://*:59706 999 [main] DEBUG ikotlin - [CONTROL] listen: tcp://*:59710 999 [main] DEBUG ikotlin - [STDIN] listen: tcp://*:59708 1506 [main] DEBUG ikotlin - [IOPUB] listen: tcp://*:59707 1521 [main] INFO ikotlin - Current classpath: /Users/mizraelson/miniconda3/lib/python3.8/site-packages/run_kotlin_kernel/jars/kotlin-jupyter-kernel-0.10.0-183.jar 1521 [main] INFO ikotlin - Begin listening for events 1590 [main] INFO ikotlin - Starting kotlin REPL engine. Compiler version: 1.6.0-dev-1733 1590 [main] INFO ikotlin - Kernel version: 0.10.0.183 1590 [main] INFO ikotlin - Classpath used in script: [/Users/mizraelson/miniconda3/lib/python3.8/site-packages/run_kotlin_kernel/jars/lib-0.10.0-183.jar, /Users/mizraelson/miniconda3/lib/python3.8/site-packages/run_kotlin_kernel/jars/api-0.10.0-183.jar, /Users/mizraelson/miniconda3/lib/python3.8/site-packages/run_kotlin_kernel/jars/kotlin-script-runtime-1.6.0-dev-1733.jar, /Users/mizraelson/miniconda3/lib/python3.8/site-packages/run_kotlin_kernel/jars/kotlin-reflect-1.5.21.jar, /Users/mizraelson/miniconda3/lib/python3.8/site-packages/run_kotlin_kernel/jars/kotlin-stdlib-1.5.21.jar, /Users/mizraelson/miniconda3/lib/python3.8/site-packages/run_kotlin_kernel/jars/annotations-13.0.jar, /Users/mizraelson/miniconda3/lib/python3.8/site-packages/run_kotlin_kernel/jars/kotlin-stdlib-common-1.5.21.jar] 1675 [main] DEBUG ikotlin - [SHELL] >rcv: msg[�� H] {"header":{"msg_id":"fbf88537f18c49fd8dc1fafc6b4ea85d_0","msg_type":"kernel_info_request","session":"fbf88537f18c49fd8dc1fafc6b4ea85d","username":"mizraelson","version":"5.3","date":"2021-08-11T14:13:35.683582Z"},"parent_header":null,"metadata":{},"content":{}} 1682 [main] DEBUG ikotlin - [IOPUB] snd>: msg[�� H] {"header":{"msg_id":"9962f1fc-5b3d-48ca-8a1b-c4ace421534d","msg_type":"status","session":"fbf88537f18c49fd8dc1fafc6b4ea85d","username":"mizraelson","version":"5.3","date":"2021-08-11T17:13+0300"},"parent_header":{"msg_id":"fbf88537f18c49fd8dc1fafc6b4ea85d_0","msg_type":"kernel_info_request","session":"fbf88537f18c49fd8dc1fafc6b4ea85d","username":"mizraelson","version":"5.3","date":"2021-08-11T14:13:35.683582Z"},"metadata":null,"content":{"execution_state":"busy"}} 1693 [main] DEBUG ikotlin - [SHELL] snd>: msg[�� H] {"header":{"msg_id":"31762582-0abe-4022-8b36-082893cd0bb2","msg_type":"kernel_info_reply","session":"fbf88537f18c49fd8dc1fafc6b4ea85d","username":"mizraelson","version":"5.3","date":"2021-08-11T17:13+0300"},"parent_header":{"msg_id":"fbf88537f18c49fd8dc1fafc6b4ea85d_0","msg_type":"kernel_info_request","session":"fbf88537f18c49fd8dc1fafc6b4ea85d","username":"mizraelson","version":"5.3","date":"2021-08-11T14:13:35.683582Z"},"metadata":null,"content":{"status":"ok","protocol_version":"5.3","implementation":"Kotlin","implementation_version":"0.10.0.183","banner":"Kotlin kernel v. 0.10.0.183, Kotlin v. 1.6.0-dev-1733","language_info":{"name":"kotlin","version":"1.6.0-dev-1733","mimetype":"text/x-kotlin","file_extension":".kt","pygments_lexer":"kotlin","codemirror_mode":"text/x-kotlin","nbconvert_exporter":""},"help_links":[]}} 1700 [main] DEBUG ikotlin - [IOPUB] snd>: msg[�� H] {"header":{"msg_id":"4651f228-e58e-42b0-b849-ff8147c7ea6f","msg_type":"status","session":"fbf88537f18c49fd8dc1fafc6b4ea85d","username":"mizraelson","version":"5.3","date":"2021-08-11T17:13+0300"},"parent_header":{"msg_id":"fbf88537f18c49fd8dc1fafc6b4ea85d_0","msg_type":"kernel_info_request","session":"fbf88537f18c49fd8dc1fafc6b4ea85d","username":"mizraelson","version":"5.3","date":"2021-08-11T14:13:35.683582Z"},"metadata":null,"content":{"execution_state":"idle"}} 1719 [main] DEBUG ikotlin - [SHELL] >rcv: msg[fbf88537f18c49fd8dc1fafc6b4ea85d] {"header":{"msg_id":"e12fc3a3635740a9be8eb79eee5884a8","msg_type":"kernel_info_request","session":"fbf88537f18c49fd8dc1fafc6b4ea85d","username":"username","version":"5.2"},"parent_header":null,"metadata":{},"content":{}} 1720 [main] DEBUG ikotlin - [IOPUB] snd>: msg[fbf88537f18c49fd8dc1fafc6b4ea85d] {"header":{"msg_id":"b009f81a-076a-47ba-ae56-9c45cc3ccd94","msg_type":"status","session":"fbf88537f18c49fd8dc1fafc6b4ea85d","username":"username","version":"5.3","date":"2021-08-11T17:13+0300"},"parent_header":{"msg_id":"e12fc3a3635740a9be8eb79eee5884a8","msg_type":"kernel_info_request","session":"fbf88537f18c49fd8dc1fafc6b4ea85d","username":"username","version":"5.2"},"metadata":null,"content":{"execution_state":"busy"}} 1722 [main] DEBUG ikotlin - [SHELL] snd>: msg[fbf88537f18c49fd8dc1fafc6b4ea85d] {"header":{"msg_id":"2aa38658-191b-48cf-8a97-b5bbb969b53f","msg_type":"kernel_info_reply","session":"fbf88537f18c49fd8dc1fafc6b4ea85d","username":"username","version":"5.3","date":"2021-08-11T17:13+0300"},"parent_header":{"msg_id":"e12fc3a3635740a9be8eb79eee5884a8","msg_type":"kernel_info_request","session":"fbf88537f18c49fd8dc1fafc6b4ea85d","username":"username","version":"5.2"},"metadata":null,"content":{"status":"ok","protocol_version":"5.3","implementation":"Kotlin","implementation_version":"0.10.0.183","banner":"Kotlin kernel v. 0.10.0.183, Kotlin v. 1.6.0-dev-1733","language_info":{"name":"kotlin","version":"1.6.0-dev-1733","mimetype":"text/x-kotlin","file_extension":".kt","pygments_lexer":"kotlin","codemirror_mode":"text/x-kotlin","nbconvert_exporter":""},"help_links":[]}} 1727 [main] DEBUG ikotlin - [IOPUB] snd>: msg[fbf88537f18c49fd8dc1fafc6b4ea85d] {"header":{"msg_id":"1c7a99d5-1690-41f9-964e-62e9bc103282","msg_type":"status","session":"fbf88537f18c49fd8dc1fafc6b4ea85d","username":"username","version":"5.3","date":"2021-08-11T17:13+0300"},"parent_header":{"msg_id":"e12fc3a3635740a9be8eb79eee5884a8","msg_type":"kernel_info_request","session":"fbf88537f18c49fd8dc1fafc6b4ea85d","username":"username","version":"5.2"},"metadata":null,"content":{"execution_state":"idle"}} 1738 [main] DEBUG ikotlin - [SHELL] >rcv: msg[fbf88537f18c49fd8dc1fafc6b4ea85d] {"header":{"msg_id":"e65da8d03c944ea78e2fd544d4f296e9","msg_type":"comm_info_request","session":"fbf88537f18c49fd8dc1fafc6b4ea85d","username":"username","version":"5.2"},"parent_header":null,"metadata":{},"content":{"target_name":"jupyter.widget"}} 1738 [main] DEBUG ikotlin - [IOPUB] snd>: msg[fbf88537f18c49fd8dc1fafc6b4ea85d] {"header":{"msg_id":"bdf88410-2db1-4be2-bbf3-eaf418f0dbfd","msg_type":"status","session":"fbf88537f18c49fd8dc1fafc6b4ea85d","username":"username","version":"5.3","date":"2021-08-11T17:13+0300"},"parent_header":{"msg_id":"e65da8d03c944ea78e2fd544d4f296e9","msg_type":"comm_info_request","session":"fbf88537f18c49fd8dc1fafc6b4ea85d","username":"username","version":"5.2"},"metadata":null,"content":{"execution_state":"busy"}} 1745 [main] DEBUG ikotlin - [SHELL] snd>: msg[fbf88537f18c49fd8dc1fafc6b4ea85d] {"header":{"msg_id":"358e1c4d-a2de-4260-8fa0-2849a42a2a72","msg_type":"comm_info_reply","session":"fbf88537f18c49fd8dc1fafc6b4ea85d","username":"username","version":"5.3","date":"2021-08-11T17:13+0300"},"parent_header":{"msg_id":"e65da8d03c944ea78e2fd544d4f296e9","msg_type":"comm_info_request","session":"fbf88537f18c49fd8dc1fafc6b4ea85d","username":"username","version":"5.2"},"metadata":null,"content":{"comms":{}}} 1749 [main] DEBUG ikotlin - [IOPUB] snd>: msg[fbf88537f18c49fd8dc1fafc6b4ea85d] {"header":{"msg_id":"7d6d7843-e5cb-43c8-99a2-5e1370989269","msg_type":"status","session":"fbf88537f18c49fd8dc1fafc6b4ea85d","username":"username","version":"5.3","date":"2021-08-11T17:13+0300"},"parent_header":{"msg_id":"e65da8d03c944ea78e2fd544d4f296e9","msg_type":"comm_info_request","session":"fbf88537f18c49fd8dc1fafc6b4ea85d","username":"username","version":"5.2"},"metadata":null,"content":{"execution_state":"idle"}} 1870 [main] DEBUG ikotlin - [SHELL] >rcv: msg[fbf88537f18c49fd8dc1fafc6b4ea85d] {"header":{"msg_id":"3055ea82dbb3446094447dcf9c8329f5","msg_type":"execute_request","session":"fbf88537f18c49fd8dc1fafc6b4ea85d","username":"username","version":"5.2"},"parent_header":null,"metadata":{},"content":{"code":"@file:Repository(\"*mavenLocal\")\n@file:DependsOn(\"me.mizraelson:milabterminator:1.0-SNAPSHOT\")"}} 1871 [main] DEBUG ikotlin - [IOPUB] snd>: msg[fbf88537f18c49fd8dc1fafc6b4ea85d] {"header":{"msg_id":"36c75eff-4df3-4725-8c6a-785bd68f4266","msg_type":"status","session":"fbf88537f18c49fd8dc1fafc6b4ea85d","username":"username","version":"5.3","date":"2021-08-11T17:13+0300"},"parent_header":{"msg_id":"3055ea82dbb3446094447dcf9c8329f5","msg_type":"execute_request","session":"fbf88537f18c49fd8dc1fafc6b4ea85d","username":"username","version":"5.2"},"metadata":null,"content":{"execution_state":"busy"}} 1880 [main] DEBUG ikotlin - [IOPUB] snd>: msg[fbf88537f18c49fd8dc1fafc6b4ea85d] {"header":{"msg_id":"ceda84f7-4571-4d71-9358-d76b9da1237e","msg_type":"execute_input","session":"fbf88537f18c49fd8dc1fafc6b4ea85d","username":"username","version":"5.3","date":"2021-08-11T17:13+0300"},"parent_header":{"msg_id":"3055ea82dbb3446094447dcf9c8329f5","msg_type":"execute_request","session":"fbf88537f18c49fd8dc1fafc6b4ea85d","username":"username","version":"5.2"},"metadata":null,"content":{"code":"@file:Repository(\"*mavenLocal\")\n@file:DependsOn(\"me.mizraelson:milabterminator:1.0-SNAPSHOT\")","execution_count":1}} 1889 [Thread-5] DEBUG ikotlin - Current cell id: 1 1891 [Thread-5] DEBUG ikotlin - Executing code: @file:Repository("*mavenLocal") @file:DependsOn("me.mizraelson:milabterminator:1.0-SNAPSHOT") 1899 [Thread-5] DEBUG ikotlin - Adding 0 libraries 3609 [Thread-5] INFO resolver - Adding repository: *mavenLocal 3611 [Thread-5] INFO resolver - Resolving me.mizraelson:milabterminator:1.0-SNAPSHOT 3613 [Thread-5] INFO resolver - Resolved: me.mizraelson:milabterminator:1.0-SNAPSHOT 4903 [Thread-5] DEBUG libraries scanning - Scanning for libraries is done. Detected FQNs: {} 4904 [Thread-5] DEBUG libraries scanning - Number of detected definitions: 0 4914 [main] DEBUG ikotlin - [SHELL] snd>: msg[fbf88537f18c49fd8dc1fafc6b4ea85d] {"header":{"msg_id":"a7a2732d-4603-46a3-922c-b265322027a7","msg_type":"execute_reply","session":"fbf88537f18c49fd8dc1fafc6b4ea85d","username":"username","version":"5.3","date":"2021-08-11T17:13+0300"},"parent_header":{"msg_id":"3055ea82dbb3446094447dcf9c8329f5","msg_type":"execute_request","session":"fbf88537f18c49fd8dc1fafc6b4ea85d","username":"username","version":"5.2"},"metadata":{"dependencies_met":true,"started":"2021-08-11T17:13+0300","eval_metadata":{"newClasspath":["/Users/mizraelson/me.mizraelson:milabterminator:1.0-SNAPSHOT"],"compiledData":{"scripts":[{"fileName":"Line_0.class","data":"yv66vgAAADoAJgEABkxpbmVfMAcAAQEAL2p1cHl0ZXIva290bGluL1NjcmlwdFRlbXBsYXRlV2l0aERpc3BsYXlIZWxwZXJzBwADAQAEbWFpbgEAFihbTGphdmEvbGFuZy9TdHJpbmc7KVYBACdrb3RsaW4vc2NyaXB0L2V4cGVyaW1lbnRhbC9qdm0vUnVubmVyS3QHAAcBABFydW5Db21waWxlZFNjcmlwdAEAJyhMamF2YS9sYW5nL0NsYXNzO1tMamF2YS9sYW5nL1N0cmluZzspVgwACQAKCgAIAAsBAAY8aW5pdD4BAFgoTG9yZy9qZXRicmFpbnMva290bGlueC9qdXB5dGVyL2FwaS9Ob3RlYm9vaztManVweXRlci9rb3RsaW4vS290bGluS2VybmVsSG9zdFByb3ZpZGVyOylWDAANAA4KAAQADwEAEUxrb3RsaW4vTWV0YWRhdGE7AQACbXYDAAAAAQMAAAAFAQABawEAAnhpAwAAAAQBAAJkMQEAOcCAFgoCGAIKAhgCCsCACgIYAgrAgAoCGAIKwIAYwIAyAjABQhASBhACGgIwAxIGEAQaAjAFwqgGBgEAAmQyAQAITExpbmVfMDsBADFManVweXRlci9rb3RsaW4vU2NyaXB0VGVtcGxhdGVXaXRoRGlzcGxheUhlbHBlcnM7AQAIbm90ZWJvb2sBACxMb3JnL2pldGJyYWlucy9rb3RsaW54L2p1cHl0ZXIvYXBpL05vdGVib29rOwEADGhvc3RQcm92aWRlcgEAKUxqdXB5dGVyL2tvdGxpbi9Lb3RsaW5LZXJuZWxIb3N0UHJvdmlkZXI7AQANa290bGluLXNjcmlwdAEAEkxpbmVfMC5qdXB5dGVyLWt0cwEABENvZGUBAApTb3VyY2VGaWxlAQAZUnVudGltZVZpc2libGVBbm5vdGF0aW9ucwAhAAIABAAAAAAAAgAZAAUABgABACMAAAATAAIAAQAAAAcSAiq4AAyxAAAAAAABAA0ADgABACMAAAAUAAMAAwAAAAgqKyy3ABAqsQAAAAAAAgAkAAAAAgAiACUAAABAAAEAEQAFABJbAANJABNJABRJABMAFUkAEwAWSQAXABhbAAFzABkAGlsAB3MAG3MAHHMAHXMAHnMAH3MAIHMAIQ==","isImplicitReceiver":true}]}},"engine":"fbf88537f18c49fd8dc1fafc6b4ea85d","status":"ok"},"content":{"status":"ok","execution_count":1}} 4916 [main] DEBUG ikotlin - [IOPUB] snd>: msg[fbf88537f18c49fd8dc1fafc6b4ea85d] {"header":{"msg_id":"c8947439-399e-499b-b81d-cb60af0b4a39","msg_type":"status","session":"fbf88537f18c49fd8dc1fafc6b4ea85d","username":"username","version":"5.3","date":"2021-08-11T17:13+0300"},"parent_header":{"msg_id":"3055ea82dbb3446094447dcf9c8329f5","msg_type":"execute_request","session":"fbf88537f18c49fd8dc1fafc6b4ea85d","username":"username","version":"5.2"},"metadata":null,"content":{"execution_state":"idle"}} [W 17:14:33.044 NotebookApp] Replacing stale connection: 3c590a29-3b10-41c0-a323-a183009d7466:aa3f334c2bef4145b4da6341f9839f82

ileasile commented 3 years ago

Well, what is the content of your JAR's META-INF directory? There is the example for DataFrame library image

mizraelson commented 3 years ago

META-INF/MANIFEST.MF META-INF/milabterminator.kotlin_module META-INF/kotlin-jupyter-libraries/ META-INF/kotlin-jupyter-libraries/libraries.json

ileasile commented 3 years ago

What is the content of META-INF/kotlin-jupyter-libraries/libraries.json?

mizraelson commented 3 years ago

{"definitions":[],"producers":[{"fqn":"com.mizraelson.Integration"}]}

ileasile commented 3 years ago

Well... Everything seems to be fine, except that libraries scanner can't find the descriptor :(

[Thread-5] DEBUG libraries scanning - Scanning for libraries is done. Detected FQNs: {}
[Thread-5] DEBUG libraries scanning - Number of detected definitions: 0

If you can share your library (jar and pom), it would be great, I could debug this case then

ileasile commented 3 years ago

You may send it to my e-mail, ilya.muradyan@jetbrains.com

ileasile commented 3 years ago

What are your OS and Java versions?

mizraelson commented 3 years ago

I have sent the files to your e-mail.

ileasile commented 3 years ago

For me, everything works with your artifacts image

I've checked it with Java 8, 14 and 16 on my Windows PC

ileasile commented 3 years ago

It's interesting. Doesn't restarting the kernel fix the issue?

mizraelson commented 3 years ago
image

nope(

ileasile commented 3 years ago

Well, I'll check a bit more and get back to you

mizraelson commented 3 years ago

Found it. I had a folder with the same name in my Home dir (my mistake), so DependsOn was looking into it instead of a .m2/ folder. I have deleted the folder and everything works fine.