Skip to main content

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, returning nodes, edges, diagnostics, and canonical project_modules.
  • DependencyAtlas.query_graph(snapshot; ...) Returns one projected graph view with filters, pagination, and node_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_graph
  • query_reachability

More implementation-oriented:

  • internal DepAtlasSource lowering 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.