# `NBPR.Package`
[🔗](https://github.com/jimsynz/nbpr/blob/v0.2.0/lib/nbpr/package.ex#L1)

Metadata struct describing an NBPR package.

Returned by the generated `__nbpr_package__/0` callback on every module that
does `use NBPR.BrPackage`. The struct is the canonical introspection surface
for the curated CI, the build runner, and any future tooling.

# `artifact_site`

```elixir
@type artifact_site() :: {:github_releases, String.t()} | {:ghcr, String.t()}
```

# `t`

```elixir
@type t() :: %NBPR.Package{
  artifact_sites: [artifact_site()],
  br_external_path: String.t() | nil,
  br_package: String.t() | nil,
  build_opt_extensions: %{required(atom()) =&gt; map()},
  build_opts: keyword(),
  daemons: [NBPR.Package.Daemon.t()],
  description: String.t(),
  homepage: String.t() | nil,
  kernel_modules: [String.t()],
  module: module(),
  name: atom(),
  version: pos_integer()
}
```

---

*Consult [api-reference.md](api-reference.md) for complete listing*
