Metadata-Version: 2.1
Name: routeparser
Version: 0.0.2
Summary: A route output text parser
Home-page: https://github.com/brandonmpace/routeparser
Author: Brandon M. Pace
Author-email: brandonmpace@gmail.com
License: GNU Lesser General Public License v3 or later
Description: routeparser:
        A route command output text parser
        
        It provides:  
          * Reading text output of routes into Python objects
          * Simple identification of routes that match hosts or networks
          
        
        Installation:  
          * pip install routeparser
        
        
        Usage:
            * example (where `netstat_rn.txt` is full output from 'netstat -rn' on Linux)::
        
                import routeparser
        
                # read lines from a file
                with open('netstat_rn.txt', 'r') as file_handle:
                    lines = file_handle.readlines()
        
                # You can just get objects representing the routes if you wish:
                routes = routeparser.Route.from_linux_netstat_lines(lines)
        
                # These have attributes such as gateway, interface and network.
                # Some example values as in-line comments:
                routes[0].gateway  # ipaddress.IPv4Address('192.168.1.1')
                routes[0].interface  # 'eth0'
                routes[0].network  # ipaddress.IPv4Network('10.10.0.0/16')
        
                # Route objects support membership testing:
                '10.10.10.1' in routes[0]  # would return True, given the above example route
        
                # You can get a RoutingTable object from the lines:
                table = routeparser.RoutingTable.from_linux_netstat_lines(lines)
        
                # which you can then use to check for specific route matches:
                table.match('10.10.10.1')  # would result in a matching Route object, if any
        
                # It supports string or Address/Network objects from the ipaddress module:
                import ipaddress
                table.match(ipaddress.ip_network('10.10.10.0/24'))
        
                # You can even get a list of all matching routes:
                table.matches('10.10.10.10')
        
                # Currently supported outputs and associated methods (for Route and RoutingTable)
                # Windows:
                #  - 'route print': from_windows_route_print_lines
                # Linux:
                #  - 'ip route': from_ip_route_lines
                #  - 'netstat -r[nv]': from_linux_netstat_lines
                #  - 'route [-n]': from_linux_route_lines
        
        
Keywords: network route parser
Platform: any
Classifier: Development Status :: 4 - Beta
Classifier: License :: OSI Approved :: GNU Lesser General Public License v3 or later (LGPLv3+)
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Requires-Python: >=3.6.5
Description-Content-Type: text/x-rst
