Graphistry 2.30.11: Graphistry Hub, PyGraphistry 2.0 API, & RAPIDS 0.14

Posted by Graphistry Staff on June 19, 2020

Release 2.30.11 is a fast and worthwhile follow on the big 2.29 release. If you didn’t get Graphistry 2.29 with our new Graphistry 2.0 API — 100X faster & bigger uploads! — now is your chance with 2.30. The latest release also introduces Graphistry Hub, RAPIDS 0.14, open registration mode, and more.

As a reminder, check out LearnRAPIDS.com to register for some of our free upcoming instructor-led trainings, and our official release notes for further details on the current release.

 

 

Figure: Introducing Graphistry Hub

Graphistry Hub

2.30 introduces Graphistry Hub. We’re bringing Graphistry to the public web: You’ll be hearing a lot more about this in the coming months. Long-term, our cloud layer will help all of our users share and collaborate both data and code. For now, you can register a free account for open data at hub.graphistry.com .

2.0 API: Fast uploads and custom RGB colors

Opt into the 2.0 API  by calling the new REST routes or, more transparently, switching your client library initialization. For PyGraphistry 0.11.5+, that is a one line change to switch protocol and provide JWT credentials:

graphistry.register(api=3, username=..., password=...) 
# or 
# graphistry.register(api=3, token=...)

Release 2.29 already introduced benefits like 100X faster and bigger uploads.  With 2.30, PyGraphistry users can now also specify palette colors using int32 values and custom RGB colors using int64 values (RAPIDS does not yet support more traditional uint values). This works in both the REST API and the Python API starting with 2.30.11:

Pandas (CPU):

graphistry
  .edges(pd.DataFrame({
    's': [0, 1, 2], 
    'd': [1, 2, 0], 
    'e_clr': pd.Series([0, 1, 2], dtype='int32')}))
  .nodes(pd.DataFrame({
    'n': [0, 1, 2], 
    'n_clr': pd.Series([0xFF000000, 0x00FF0000, 0x0000FF00], dtype='int64')))
  .bind(source='s', destination='d', edge_color='e_clr')
  .bind(node='n', point_color='n_clr')
  .plot()

RAPIDS cuDF (GPU):

graphistry
  .edges(cudf.DataFrame({
    's': [0, 1, 2], 
    'd': [1, 2, 0], 
    'e_clr': cudf.Series([0, 1, 2], dtype='int32')}))
  .nodes(cudf.DataFrame({
    'n': [0, 1, 2], 
    'n_clr': cudf.Series([0xFF000000, 0x00FF0000, 0x0000FF00], dtype='int64')))
  .bind(source='s', destination='d', edge_color='e_clr')
  .bind(node='n', point_color='n_clr')
  .plot()

RAPIDS 0.14
RAPIDS 0.14 is out and included in our latest upgrade! The official blogpost is still coming, so stay on the lookout for that. As a short preview, we’re especially happy with:

  • BlazingSQL: Distributed and out-of-core GPU computing
  • cuGraph: Betweenness centrality
  • cuDF: Improve date and null value handling

Open registration and staff role

When used in a secure network, you may deem it safe to allow open self-registration. Self-registered users can create visualizations using their API key, such as for using PyGraphistry within their own notebooks.

Hosted notebooks and the investigation tool may have sensitive team data, so now you can separate access to those. Regular users, including self-registered ones, get API access. Those with the staff role also get access to the hosted notebooks and the investigation tool. To give self-registered users access to those, you can manually give them the staff role in your admin panel.

Get started now!