SAS Viya Rest客户端
sasctl的Python项目详细描述
完整文档:https://sassoftware.github.io/python-sasctl
概述
sasctl包使sas viya之间的通信变得容易 平台和python运行时。它可以用作模块或命令行接口。
sasctl.folders.list_folders()
sasctl folders list
先决条件
sasctl要求安装以下python包。 如果尚未出现,则将自动下载并安装这些软件包。
- 请求
- 六
对于完整的功能,建议使用以下附加软件包:
- SWAT
- kerberos
安装
pip install sasctl
依赖于其他软件包的功能可以使用以下方法安装:
pip install sasctl[swat]
pip install sasctl[kerberos]
pip install sasctl[all]
开始
一旦sasctl包安装完毕,并且您有一个sas viya服务器要连接, 第一步是建立会话:
>>> from sasctl import Session
>>> with Session(host, username, password):
... pass # do something
sasctl --help
创建会话后,所有命令都以该环境为目标。 使用sasctl最简单的方法通常是使用预定义的任务, 它可以处理与SAS Viya服务器的所有必要通信:
>>> from sasctl import Session, register_model
>>> from sklearn import linear_model as lm
>>> with Session('example.com', authinfo=<authinfo file>):
... model = lm.LogisticRegression()
... register_model('Sklearn Model', model, 'My Project')
与环境交互的更低级的方法是 直接服务方式:
>>> from pprint import pprint
>>> from sasctl import Session
>>> from sasctl.services import folders
>>> with Session(host, username, password):
... folders = folders.list_folders()
... pprint(folders)
{'links': [{'href': '/folders/folders',
'method': 'GET',
'rel': 'folders',
'type': 'application/vnd.sas.collection',
'uri': '/folders/folders'},
{'href': '/folders/folders',
'method': 'POST',
'rel': 'createFolder',
... # truncated for clarity
'rel': 'createSubfolder',
'type': 'application/vnd.sas.content.folder',
'uri': '/folders/folders?parentFolderUri=/folders/folders/{parentId}'}],
'version': 1}
与服务器交互的最基本方式是调用rest 虽然一般情况下,不建议直接使用函数。
>>> from pprint import pprint
>>> from sasctl import Session, get
>>> with Session(host, username, password):
... folders = get('/folders')
... pprint(folders)
{'links': [{'href': '/folders/folders',
'method': 'GET',
'rel': 'folders',
'type': 'application/vnd.sas.collection',
'uri': '/folders/folders'},
{'href': '/folders/folders',
'method': 'POST',
'rel': 'createFolder',
... # truncated for clarity
'rel': 'createSubfolder',
'type': 'application/vnd.sas.content.folder',
'uri': '/folders/folders?parentFolderUri=/folders/folders/{parentId}'}],
'version': 1}
示例
下面列出一些常见场景的简单示例。更多 完整的示例请参见examples文件夹。
显示模型管理器中当前的模型:
>>> from sasctl import Session
>>> from sasctl.services import model_repository
>>> with Session(host, username, password):
... models = model_repository.list_models()
在模型管理器中注册纯python模型:
>>> from sasctl import Session, register_model
>>> from sklearn import linear_model as lm
>>> with Session(host, authinfo=<authinfo file>):
... model = lm.LogisticRegression()
... register_model('Sklearn Model', model, 'My Project')
在模型管理器中注册cas模型:
>>> import swat
>>> from sasctl import Session
>>> from sasctl.tasks import register_model
>>> s = swat.CAS(host, authinfo=<authinfo file>)
>>> astore = s.CASTable('some_astore')
>>> with Session(s):
... register_model('SAS Model', astore, 'My Project')
贡献
欢迎投稿!
请阅读CONTRIBUTING.md 有关如何向本项目提交稿件的详细信息。
许可证
有关详细信息,请参见LICENSE文件。