共享教程:在Graphistry中安全协作#
调查最好一起进行。本教程将介绍新的PyGraphistry方法.privacy()
,它允许通过API控制新的共享功能。
我们走过:
在组织上传和个人账户之间切换
graphistry.privacy(mode='private', ...)
的全局默认设置通过
g.privacy(...)
进行每个可视化的组合设置通过
privacy(invited_users=[{...])
邀请和通知
设置#
您需要 pygraphistry 0.20.0+ 版本以对应 Graphistry 服务器(2.37.20+)
[1]:
#! pip install --user -q graphistry pandas
[2]:
import graphistry, pandas as pd
graphistry.__version__
[2]:
'0.20.0'
[3]:
# To specify Graphistry account & server, use:
# graphistry.register(api=3, username='...', password='...', protocol='https', server='hub.graphistry.com')
# For more options, see https://github.com/graphistry/pygraphistry#configure
安全默认值:未列出 & 所有者可编辑#
在创建图表时,Graphistry 会按照以下规则生成一个专用 URL:
查看:未列出 - 只有获得链接的人才能访问
编辑:仅限所有者
该URL是不可猜测的,唯一列出它的网页是创建者的私人画廊:https://hub.graphistry.com/datasets/。这意味着它的私密性取决于所有者与谁共享该URL。
[12]:
public_url = g.plot(render=False)
默认切换到完全私有#
调用 graphistry.privacy()
以默认使用更强的隐私设置。它设置:
mode='private'
- 仅限所有者和被邀请者查看(不包括其他组织成员)invited_users=[]
- 默认没有邀请者notify=False
- 在邀请期间不发送电子邮件通知mode_action='20'
- 仅在mode="organization"
时使用,用于组织内共享的操作,“10”(查看)或“20”(编辑)message=''
默认情况下,这意味着需要明确的个人邀请才能查看。会话中的后续图表将默认使用此设置。
你也可以显式地设置或覆盖这些作为可选参数。
[14]:
graphistry.privacy()
# or equivaently, graphistry.privacy(mode='private', invited_users=[], notify=False, mode_action='20', message='')
owner_only_url = g.plot(render=False)
本地覆盖#
我们可以在本地覆盖设置,例如选择重新启用某些可视化的公共共享:
[15]:
public_g = g.privacy(mode='public')
public_url1 = public_g.plot(render=False)
#Ex: Inheriting public_g's mode='public'
public_g2 = public_g.name('viz2')
public_url2 = public_g.plot(render=False)
#Ex: Global default was still via .privacy()
still_private_url = g.plot(render=False)
邀请和通知#
作为设置的一部分,我们可以允许特定个人作为查看者或编辑者,并可以选择向他们发送电子邮件通知
[18]:
VIEW = '10'
EDIT = '20'
shared_g = g.privacy(
mode='private',
notify=True,
invited_users=[{'email': 'partner1@site1.com', 'action': VIEW},
{'email': 'partner2@site2.org', 'action': EDIT}],
message='Check out this graph!')
shared_url = shared_g.plot(render=False)
选项可以全局或局部配置,就像我们对mode
所做的那样。例如,我们可能不希望默认发送电子邮件,只在特定的图表上发送:
[19]:
graphistry.privacy(
mode='private',
notify=False,
invited_users=[{'email': 'partner1@site1.com', 'action': VIEW},
{'email': 'partner2@site2.org', 'action': EDIT}])
shared_url = g.plot(render=False)
notified_and_shared_url = g.privacy(notify=True).plot(render=False)
即使我们没有明确通知接收者,对象仍将出现在他们的图库中,网址为 https://hub.graphistry.com/datasets/