SnakeBridge.Docs.Manifest (SnakeBridge v0.16.0)

Copy Markdown View Source

Loads a docs-derived public surface manifest for a SnakeBridge library.

A manifest is a JSON file that encodes which Python modules/objects should be treated as the "public surface" for wrapper generation. This enables:

  • small, stable default bindings (e.g. :summary)
  • an opt-in "everything the docs publish" surface (e.g. :full)
  • deterministic builds without walking large Python package trees

Summary

Types

object_entry()

@type object_entry() :: %{name: String.t(), kind: object_kind()}

object_kind()

@type object_kind() :: :class | :function | :data | :unknown

profile()

@type profile() :: %{modules: [String.t()], objects: [object_entry()]}

Functions

load_profile(library)

@spec load_profile(SnakeBridge.Config.Library.t()) ::
  {:ok, profile()} | {:error, term()}