atomvm/atomvm_packbeam
64.8
Adequate · 17 September 2026
1.2k
lines of production code
Erlang
primary language
1
measurement over time
What this system is
atomvm\_packbeam is a command-line tool and library for creating, listing, and manipulating AtomVM PackBeam files. It provides a dedicated API for managing these archives, including dependency pruning and entrypoint detection, while supporting installation via Homebrew. The system is designed to be used both as a standalone CLI utility and as an embeddable library.
Features
Added Homebrew installation script for packbeam
A new shell script, release/packbeam.in, has been added to support Homebrew installations. This script sets up the necessary environment by locating the root directory, configuring the PATH to include the specific Erlang Runtime System (ERTS) version, and executing the packbeam binary, ensuring the tool runs correctly in Homebrew-managed environments.
release · high confidence
Behavioural changes
Packbeam library split into dedicated API module
The packbeam functionality has been restructured to separate the core library logic from the escript entry point. A new \packbeam\_api\ module now provides the primary API for creating, listing, and manipulating AtomVM PackBeam files, while the original \packbeam\ module has been deprecated and now delegates to \packbeam\_api\ with warnings. This change improves maintainability and allows the library to be used independently of the command-line tool.
src · high confidence
Project rebranded to atomvm\_packbeam with comprehensive documentation and licensing updates
The project has been renamed from 'packbeam' to 'atomvm\_packbeam', including the escript main application and release configuration in rebar.config. The license has been updated from a custom BSD-style license to the Apache 2.0 / LGPL-2.1-or-later dual license, reflected in the LICENSE file and SPDX headers across all source files. A full suite of documentation files has been added, including CHANGELOG.md, CODE\_OF\_CONDUCT.md, CONTRIBUTING.md, SECURITY.md, and UPDATING.md, alongside an install.sh script to simplify user installation. The Makefile and rebar.config have been updated to use rebar3\_ex\_doc for documentation generation and to support new build profiles (test, doc, publish).
(repo-wide) · high confidence
Test coverage
Expanded test suite for packbeam API and CLI
Added comprehensive tests for the packbeam tool, including unit tests for the packbeam\_api module (covering simple creation, explicit start module selection, library mode, and combining AVMs) and integration tests for the packbeam CLI executable. The suite also introduces PropEr property-based tests to verify module handling and includes new test helper modules (a–g, x) and supervisor/worker stubs to validate dependency pruning and entrypoint detection logic.
test · high confidence
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
How this codebase got here
Baseline
- First survey — no prior run to compare against. CAI 65.
Lenses
- Code Health 98
- Architecture 69
- Maturity 59
- Readiness 68
- Security 67
Changes since last survey
- 129 commits — 109 feature/other, 20 fixes
By area
- (root) — 51 commits
- (repo) — 47 commits
- src/packbeam.erl — 11 commits
- .github/workflows — 10 commits
- src/packbeam.app.src — 4 commits
- src/packbeam_api.erl — 4 commits
- release/packbeam.in — 1 commit
- test/prune_sup — 1 commit
Notable commits
- fix: Added version sub-command and fixed line number flags.
- fix: Fix --lib option on the command line interface
- fix: Fix broken link in docs
- fix: Fix bug in packbeam create
- fix: Fix dialyzer add workflow
- fix: Fix link in CONTRIBUTING.md
- fix: Fix prune of callback modules from AVM libs
- fix: Fix publish_docs workflow
- fix: Fix redundant link
- fix: Fix some small bugs in install.sh
- fix: Fix workflow for OTP 25
- fix: Fixed a bug in previous commit with term traversal.
- fix: Fixed a bug in pulling in dependent BEAM files based on the atoms table -- we need to string the index out of the atoms chunk.
- fix: Fixes a bug that prevented packbeam files that include priv files from being properly loaded.
- fix: Fixes the installation
- fix: Hotfix for installation with Homebrew
- fix: Merge pull request #50 from pguyot/w49/fix-lib-option
- fix: Merge pull request #53 from UncleGrumpy/doc-fix
- fix: Merge pull request #60 from petermm/fix-prune-callbacks
- fix: Merge pull request #9 from atomvm/fix-installer
- …and 109 more
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
Survey your own repository
atomvm/atomvm_packbeam was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.
About this page
- The score is its most recent published measurement, taken on 17 September 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
- Measured at commit ee5527b35c1cde9bf701f5edc6e62cd93101f38c — the exact code this score is about.
- Scored under rubric-2026.09.12 — the same rubric and the same method as every other entry in this index.
- Measured by watchdog.canine.dev using codehealth-analyzer preprod-f94092f054c1.