Starting from 0.5 session kind is actually useless, we should encourage user to not specify session kind, instead we should set code kind when submitting statement.
So this could be both a notebook-level property (just as a default for newly created cells), and a cell-level property.
For example, this opens up a way to for something like this in sparkmagic:
%%spark -l python
# .. some pyspark code..
df = spark.sql("select * from universe")
%%spark -l scala
// .. some Scala code..
var df = spark.sql("select * from universe")
FYI - Livy 0.5+ has session kind which is actually useless
See this comment in LIVY-469
So this could be both a notebook-level property (just as a default for newly created cells), and a cell-level property. For example, this opens up a way to for something like this in sparkmagic:
on the same (shared) backend Spark session.