Julia API
The public Julia surface is intentionally small. Most users either run the app/server or call a few snapshot/query helpers directly from Julia.
Main Entry Points
DependencyAtlas.serve(...)Starts the HTTP server with environment-aware defaults.DependencyAtlas.start_server(...)Lower-level server entrypoint when you want to pass an existing store.DependencyAtlas.build_base_graph(project_root, files; default_module_override=nothing)Builds the base graph from Julia source plus later call/overload annotation, returningnodes,edges,diagnostics, and canonicalproject_modules.DependencyAtlas.query_graph(snapshot; ...)Returns one projected graph view with filters, pagination, andnode_appearance.DependencyAtlas.query_reachability(snapshot; ...)Returns a bounded subgraph from a seed node.
Store and Task Helpers
DependencyAtlas.default_store(...)DependencyAtlas.default_store_root()DependencyAtlas.default_cache_root()DependencyAtlas.start_analysis_task!(...)DependencyAtlas.get_task(...)DependencyAtlas.get_snapshot(...)
These are useful when embedding the backend in scripts or custom tooling.
default_store_root() and default_cache_root() follow platform-specific BaseDirs locations; explicit root=..., --store, and DEPATLAS_STORE still override the store path when needed.
Stability Notes
Stable enough to treat as product surface:
- HTTP server entrypoints
- task/snapshot lookup helpers
query_graphquery_reachability
More implementation-oriented:
- internal
DepAtlasSourcelowering structures - engine-specific integration helpers
- internal query selection/cache structs
The stable seam is the lowering-to-graph boundary rather than any parser-specific event container type.