{"adoption": {"forks": 181, "observed_at": "2026-08-28T04:04:29.152643+00:00", "stars": 1354}, "canonical_url": "https://ross.abutalabs.com/products/nftables", "card": {"archived": false, "artifact_type": "library", "description": "This repository contains a Go module to interact with Linux nftables (the iptables successor).", "domain": ["networking", "security", "operating-systems", "developer-tools"], "enriched": true, "function": ["security", "networking", "configuration-management"], "health_score": 74, "homepage": null, "language": "Go", "license": "Apache-2.0", "license_family": "permissive", "maturity": "active", "member_repos": ["google/nftables"], "name": "google/nftables", "platform": ["go"], "pushed_at": "2026-07-03T07:16:10+00:00", "repo": "google/nftables", "stars": 1354, "tags": ["nftables", "firewall", "netlink", "iptables-successor", "pure-go", "linux"], "topics": ["go", "golang", "linux", "nftables"], "urls": [], "use_cases": ["manage nftables firewall rules from a Go program", "programmatically install packet filtering rules on Linux", "replace shelling out to the nft CLI with a native Go API", "build a network policy agent that configures nftables", "dynamically add and remove firewall rules at runtime"], "what_it_is": "A pure Go library for programmatically interacting with Linux nftables, the iptables successor, without wrapping libnftnl. It provides data types and functions to install and manage nftables rules via the kernel's netlink interface.", "when_to_avoid": ["you need full nftables feature coverage - the library only supports basic rules", "you need a stable, mature API - the package is in early stages with likely breaking changes", "you are not working on Linux"], "when_to_choose": ["you need to manipulate nftables from Go without external dependencies like libnftnl or the nft binary", "you are building a daemon or controller that manages Linux firewall rules programmatically"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/nftables", "repo": "google/nftables", "role": "main", "score": 73}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:29.152643+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T04:42:01.548072+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "65ca42dfaf6f6c6c5997b4dce5b59df1a99649edaf4cde3011fe9069be8f7e43", "fetched_at": "2026-08-28T04:04:29.152643+00:00", "kind": "readme", "missing": false, "url": "https://github.com/google/nftables"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:29.152643+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T04:42:01.548072+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "65ca42dfaf6f6c6c5997b4dce5b59df1a99649edaf4cde3011fe9069be8f7e43", "fetched_at": "2026-08-28T04:04:29.152643+00:00", "kind": "readme", "missing": false, "url": "https://github.com/google/nftables"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T04:42:01.548072+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "65ca42dfaf6f6c6c5997b4dce5b59df1a99649edaf4cde3011fe9069be8f7e43", "fetched_at": "2026-08-28T04:04:29.152643+00:00", "kind": "readme", "missing": false, "url": "https://github.com/google/nftables"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:04:29.152643+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:29.152643+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:29.152643+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T04:42:01.548072+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "65ca42dfaf6f6c6c5997b4dce5b59df1a99649edaf4cde3011fe9069be8f7e43", "fetched_at": "2026-08-28T04:04:29.152643+00:00", "kind": "readme", "missing": false, "url": "https://github.com/google/nftables"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:29.152643+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:29.152643+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T04:42:01.548072+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "65ca42dfaf6f6c6c5997b4dce5b59df1a99649edaf4cde3011fe9069be8f7e43", "fetched_at": "2026-08-28T04:04:29.152643+00:00", "kind": "readme", "missing": false, "url": "https://github.com/google/nftables"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:29.152643+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:29.152643+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:29.152643+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T04:42:01.548072+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "65ca42dfaf6f6c6c5997b4dce5b59df1a99649edaf4cde3011fe9069be8f7e43", "fetched_at": "2026-08-28T04:04:29.152643+00:00", "kind": "readme", "missing": false, "url": "https://github.com/google/nftables"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:29.152643+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:29.152643+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T04:42:01.548072+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "65ca42dfaf6f6c6c5997b4dce5b59df1a99649edaf4cde3011fe9069be8f7e43", "fetched_at": "2026-08-28T04:04:29.152643+00:00", "kind": "readme", "missing": false, "url": "https://github.com/google/nftables"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T04:42:01.548072+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "65ca42dfaf6f6c6c5997b4dce5b59df1a99649edaf4cde3011fe9069be8f7e43", "fetched_at": "2026-08-28T04:04:29.152643+00:00", "kind": "readme", "missing": false, "url": "https://github.com/google/nftables"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T04:42:01.548072+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "65ca42dfaf6f6c6c5997b4dce5b59df1a99649edaf4cde3011fe9069be8f7e43", "fetched_at": "2026-08-28T04:04:29.152643+00:00", "kind": "readme", "missing": false, "url": "https://github.com/google/nftables"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T04:42:01.548072+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "65ca42dfaf6f6c6c5997b4dce5b59df1a99649edaf4cde3011fe9069be8f7e43", "fetched_at": "2026-08-28T04:04:29.152643+00:00", "kind": "readme", "missing": false, "url": "https://github.com/google/nftables"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 90, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": ["no_releases"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3011, "days_push": 61, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 73, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}