帮助解析/转换yang模型的库

yangif的Python项目详细描述


扬起

yangify是一个框架,允许您轻松编写代码,将结构化和非结构化数据映射到使用yang模型建模的数据中。yangify也可以做相反的操作,将使用yang模型建模的数据转换为其他结构化或非结构化数据。这允许您轻松编写代码,解析网络设备的本机输出/数据/配置,并将它们映射到yang模型中,反之亦然。

安装yangify

您可以使用pip安装yangify:

pip install yangify

开始使用yangify的方法

开始执行yangify juptyer笔记本

步骤1

克隆存储库:

$ git clone https://github.com/networktocode/yangify

步骤2

导航到yangify

$ cd yangify

步骤3

建立所需的容器。

$ make build_test_containers 

步骤4

启动一个容器,以便可以运行jupyter笔记本:

make jupyter

步骤5

启动浏览器并导航到以下URL:

http://127.0.0.1:8888

您将在docs/tutorialsdocs/tutorials/parsing-quickstart中找到所有笔记本。

这些相同的笔记本在阅读文档时不需要交互就可以查看。

直接进入一个工作的yangify开发环境

Note: this dev environment is built for parsing.

步骤1

克隆存储库:

$ git clone https://github.com/networktocode/yangify

步骤2

导航到yangify

$ cd yangify

步骤3

建立所需的容器。

$ make build_test_containers 

步骤4

创建用于开发和测试的容器。此容器将被构建为您可以修改本地目录中的文件并在容器环境中执行它们。非常适合使用本地文本编辑器和在预构建环境中执行。

make enter_dev_container

这会把你直接扔进集装箱里。

步骤5

make install安装yangify

root@e726de8f2226:/yangify# make install
/root/.poetry/bin/poetry install
Skipping virtualenv creation, as specified in config file.
Installing dependencies from lock file

Nothing to install or update

  - Installing yangify (0.1.0)
A setup.py file already exists. Using it.
root@e726de8f2226:/yangify#

步骤6

导航到parsing-quickstart目录(在容器中):

root@e726de8f2226:/yangify# cd docs/tutorial/parsing-quickstart/
root@e726de8f2226:/yangify/docs/tutorial/parsing-quickstart# 

步骤7

尝试dev-yangify.py脚本:

root@e726de8f2226:/yangify/docs/tutorial/parsing-quickstart# python dev-yangify.py --vlans
{
    "openconfig-vlan:vlans": {
        "vlan": [
            {
                "vlan-id": 10,
                "config": {
                    "vlan-id": 10,
                    "status": "ACTIVE"
                }
            },
            {
                "vlan-id": 20,
                "config": {
                    "vlan-id": 20,
                    "name": "web_vlan",
                    "status": "ACTIVE"
                }
            },
            {
                "vlan-id": 30,
                "config": {
                    "vlan-id": 30,
                    "name": "test_vlan",
                    "status": "ACTIVE"
                }
            }
        ]
    }
}
root@e726de8f2226:/yangify/docs/tutorial/parsing-quickstart# 

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

推荐PyPI第三方库


热门话题
添加到Linkedlist后int与Integer的java比较不起作用   服务器启动时来自tomcat的java通知回调   在java中如何将float转换为double?   使用Java数据Bean连接到Siebel时出错   我如何反对像Java这样的强类型语言中的Ducktyping呢?   运行vert的json。x与java安全管理器   java大O表示法解释嵌套while循环   配置My gradle java项目找不到log4j2。json   验证我需要编写一个包含特殊字符和0到9的数字的java字符串来验证密码   java Univocity解析器:从这里调用函数无效:parserSettings。选择字段(*some_function*);   java在MVC上应用TDD   运行时的java按钮开关   Java8:如何流式处理int数组、提取低位字节和创建字节数组   linux无法在从Java启动的子进程中为SIGQUIT设置信号处理程序   Gradle具有真正混合的java和scala源代码