bender
brew install bender
v0.32.0
Apache-2.0 OR MIT
Dependency management tool for hardware projects
43
30-day installs · #4992
64
90-day · #6670
267
365-day · #6630
378
★ GitHub stars · updated 2mo ago
Build dependencies
Links
- https://github.com/pulp-platform/bender
- GitHub: pulp-platform/bender
- Brew formula source: Formula/b/bender.rb
Raw metadata
{
"aliases": [],
"alternatives": [],
"build_dependencies": [
"cmake",
"rust"
],
"categories": [],
"caveats": null,
"conflicts_with": [],
"dependencies": [],
"deprecated": 0,
"deprecation_reason": null,
"desc": "Dependency management tool for hardware projects",
"disable_reason": null,
"disabled": 0,
"enrichment_fetched_at": "2026-06-20T23:35:50+00:00",
"first_seen": "2026-06-20T23:34:18+00:00",
"full_name": "bender",
"github_default_branch": "master",
"github_last_commit_at": "2026-06-19T11:17:17Z",
"github_readme_excerpt": "# Bender\n\n**A dependency management tool for hardware design projects.**\n\nBender manages HDL package dependencies across Git repositories and local paths, resolves compatible versions, records the exact result in `Bender.lock`, and collects ordered source sets for downstream tools. It is designed to fit existing hardware flows rather than impose a registry, directory layout, or simulator choice.\n\n\n[](https://crates.io/crates/bender)\n[](#license)\n\n## Why Bender\n\n- **Reproducible dependency resolution:** Resolve IP dependencies from Git tags, revisions, or local paths and record the exact state in `Bender.lock`.\n- **HDL-aware source collection:** Keep source ordering, include directories, defines, and target-specific file groups in one place.\n- **Tool-agnostic workflow:** Generate inputs for QuestaSim, VCS, Vivado, Verilator, and other flows without forcing a particular setup.\n- **Practical local development:** Work on dependencies locally and modify them conveniently as part of your development flow.\n\n## Quick Start\n\nInstall Bender:\n\n```sh\ncurl --proto \u0027=https\u0027 --tlsv1.2 https://pulp-platform.github.io/bender/init -sSf | sh\n```\n\nCreate a package:\n\n```sh\nmkdir my_ip\ncd my_ip\nbender init\n```\n\nAdd a dependency to `Bender.yml`:\n\n```yaml\ndependencies:\n common_cells: { git: \"https://github.com/pulp-platform/common_cells.git\", version: \"1.21.0\" }\n```\n\nResolve dependencies and generate a compile script:\n\n```sh\nbender update\nbender script vsim \u003e compile.tcl\nvsim -do compile.tcl\n```\n\n## How It Works\n\nBender packages are built around three files:\n\n- `Bender.yml`: Declares package metadata, dependencies, sources, targets, and workflow configuration.\n- `Bender.lock`: Records the exact resolved dependency revisions for reproducible builds.\n- `Bender.local`: Stores local overrides, for e",
"github_repo": "pulp-platform/bender",
"github_stars": 378,
"github_topics": [],
"homepage": "https://github.com/pulp-platform/bender",
"homepage_og_description": null,
"homepage_og_image": null,
"homepage_title": null,
"installs_30d": 43,
"installs_365d": 267,
"installs_90d": 64,
"keg_only": 0,
"keg_only_reason": null,
"last_seen": "2026-06-20T23:34:18+00:00",
"license": "Apache-2.0 OR MIT",
"llm_generated_at": null,
"llm_model": null,
"name": "bender",
"oldnames": [],
"one_liner": null,
"optional_dependencies": [],
"rank_30d": 4992,
"rank_365d": 6630,
"rank_90d": 6670,
"raw_hash": "8a9577136bb4dbdf",
"recommended_dependencies": [],
"revision": 0,
"ruby_source_path": "Formula/b/bender.rb",
"tap": "homebrew/core",
"test_dependencies": [],
"uses_from_macos": [],
"version_head": "HEAD",
"version_stable": "0.32.0",
"versioned_formulae": [],
"why_use_this": null
}