Cape管理对所有数据的安全访问。

cape-privac的Python项目详细描述


Python角

LicensecodecovPyPI versionChat on Slack

一个支持数据转换和协作隐私策略的Python库,用于Pandas和apachespark中的数据科学项目

有关如何开始或访问documentation的说明,请参阅下面的说明。在

入门

先决条件

  • python3.6或更高版本,以及pip
  • 熊猫1.0+
  • PySpark 3.0+(如果使用Spark)
  • Make(如果从源代码安装)

安装pip

PyPi可以通过pycape获得。在

pip install cape-privacy

对apachespark的支持是可选的。如果您计划将该库与Apache Spark一起使用,我们建议使用以下方法:

^{pr2}$

我们建议在虚拟环境中运行它,例如venv。在

从源安装

可以从源代码安装库。这将安装所有依赖项,包括Apache Spark:

git clone https://github.com/capeprivacy/cape-python.git
cd cape-python
make bootstrap

用法示例

此示例是教程的节略版本,here

df=pd.DataFrame({"name":["alice","bob"],"age":[34,55],"birthdate":[pd.Timestamp(1985,2,23),pd.Timestamp(1963,5,10)],})tokenize=Tokenizer(max_token_len=10,key=b"my secret")perturb_numeric=NumericPerturbation(dtype=dtypes.Integer,min=-10,max=10)df["name"]=tokenize(df["name"])df["age"]=perturb_numeric(df["age"])print(df.head())# >>#          name  age  birthdate# 0  f42c2f1964   34 1985-02-23# 1  2e586494b2   63 1963-05-10

这些步骤可以保存在策略文件中,以便您可以共享它们并与您的团队协作:

# my-policy.yamllabel:my-policyversion:1rules:-match:name:ageactions:-transform:type:numeric-perturbationdtype:Integermin:-10max:10seed:4984-match:name:nameactions:-transform:type:tokenizermax_token_len:10key:my secret

然后可以加载此策略并将其应用于数据帧:

# df can be a Pandas or Spark data frame policy=cape.parse_policy("my-policy.yaml")df=cape.apply_policy(policy,df)print(df.head())# >>#          name  age  birthdate# 0  f42c2f1964   34 1985-02-23# 1  2e586494b2   63 1963-05-10

您可以在here或我们的documentation中看到更多示例和用法。在

关于Cape Privacy和Cape Python

Cape Privacy帮助团队共享数据并为更安全、更强大的数据科学做出决策。请访问capeprivacy.com了解更多信息。在

capepython为Pandas和apachespark带来了Cape的策略语言。支持的技术包括带链接性的标记化以及扰动和舍入。您可以在Python或人类可读的策略文件中以编程方式试验这些技术。在

开普敦建筑

Cape由多个服务和库组成。您可以将capepython用作独立的库,也可以将其与Cape Core中的协调器集成,后者支持用户和策略管理。在

项目状态和路线图

CapePython 0.1.1于2020年6月24日发布。它与开普角生态系统的其他要素一起得到积极的维护和发展。在

即将推出的功能:

  • 可逆标记化:允许反向标记化以显示原始值。在
  • 策略审计日志:创建日志钩子,以便在capepython中为策略下载和使用创建审计日志。在
  • 扩展管道集成:添加apachebeam、Apache Flink、apachearrow Flight或Dask集成作为我们可以支持的另一个管道,可以作为capepython的一部分,也可以在其单独的项目中。在

目标是建立一个完整的数据管理生态系统。Cape Privacy提供Cape Coordinator,用于管理策略和用户。这将通过workers接口与Cape隐私库(如Cape Python)交互,并通过API与您自己的数据服务交互。在

帮助和资源

如果您需要使用Cape Python的帮助,可以:

请归档feature requestsbug reports作为GitHub问题。在

社区

贡献

查看我们的contributing指南了解更多信息。在

行为准则

我们的code of conduct包含在Cape隐私网站上。希望所有社区成员都能遵守。有关如何报告问题的信息,请参阅该页。在

许可证

根据Apache许可证2.0版(参见LICENSEhttp://www.apache.org/licenses/LICENSE-2.0)授权。版权如NOTICE所述。在

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
插入表达式以完成JAVA语句块时出现语法错误   在linkedlist中的特定节点后插入java   java如何将参数传递给安卓 junit测试(参数化测试)   java在运行时将数据添加到片段中的RecyclerView,在该片段中,数据是在单独的片段中创建的   java apache CsrfPreventionFilter和404错误   java Ask是安卓 6.0的多重权限   java将字符串解析为Time并插入mysqldatabase   java扩展MyBatis映射器接口可能导致异常   java SparkSql不支持日期格式   在java中剪切字符串的一部分   将Java lambda的结果分配给字段   在Java中解析OCL?   java解析json到安卓中活动中的对象   用于时区转换的JavaAPI   在Oracle上建立与ESRI geodatabase直接连接的java在未处于调试模式时挂起   拆分文件时出错。使用Java8的xml文件   java eclipse jsp无颜色、代码完成和错误检测   java spring kafka侦听器在错误的位置查找ContainerProperty   java Springboot应用程序@EnableConfigServer无法在Eclipse中解析   当尝试使用ConstraintLayout将java视图添加到同一行时,java视图会被截断