SAS Viya Rest客户端

sasctl的Python项目详细描述


sasctl

一个用户友好的sas viya rest客户端。

SAS Viya VersionPython Version
完整文档: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文件。

其他资源

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

推荐PyPI第三方库


热门话题
java将值插入sql表的选定列。使用c等参数#   IF语句的java JList数据添加   java在这种情况下有没有更好的方法来调整哈希值?   java@Valid不会触发@Repository中的验证   java如何在安卓中调整位图的大小   iTextJava。lang.NoClassDefFoundError:com/itextpdf/text/DocumentException   java使用ResourceBundleMessageSource加载一个ressource包(message.properties)的全部内容   java如何通过JasperReports 6动态设置Excel工作表名称。十、   java是编写这个程序的最佳方式   JAVA伊奥。FileNotFoundException:C:\Program Files\Apache软件基金会\Tomcat 8.0\。。\webapps\ROOT\\u cips\config。伊尼   java我正在尝试创建一个TictaToe程序,但是JOptionPane和绘图有问题   垃圾收集为什么java中的finalize()方法不在Finalizer类中?为什么它是在对象类中定义的?   java如何用括号编码替换url中的括号?   java web集成移动应用程序   在netbeans中运行MIDP2应用程序时出现java错误