Blame PKG-INFO

Packit Service 0535c1
Metadata-Version: 2.1
Packit Service 0535c1
Name: nmstate
Packit Service 0535c1
Version: 0.3.4
Packit Service 0535c1
Summary: Declarative network manager API
Packit Service 0535c1
Home-page: https://nmstate.github.io/
Packit Service 0535c1
Author: Edward Haas
Packit Service 0535c1
Author-email: ehaas@redhat.com
Packit Service 0535c1
License: LGPL2.1+
Packit Service 0535c1
Description: # We are Nmstate!
Packit Service 0535c1
        A declarative network manager API for hosts.
Packit Service 0535c1
        
Packit Service 0535c1
        [![Test Status](https://travis-ci.com/nmstate/nmstate.png?branch=master)](https://travis-ci.com/nmstate/nmstate)
Packit Service 0535c1
        [![Coverage Status](https://coveralls.io/repos/github/nmstate/nmstate/badge.svg?branch=master)](https://coveralls.io/github/nmstate/nmstate?branch=master)
Packit Service 0535c1
        [![PyPI version](https://badge.fury.io/py/nmstate.svg)](https://badge.fury.io/py/nmstate)
Packit Service 0535c1
        [![Fedora Rawhide version](https://img.shields.io/badge/dynamic/json.svg?label=Fedora%20Rawhide&url=https%3A%2F%2Fapps.fedoraproject.org%2Fmdapi%2Frawhide%2Fpkg%2Fnmstate&query=%24.version&colorB=blue)](https://apps.fedoraproject.org/packages/nmstate)
Packit Service 0535c1
        [![Code Style](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/python/black)
Packit Service 0535c1
        [![Language grade: Python](https://img.shields.io/lgtm/grade/python/g/nmstate/nmstate.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/nmstate/nmstate/context:python)
Packit Service 0535c1
        
Packit Service 0535c1
        Copr build status, all repos are built for Fedora 31+ and RHEL/CentOS/EPEL 8:
Packit Service 0535c1
        
Packit Service 0535c1
        * Latest release: [![Latest release Copr build status](https://copr.fedorainfracloud.org/coprs/nmstate/nmstate/package/nmstate/status_image/last_build.png)](https://copr.fedorainfracloud.org/coprs/nmstate/nmstate/package/nmstate/)
Packit Service 0535c1
        * Git master: [![Git master Copr build status](https://copr.fedorainfracloud.org/coprs/nmstate/nmstate-git/package/nmstate/status_image/last_build.png)](https://copr.fedorainfracloud.org/coprs/nmstate/nmstate-git/package/nmstate/)
Packit Service 0535c1
        * Latest 0.2 release: [![Latest 0.2 release Copr build status](https://copr.fedorainfracloud.org/coprs/nmstate/nmstate-0.2/package/nmstate/status_image/last_build.png)](https://copr.fedorainfracloud.org/coprs/nmstate/nmstate-0.2/package/nmstate/)
Packit Service 0535c1
        * Git nmstate-0.2: [![Git nmstate-0.2 Copr build status](https://copr.fedorainfracloud.org/coprs/nmstate/nmstate-0.2-git/package/nmstate/status_image/last_build.png)](https://copr.fedorainfracloud.org/coprs/nmstate/nmstate-0.2-git/package/nmstate/)
Packit Service 0535c1
        
Packit Service 0535c1
        ## What is it?
Packit Service 0535c1
        Nmstate is a library with an accompanying command line tool that manages
Packit Service 0535c1
        host networking settings in a declarative manner.
Packit Service 0535c1
        The networking state is described by a pre-defined schema.
Packit Service 0535c1
        Reporting of current state and changes to it (desired state) both conform to
Packit Service 0535c1
        the schema.
Packit Service 0535c1
        
Packit Service 0535c1
        Nmstate is aimed to satisfy enterprise needs to manage host networking through
Packit Service 0535c1
        a northbound declarative API and multi provider support on the southbound.
Packit Service 0535c1
        NetworkManager acts as the main (and currently the only) provider supported.
Packit Service 0535c1
        
Packit Service 0535c1
        ## State example:
Packit Service 0535c1
        
Packit Service 0535c1
        Desired/Current state example (YAML):
Packit Service 0535c1
        ```yaml
Packit Service 0535c1
        interfaces:
Packit Service 0535c1
        - name: eth1
Packit Service 0535c1
          type: ethernet
Packit Service 0535c1
          state: up
Packit Service 0535c1
          ipv4:
Packit Service 0535c1
            enabled: true
Packit Service 0535c1
            address:
Packit Service 0535c1
            - ip: 192.0.2.10
Packit Service 0535c1
              prefix-length: 24
Packit Service 0535c1
            dhcp: false
Packit Service 0535c1
          ipv6:
Packit Service 0535c1
            enabled: true
Packit Service 0535c1
            address:
Packit Service 0535c1
            - ip: 2001:db8:1::a
Packit Service 0535c1
              prefix-length: 64
Packit Service 0535c1
            autoconf: false
Packit Service 0535c1
            dhcp: false
Packit Service 0535c1
        dns-resolver:
Packit Service 0535c1
          config:
Packit Service 0535c1
            search:
Packit Service 0535c1
            - example.com
Packit Service 0535c1
            - example.org
Packit Service 0535c1
            server:
Packit Service 0535c1
            - 2001:4860:4860::8888
Packit Service 0535c1
            - 8.8.8.8
Packit Service 0535c1
        routes:
Packit Service 0535c1
          config:
Packit Service 0535c1
          - destination: 0.0.0.0/0
Packit Service 0535c1
            next-hop-address: 192.0.2.1
Packit Service 0535c1
            next-hop-interface: eth1
Packit Service 0535c1
          - destination: ::/0
Packit Service 0535c1
            next-hop-address: 2001:db8:1::1
Packit Service 0535c1
            next-hop-interface: eth1
Packit Service 0535c1
        ```
Packit Service 0535c1
        
Packit Service 0535c1
        ## Basic Operations
Packit Service 0535c1
        
Packit Service 0535c1
        Show eth0 current state (python/shell):
Packit Service 0535c1
        
Packit Service 0535c1
        ```python
Packit Service 0535c1
        import libnmstate
Packit Service 0535c1
        
Packit Service 0535c1
        state = libnmstate.show()
Packit Service 0535c1
        eth0_state = next(ifstate for ifstate in state['interfaces'] if ifstate['name'] == 'eth0')
Packit Service 0535c1
        
Packit Service 0535c1
        # Here is the MAC address
Packit Service 0535c1
        eth0_mac = eth0_state['mac-address']
Packit Service 0535c1
        ```
Packit Service 0535c1
        
Packit Service 0535c1
        ```shell
Packit Service 0535c1
        nmstatectl show eth0
Packit Service 0535c1
        ```
Packit Service 0535c1
        
Packit Service 0535c1
        Change to desired state (python/shell):
Packit Service 0535c1
        
Packit Service 0535c1
        ```python
Packit Service 0535c1
        import libnmstate
Packit Service 0535c1
        
Packit Service 0535c1
        # Specify a Linux bridge (created if it does not exist).
Packit Service 0535c1
        state = {'interfaces': [{'name': 'br0', 'type': 'linux-bridge', 'state': 'up'}]}
Packit Service 0535c1
        libnmstate.apply(state)
Packit Service 0535c1
        ```
Packit Service 0535c1
        
Packit Service 0535c1
        ```shell
Packit Service 0535c1
        # use yaml or json formats
Packit Service 0535c1
        nmstatectl set desired-state.yml
Packit Service 0535c1
        nmstatectl set desired-state.json
Packit Service 0535c1
        ```
Packit Service 0535c1
        
Packit Service 0535c1
        Edit the current state(python/shell):
Packit Service 0535c1
        ```python
Packit Service 0535c1
        import libnmstate
Packit Service 0535c1
        
Packit Service 0535c1
        state = libnmstate.show()
Packit Service 0535c1
        eth0_state = next(ifstate for ifstate in state['interfaces'] if ifstate['name'] == 'eth0')
Packit Service 0535c1
        
Packit Service 0535c1
        # take eth0 down
Packit Service 0535c1
        eth0_state['state'] = 'down'
Packit Service 0535c1
        libnmstate.apply(state)
Packit Service 0535c1
        ```
Packit Service 0535c1
        
Packit Service 0535c1
        ```shell
Packit Service 0535c1
        # open current state in a text editor, change and save to apply
Packit Service 0535c1
        nmstatectl edit eth3
Packit Service 0535c1
        ```
Packit Service 0535c1
        
Packit Service 0535c1
        ## Contact
Packit Service 0535c1
        
Packit Service 0535c1
        *Nmstate* uses the [nmstate-devel@lists.fedorahosted.org][mailing_list] for
Packit Service 0535c1
        discussions. To subscribe you can send an email with 'subscribe' in the subject
Packit Service 0535c1
        to <nmstate-devel-join@lists.fedorahosted.org> or visit the
Packit Service 0535c1
        [mailing list page][mailing_list].
Packit Service 0535c1
        
Packit Service 0535c1
        Development planning (sprints and progress reporting) happens in
Packit Service 0535c1
        ([Jira](https://nmstate.atlassian.net)). Access requires login.
Packit Service 0535c1
        
Packit Service 0535c1
        There is also `#nmstate` on
Packit Service 0535c1
        [Freenode IRC](https://freenode.net/kb/answer/chat).
Packit Service 0535c1
        
Packit Service 0535c1
        ## Contributing
Packit Service 0535c1
        
Packit Service 0535c1
        Yay! We are happy to accept new contributors to the Nmstate project. Please follow
Packit Service 0535c1
        these [instructions](CONTRIBUTING.md) to contribute.
Packit Service 0535c1
        
Packit Service 0535c1
        ## Installation
Packit Service 0535c1
        
Packit Service 0535c1
        For Fedora 29+, `sudo dnf install nmstate`.
Packit Service 0535c1
        
Packit Service 0535c1
        For others distribution, please see the [install](README.install.md)
Packit Service 0535c1
        instructions.
Packit Service 0535c1
        
Packit Service 0535c1
        ## Documentation
Packit Service 0535c1
        
Packit Service 0535c1
        * [libnmstate API](https://nmstate.github.io/devel/api.html)
Packit Service 0535c1
        * [Code examples](https://nmstate.github.io/devel/py_example.html)
Packit Service 0535c1
        * [State examples](https://nmstate.github.io/examples.html)
Packit Service 0535c1
        * [nmstatectl user guide](https://nmstate.github.io/cli_guide.html)
Packit Service 0535c1
        * nmstatectl man page: `man nmstatectl`
Packit Service 0535c1
        
Packit Service 0535c1
        ## Limitations
Packit Service 0535c1
        
Packit Service 0535c1
        Please refer to [jira page][jira_limitation] for details.
Packit Service 0535c1
        
Packit Service 0535c1
        * Maximum supported number of interfaces in a single desire state is 1000.
Packit Service 0535c1
        
Packit Service 0535c1
        ## Changelog
Packit Service 0535c1
        
Packit Service 0535c1
        Please refer to [CHANGELOG](CHANGELOG)
Packit Service 0535c1
        
Packit Service 0535c1
        
Packit Service 0535c1
        [jira_limitation]: https://nmstate.atlassian.net/issues/?filter=10003
Packit Service 0535c1
        [mailing_list]: https://lists.fedorahosted.org/admin/lists/nmstate-devel.lists.fedorahosted.org
Packit Service 0535c1
        
Packit Service 0535c1
Platform: UNKNOWN
Packit Service 0535c1
Description-Content-Type: text/markdown