帮助解析/转换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第三方库


热门话题
Java Webstart“javaws open”标志不适用于多个参数   java ArrayList声明和处理   获取数组中值的百分比(Java)   java将ArrayList转换为字符串以存储在共享首选项中   Java8Lambdas与泛型的结合使用   Scala数组到Java   如何使用java知道webcontainer的路径?   java使用“收集”和“合并”的组背后的算法是什么   java OSGi:在两个不同的包中具有相同的包路径   java混淆了swt画布。重画   java正则表达式,用于5位数逗号分隔的值,例如047000480004900   使用HttpClient显示非ASCI字符的java   水塔计算程序Java中球体体积的计算   java根据给定值调整框架中所有组件的大小   java Builder类中的其他方法(lombok注释)