Developer Tools

vdepaudit

Checks the dependency manifest against what the code really imports.

Released v1.0.0 · 2026-09-28
Import
use "stdlib/depaudit.ven"

Checks whether the written record of what a project imports still matches what the code actually imports, catching an import that was added or removed without the record being updated. It compares the two lists and reports any mismatch by name, rather than certifying the dependencies themselves as safe.

vdepaudit.ven
print is_import_prefix_char("_")
Reference (12 functions)

API reference

is_import_prefix_char(ch)

is_import_prefix_char("_")

leading_identifier(text)

Reads the longest leading run of dotted-module-name characters out of text.

leading_identifier("os.path, sys")

top_level_name(dotted)

Gives back the first, top-level segment of a dotted module name.

top_level_name("os.path")

imported_module_of_line(line)

Gives back the top-level module a single source line imports, or nothing.

imported_module_of_line("from os.path import join")

scan_file_imports(path)

Reads path and gives back every top-level module it imports, in file order.

scan_file_imports("src/app.ven")

scan_directory_imports(root_dir)

Gives back every top-level module imported anywhere under root_dir.

scan_directory_imports("src")

unique_sorted(names)

Sorts names and collapses every run of equal, adjacent entries into one.

unique_sorted(["b", "a", "b", "c", "a"])

external_dependencies(root_dirs, internal_names)

Scans root_dirs for real external dependencies, excluding this project's own packages.

external_dependencies(["src"], ["core", "lib"])

word_occurs_in(word, text)

Tests whether word occurs in text as a whole word.

word_occurs_in("os", "This osprey flies.")

undocumented_dependencies(external_names, manifest_text)

Filters external_names down to the ones missing from manifest_text.

undocumented_dependencies(["os", "totallymadeupmodule123"], "This depends on os only.")

audit_dependencies(root_dirs, internal_names, manifest_path)

Runs the full dependency-versus-manifest audit and gives back its findings.

audit_dependencies(["src"], ["core", "lib"], "docs/deps.txt")

format_audit_report(result)

Renders one audit_dependencies result as a human-readable, multi-line report.

format_audit_report(audit_dependencies(["cli"], ["cli", "core", "lib"], "docs/deps.txt"))

Get notified when vdepaudit changes

Get notified about

New versions and security advisories.

New and updated packages, once a day.

News on the math model built in Venutian.