metastatic @ 0.20.0 View on hex.pm View source on GitHub
Cross-language code analysis library using unified MetaAST representation. Build mutation operators, purity analyzers, and complexity metrics once in Elixir and apply them across Python, JavaScript, Elixir, Ruby, Go, Rust, and more.
All systems passing
Dependencies & versions
Beam scanner — runtime capability snapshot
Beam scanner
Runtime capability snapshot
Static scan of the compiled release after mix firmware.
NIF usage
Not detected
Native code or C bindings
Shell/OS exec
Detected
Elixir.Metastatic.Adapters.Haskell.Subprocess Elixir.System:cmd/3
Elixir.Metastatic.Adapters.Python.Subprocess Elixir.System:cmd/2
Elixir.Metastatic.Adapters.Ruby.Subprocess Elixir.System:cmd/2
Shell helpers
Not detected
Shell commands via System/os
App config reads
Detected
Elixir.Metastatic.Analysis.Registry Elixir.Application:get_env/3
Elixir.Metastatic.Supplemental.Registry Elixir.Application:get_env/3
OS env reads
Not detected
Environment variable access
Start callback
Detected
Start modules: Elixir.Metastatic.Application
Halt calls
Not detected
Explicit halt/stop calls
Dependency scans — transitive + OTP apps
Dependency scans
Transitive + OTP apps
Static scan of every app in the built release (including OTP libs).
| App | File Count | Size | Languages | NIF | OS exec | Shell | App env | OS env | Start callback |
|---|---|---|---|---|---|---|---|---|---|
| asn1@5.4.3 | 25 | 638.4 KB | erlang | Yes | No | No | No | No | No |
| circular_buffer@1.0.0 | 5 | 7.1 KB | elixir | No | No | No | No | No | No |
| compiler@9.0.6 | 62 | 1.1 MB | erlang | No | No | No | No | Yes | No |
| crypto@5.8.3 | 7 | 641.7 KB | erlang | Yes | No | No | Yes | No | No |
| elixir@1.19.4 | 273 | 2.6 MB | elixir, erlang | No | Yes | No | Yes | Yes | Yes |
| ex_panda@0.2.0 | 5 | 23.1 KB | elixir | No | No | No | No | No | No |
| iex@1.19.4 | 32 | 169.6 KB | elixir | No | Yes | Yes | Yes | Yes | Yes |
| inets@9.6.2 | 65 | 325.2 KB | erlang | No | Yes | No | Yes | No | Yes |
| jason@1.4.4 | 28 | 134.5 KB | elixir | No | No | No | No | No | No |
| kernel@10.6.2 | 105 | 1.0 MB | erlang | Yes | Yes | Yes | Yes | Yes | Yes |
| logger@1.19.4 | 12 | 71.0 KB | elixir | No | No | No | Yes | No | Yes |
| metastatic@0.20.0 | 156 | 1.0 MB | elixir | No | Yes | No | Yes | No | Yes |
| nerves_compatibility_test@0.1.0 | 3 | 2.3 KB | elixir | No | No | No | No | No | Yes |
| nerves_logging@0.2.4 | 7 | 24.4 KB | elixir | No | Yes | No | No | No | No |
| nerves_runtime@0.13.12 | 16 | 54.2 KB | elixir | No | Yes | No | Yes | No | Yes |
| nerves_uevent@0.1.3 | 5 | 63.1 KB | elixir | No | Yes | No | Yes | No | Yes |
| property_table@0.3.3 | 9 | 34.2 KB | elixir | No | No | No | No | No | No |
| public_key@1.20.3 | 42 | 1.3 MB | erlang | Yes | Yes | No | Yes | No | No |
| ring_logger@0.11.5 | 8 | 54.6 KB | elixir | No | No | No | Yes | No | No |
| runtime_tools@2.3.1 | 17 | 209.4 KB | erlang | Yes | Yes | Yes | Yes | Yes | Yes |
| sasl@4.3.2 | 19 | 167.8 KB | erlang | No | Yes | No | Yes | Yes | Yes |
| shoehorn@0.9.3 | 9 | 19.2 KB | elixir | No | No | No | Yes | No | Yes |
| ssl@11.5.4 | 80 | 723.9 KB | erlang | No | No | No | Yes | No | Yes |
| stdlib@7.3 | 98 | 2.4 MB | erlang | Yes | Yes | No | Yes | Yes | No |
| toolshed@0.4.2 | 10 | 59.0 KB | elixir | No | Yes | No | Yes | No | No |
| uboot_env@1.0.2 | 6 | 11.8 KB | elixir | No | No | No | No | No | No |
System compatibility — detailed table
System Compatibility
| System | Status | Version Tested | Footprint (this system) | Log |
|---|---|---|---|---|
host (Elixir 1.19.4 / Erlang 28)
|
pass |
metastatic@0.20.0
|
N/A (host compile) | View log |
nerves_system_mangopi_mq_pro@0.15.3
|
pass |
metastatic@0.20.0
|
156 files, 1.0 MB
Firmware: 23.9 MB
|
View log |
nerves_system_rpi4@2.0.2
|
pass |
metastatic@0.20.0
|
156 files, 1.0 MB
Firmware: 39.7 MB
|
View log |
nerves_system_x86_64@1.33.3
|
pass |
metastatic@0.20.0
|
156 files, 1.0 MB
Firmware: 27.6 MB
|
View log |
⚠️ Important: A "passing" status means that the package compiled successfully with Nerves for this system. It does not guarantee that the package will work correctly at runtime or that all features are compatible with Nerves.
The compatibility test only verifies that:
- The package and its dependencies can be fetched from Hex.pm
- All dependencies are from Hex (no git or path dependencies)
- The firmware can be built successfully
If you believe a status is incorrect or have additional compatibility information, please create an issue.