{"id":13647746,"url":"https://github.com/nmstate/nmstate","last_synced_at":"2025-05-16T01:07:40.393Z","repository":{"id":37502566,"uuid":"132556280","full_name":"nmstate/nmstate","owner":"nmstate","description":"Nmstate is a library with an accompanying command line tool that manages host networking settings in a declarative manner.","archived":false,"fork":false,"pushed_at":"2025-05-07T12:43:52.000Z","size":7032,"stargazers_count":325,"open_issues_count":89,"forks_count":105,"subscribers_count":8,"default_branch":"base","last_synced_at":"2025-05-07T13:45:34.263Z","etag":null,"topics":["hacktoberfest","linux","networking","rust-lang"],"latest_commit_sha":null,"homepage":"https://nmstate.io","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nmstate.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2018-05-08T05:02:22.000Z","updated_at":"2025-05-07T12:43:56.000Z","dependencies_parsed_at":"2022-07-13T09:20:30.906Z","dependency_job_id":"fae6e5ff-7e4e-436c-9c03-9bb8143eee98","html_url":"https://github.com/nmstate/nmstate","commit_stats":{"total_commits":1987,"total_committers":35,"mean_commits":56.77142857142857,"dds":0.5832913940613991,"last_synced_commit":"85b682e9cf80353d8488dd7f3487dbd47d98aaab"},"previous_names":[],"tags_count":102,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nmstate%2Fnmstate","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nmstate%2Fnmstate/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nmstate%2Fnmstate/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nmstate%2Fnmstate/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nmstate","download_url":"https://codeload.github.com/nmstate/nmstate/tar.gz/refs/heads/base","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254448579,"owners_count":22072764,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["hacktoberfest","linux","networking","rust-lang"],"created_at":"2024-08-02T01:03:45.311Z","updated_at":"2025-05-16T01:07:35.379Z","avatar_url":"https://github.com/nmstate.png","language":"Rust","funding_links":[],"categories":["Rust"],"sub_categories":[],"readme":"# Nmstate: A Declarative Network API\n\n\u003cimg src=\"logo/fullcolor.png\" alias=\"project logo\" /\u003e\n\nA declarative network management API for hosts.\n\n[![CI](https://github.com/nmstate/nmstate/workflows/CI/badge.svg?branch=base)](https://github.com/nmstate/nmstate/actions?query=workflow%3ACI+branch%3Abase)\n[![crates.io](https://img.shields.io/crates/v/nmstate.svg)](https://crates.io/crates/nmstate)\n[![docs.rs](https://img.shields.io/docsrs/nmstate)](https://docs.rs/nmstate)\n[![Fedora Rawhide version](https://img.shields.io/badge/dynamic/json.svg?label=Fedora%20Rawhide\u0026url=https%3A%2F%2Fapps.fedoraproject.org%2Fmdapi%2Frawhide%2Fpkg%2Fnmstate\u0026query=%24.version\u0026colorB=blue)](https://src.fedoraproject.org/rpms/nmstate)\n\nCopr build status, all repos are built for Fedora Linux and RHEL/CentOS Stream/EPEL 8+:\n\n* 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/)\n* Git base: [![Git base 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/)\n\nNmstate is a library with an accompanying command line tool that manages\nhost networking settings in a declarative manner.\nThe networking state is described by a pre-defined schema.\nReporting of current state and changes to it (desired state) both conform to\nthe schema.\n\nNmstate is aimed to satisfy enterprise needs to manage host networking through\na northbound declarative API and multi provider support on the southbound.\nNetworkManager acts as the main (and currently the only) provider supported.\n\nNmstate provides:\n * Rust crate -- [nmstate](https://crates.io/crates/nmstate)\n * Command line tools -- `cargo install nmstatectl`\n * Python library -- `libnmstate`\n * Go binding\n * C binding\n\nMore document could be found at [nmstate.io](https://nmstate.io)\n\nThe codes of nmstate are licensed under [Apache 2.0][apache_2_0_license_url]\nexcept the test codes in `tests` folder are licensed under\n[LGPL 2.1+][lgpl_2_1_license_url]\n\n## State example:\n\nDesired/Current state example (YAML):\n```yaml\n---\ndns:\n  config:\n    server:\n      - 192.0.2.1\n    search:\n      - example.org\nroutes:\n  config:\n    - destination: 0.0.0.0/0\n      next-hop-interface: eth1\n      next-hop-address: 192.0.2.1\ninterfaces:\n  - name: eth1\n    type: ethernet\n    description: Main-NIC\n    state: up\n    ipv4:\n      enabled: true\n      dhcp: false\n      address:\n        - ip: 192.0.2.9\n          prefix-length: 24\n    ipv6:\n      enabled: false\n```\n\n## Contact\n\n*Nmstate* [GitHub Issues pages][github_issue_url] for discussion.\n\nMatrix room: [`#nmstate:fedora.im`][matrix_room_url]\n\n## Contributing\n\nYay! We are happy to accept new contributors to the Nmstate project. Please\nfollow these [instructions](CONTRIBUTING.md) to contribute.\n\n## Installation\n\nFor Fedora 29+, `sudo dnf install nmstate`.\n\nFor other distribution, please see the [install guide](https://nmstate.io/user/install.html).\n\n## Documentation\n\n* [Rust crate](https://docs.rs/nmstate/latest/nmstate/index.html)\n* [libnmstate API](https://nmstate.github.io/devel/api.html)\n* [Code examples](https://nmstate.github.io/devel/py_example.html)\n* [State examples](https://nmstate.github.io/examples.html)\n* [nmstatectl user guide](https://nmstate.github.io/cli_guide.html)\n* nmstatectl man page: `man nmstatectl`\n\n## Changelog\n\nPlease refer to [CHANGELOG](CHANGELOG)\n\n[mailing_list]: https://lists.fedorahosted.org/admin/lists/nmstate-devel.lists.fedorahosted.org\n[github_issue_url]: https://github.com/nmstate/nmstate/issues\n[apache_2_0_license_url]: https://www.apache.org/licenses/LICENSE-2.0\n[lgpl_2_1_license_url]: https://www.gnu.org/licenses/old-licenses/lgpl-2.1.html\n[matrix_room_url]: https://matrix.to/#/#nmstate:fedora.im\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnmstate%2Fnmstate","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnmstate%2Fnmstate","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnmstate%2Fnmstate/lists"}