All Projects → CiscoTestAutomation → Genieparser

CiscoTestAutomation / Genieparser

Licence: apache-2.0
sub-component of Genie that parse the device output into structured datastructure

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Genieparser

Js Quantities
JavaScript library for quantity calculation and unit conversion
Stars: ✭ 335 (+129.45%)
Mutual labels:  parser, parse
Parjs
JavaScript parser-combinator library
Stars: ✭ 145 (-0.68%)
Mutual labels:  parser, parse
Nom
Rust parser combinator framework
Stars: ✭ 5,987 (+4000.68%)
Mutual labels:  parser, parse
Tsql Parser
Library Written in C# For Parsing SQL Server T-SQL Scripts in .Net
Stars: ✭ 203 (+39.04%)
Mutual labels:  parser, parse
Parser
Generate a JSON documentation for a SFC Vue component. Contribute: https://gitlab.com/vuedoc/parser#contribute
Stars: ✭ 74 (-49.32%)
Mutual labels:  parser, parse
Subtitle.js
Stream-based library for parsing and manipulating subtitle files
Stars: ✭ 234 (+60.27%)
Mutual labels:  parser, parse
Librini
Rini is a tiny, non-libc dependant, .ini file parser programmed from scratch in C99.
Stars: ✭ 25 (-82.88%)
Mutual labels:  parser, parse
Libnmea
Lightweight C library for parsing NMEA 0183 sentences
Stars: ✭ 146 (+0%)
Mutual labels:  parser, parse
Algebra Latex
Parse and calculate latex formatted math
Stars: ✭ 20 (-86.3%)
Mutual labels:  parser, parse
Html React Parser
📝 HTML to React parser.
Stars: ✭ 846 (+479.45%)
Mutual labels:  parser, parse
Lark
Lark is a parsing toolkit for Python, built with a focus on ergonomics, performance and modularity.
Stars: ✭ 2,916 (+1897.26%)
Mutual labels:  parser, parse
Json Autotype
Automatic Haskell type inference from JSON input
Stars: ✭ 139 (-4.79%)
Mutual labels:  parser, parse
Snapdragon
snapdragon is an extremely pluggable, powerful and easy-to-use parser-renderer factory.
Stars: ✭ 180 (+23.29%)
Mutual labels:  parser, parse
Demoinfocs Golang
High performance CS:GO demo parser for Go (demoinfo)
Stars: ✭ 288 (+97.26%)
Mutual labels:  parser, parse
Pegparser
💡 Build your own programming language! A C++17 PEG parser generator supporting parser combination, memoization, left-recursion and context-dependent grammars.
Stars: ✭ 164 (+12.33%)
Mutual labels:  parser, parse
Remarkable
Markdown parser, done right. Commonmark support, extensions, syntax plugins, high speed - all in one. Gulp and metalsmith plugins available. Used by Facebook, Docusaurus and many others! Use https://github.com/breakdance/breakdance for HTML-to-markdown conversion. Use https://github.com/jonschlinkert/markdown-toc to generate a table of contents.
Stars: ✭ 5,252 (+3497.26%)
Mutual labels:  parser, parse
Skrape.it
A Kotlin-based testing/scraping/parsing library providing the ability to analyze and extract data from HTML (server & client-side rendered). It places particular emphasis on ease of use and a high level of readability by providing an intuitive DSL. It aims to be a testing lib, but can also be used to scrape websites in a convenient fashion.
Stars: ✭ 231 (+58.22%)
Mutual labels:  parse, test-automation
Parse Code Context
Parse code context in a single line of javascript, for functions, variable declarations, methods, prototype properties, prototype methods etc.
Stars: ✭ 7 (-95.21%)
Mutual labels:  parser, parse
Postcss Less
PostCSS Syntax for parsing LESS
Stars: ✭ 93 (-36.3%)
Mutual labels:  parser, parse
Netcopa
Network Configuration Parser
Stars: ✭ 112 (-23.29%)
Mutual labels:  parser, parse

published

Genie Parser

Genie is both a library framework and a test harness that facilitates rapid development, encourages re-usability, and simplifies writing test automation. Genie bundled with the modular architecture of pyATS framework accelerates and simplifies test automation leveraging all the perks of the Python programming language in an object-orienting fashion.

pyATS is an end-to-end testing ecosystem, specializing in data-driven and reusable testing, and engineered to be suitable for Agile, rapid development iterations. Extensible by design, pyATS enables developers to start with small, simple and linear test cases, and scale towards large, complex and asynchronous test suites.

Genie was initially developed internally in Cisco, and is now available to the general public starting early 2018 through Cisco DevNet.

This is a sub-component of Genie that parses the device output into structured datastructure.

Installation

Installation guide can be found on our website.

$ pip install genie.metaparser

ChangeLog

Change logs can be found here.

To contributors:

Guide

YouTube Video: <How to write a Genie parser for Cisco!> https://youtube.com/watch?v=ibLNilSfdTc (Thank you! @Jmahaja1)

Once you create a new parser, don't forget to check 1, 2, and 3; if you only update the parser class without modifying/creating the schema, please check 2 and 3.

  • [ ] 1. make json
  • [ ] 2. cd tests; and execute python -m unittest -v
  • [ ] 3. create changelog for your pull request.

How to write 'changelog':

  1. A few examples are added into changelog/undistributed/template.rst:
* IOS
* Modified ShowVersion:
    * Changed <key1>, <key2> from schema to Optional.
        * Updated regex pattern <p1> to accommodate various outputs.
        * Added keys <key3>, <key4> into the schema.

Please take it as a reference, and avoid to create vague logs, such as 'Updated regex.'

  1. How to generate an unique number for file name:
>>>from datetime import datetime
>>>datetime.utcnow().strftime('%Y%m%d%H%M%S')
'20200807212611'

Copyright (c) 2020 Cisco Systems, Inc. and/or its affiliates

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].