{"adoption": {"forks": 718, "observed_at": "2026-08-28T04:08:40.466059+00:00", "stars": 4253}, "canonical_url": "https://ross.abutalabs.com/products/pipework", "card": {"archived": false, "artifact_type": "cli-tool", "description": "Software-Defined Networking tools for LXC (LinuX Containers)", "domain": ["networking"], "enriched": true, "function": ["networking", "developer-tools", "cli"], "health_score": 20, "homepage": null, "language": "Shell", "license": "Apache-2.0", "license_family": "permissive", "maturity": "abandoned", "member_repos": ["jpetazzo/pipework"], "name": "jpetazzo/pipework", "platform": ["cli"], "pushed_at": "2024-11-04T17:31:57+00:00", "repo": "jpetazzo/pipework", "stars": 4253, "tags": ["sdn", "lxc", "docker-networking", "shell", "veth", "openvswitch", "vlan", "macvlan", "dhcp", "containers", "devops", "linux", "docker"], "topics": [], "urls": [], "use_cases": ["connect docker containers to a custom bridge network", "assign a static ip address to a container", "put containers on a vlan", "connect a container to a physical network interface", "create complex network topologies between lxc containers", "use open vswitch with docker containers", "configure macvlan networking for containers"], "what_it_is": "Pipework is a shell-based Software-Defined Networking tool for connecting Linux containers (LXC and Docker) into arbitrary network topologies using veth pairs, bridges, VLANs, macvlan, and Open vSwitch. It was written in the early days of Docker and is explicitly no longer maintained.", "when_to_avoid": ["starting any new project - it is unmaintained and will break with modern Docker networking", "you need supported container networking - use Docker's native networking, CNI, or Cilium/Calico instead", "you need security fixes or compatibility with recent kernel/Docker changes"], "when_to_choose": ["you maintain legacy Docker/LXC setups from the pre-2020 era that already use pipework", "you need a quick shell script to plumb containers into unusual topologies on old kernels", "you're studying how container networking plumbing works"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/pipework", "repo": "jpetazzo/pipework", "role": "main", "score": 32}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:08:40.466059+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T18:22:10.159498+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e41c903752c26d9c430e234335ea3d42d1441a718903007085528006b57f2318", "fetched_at": "2026-08-28T04:08:40.466059+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jpetazzo/pipework"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:08:40.466059+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T18:22:10.159498+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e41c903752c26d9c430e234335ea3d42d1441a718903007085528006b57f2318", "fetched_at": "2026-08-28T04:08:40.466059+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jpetazzo/pipework"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T18:22:10.159498+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e41c903752c26d9c430e234335ea3d42d1441a718903007085528006b57f2318", "fetched_at": "2026-08-28T04:08:40.466059+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jpetazzo/pipework"}], "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:08:40.466059+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:08:40.466059+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:08:40.466059+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T18:22:10.159498+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e41c903752c26d9c430e234335ea3d42d1441a718903007085528006b57f2318", "fetched_at": "2026-08-28T04:08:40.466059+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jpetazzo/pipework"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:08:40.466059+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:08:40.466059+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T18:22:10.159498+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e41c903752c26d9c430e234335ea3d42d1441a718903007085528006b57f2318", "fetched_at": "2026-08-28T04:08:40.466059+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jpetazzo/pipework"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:08:40.466059+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:08:40.466059+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:08:40.466059+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T18:22:10.159498+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e41c903752c26d9c430e234335ea3d42d1441a718903007085528006b57f2318", "fetched_at": "2026-08-28T04:08:40.466059+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jpetazzo/pipework"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:08:40.466059+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:08:40.466059+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T18:22:10.159498+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e41c903752c26d9c430e234335ea3d42d1441a718903007085528006b57f2318", "fetched_at": "2026-08-28T04:08:40.466059+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jpetazzo/pipework"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T18:22:10.159498+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e41c903752c26d9c430e234335ea3d42d1441a718903007085528006b57f2318", "fetched_at": "2026-08-28T04:08:40.466059+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jpetazzo/pipework"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T18:22:10.159498+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e41c903752c26d9c430e234335ea3d42d1441a718903007085528006b57f2318", "fetched_at": "2026-08-28T04:08:40.466059+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jpetazzo/pipework"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T18:22:10.159498+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e41c903752c26d9c430e234335ea3d42d1441a718903007085528006b57f2318", "fetched_at": "2026-08-28T04:08:40.466059+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jpetazzo/pipework"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "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": 4829, "days_push": 667, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 32, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}