KITE_DRAWING_OVERALL
now properly controls the limits on the size of visualizations. #410OPENAI_API_KEY
environment variable before using it.DataFrames can now be directly passed between PySpark and LynxKite, if LynxKite is running in a user-provided SparkSession. #327, #328 Example usage:
import lynx.kite
# Start LynxKite in this SparkSession.
lk = lynx.kite.LynxKite(spark=spark)
# Turn a LynxKite table into a Spark DataFrame.
df = lk.createExampleGraph().sql('select name, age from vertices').spark()
df = df.filter('age < 30')
# Turn a Spark DataFrame into a LynxKite table.
g = lk.from_spark(df).useTableAsVertices()
lk = lynx.kite.LynxKite(spark=spark)
), LynxKite will run in that SparkSession.
#294
Useful if you want to run LynxKite as part of a pipeline, rather than as permanent fixture.LynxKite()
constructor in the Python API now defaults to connecting to http://localhost:2200
.
#291matplotlib
, or html
.
#297spark-submit
.
#269 This makes deployment much simpler
in Hadoop environments.KITE_ENABLE_CUDA=yes
in .kiterc
.
The list of algorithms includes PageRank, connected components, betweenness and Katz centrality,
the Louvain method, k-core decomposition, and ForceAtlas2, a new option in
Place vertices with edge lengths.$KITE_DATA/partitioned
.
Everything will be recomputed when accessed, and will be stored in the new format..kiterc
settings.
(#110)workspaceName
) that can be used to
force recomputation in wizards. (#131)We’ve open-sourced LynxKite!
We took this opportunity to make many changes that break compatibility with the LynxKite 3.x series. We can help migrate existing workspaces to LynxKite 4.0 if necessary.
Long
, Int
, Double
attribute types with number
.(Double, Double)
attribute type, 2D positions are now represented as
Vector[number]
. This type is widely supported and more flexible.
Use “Bundle vertex attributes into a Vector” instead of “Convert vertex attributes to
position”, which is now gone.Vector[Double]
attributes.kiterc
configuration options to allow public access LynxKite instances.vertices
and edges
can be accessed as
input.vertices
and input.edges
now.