Watch
1
0
Fork
You've already forked ifstate
0
  • Python 91.7%
  • Nix 4.6%
  • Shell 3.6%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-09-02 21:50:56 +02:00
.forgejo/workflows ifstate: bump minimum supported python version to 3.11 2026-09-02 21:50:56 +02:00
docs ifstate: bump minimum supported python version to 3.11 2026-09-02 21:50:56 +02:00
ex openrc: add machine-id dependency (related to #189) 2026-06-09 23:15:15 +02:00
package ifstate: add optional shell completion support 2026-08-31 18:11:24 +02:00
schema/2 link: make default mac address for macsec interfaces configurable 2026-09-01 21:32:45 +02:00
scripts ifstate: add optional shell completion support 2026-08-31 18:11:24 +02:00
src ifstate: update changelog & bump version 2026-09-02 21:40:02 +02:00
.envrc nix: add devshell 2025-08-13 16:02:06 +02:00
.gitignore tooling: ignore MacOS finder files 2026-06-25 13:35:29 +02:00
.pre-commit-config.yaml tooling: add shellcheck for hook scripts 2026-06-28 12:41:51 +02:00
CHANGELOG.md ifstate: bump minimum supported python version to 3.11 2026-09-02 21:50:56 +02:00
flake.lock flake.lock: Update (25.11) 2026-01-13 20:47:00 +01:00
flake.nix flake.lock: Update (25.11) 2026-01-13 20:47:00 +01:00
LICENSE Initial commit 2020-05-21 23:41:08 +02:00
mkdocs.yaml fix mkdocs workflow 2026-06-26 12:32:33 +02:00
module.nix ifstate: update repository URL 2026-02-05 23:25:03 +01:00
package.nix fix mkdocs workflow 2026-06-26 12:32:33 +02:00
pyproject.toml ifstate: bump minimum supported python version to 3.11 2026-09-02 21:50:56 +02:00
pytest.ini testing: add pytest support 2026-06-26 12:32:33 +02:00
README.md Update ifstate description. 2023-10-29 21:17:04 +01:00
shell.nix nix: add mkdocs-macros-plugin to docs package and devshell 2026-01-13 20:49:29 +01:00
sync-dev.sh logging: avoid duplicate logging in systemd, refactor/simplify socket detection 2026-06-26 12:32:33 +02:00
uv.lock ifstate: bump minimum supported python version to 3.11 2026-09-02 21:50:56 +02:00

IfState

PyPI version

A python tool to configure (linux) host interfaces in a declarative manner. It is a frontend for the kernel netlink protocol using pyroute2 and aims to be as powerful as the iproute2/bridge/ethtool/tc/wireguard commands.

It was written for interface configuration on lightweight software defined linux routers without using any additional network management daemon like Network-Manager or systemd-networkd.

Can be used with deployment and automation tools like ansible since it's declarative and operates idempotent.

More...