typesafe-daggerverse
This module has been generated via dagger init and serves as a reference tobasic module structure as you get started with Dagger.
Two functions have been pre-created. You can modify, delete, or add to them,
as needed. They demonstrate usage of arguments and return types using simple
echo and grep commands. The functions can be called from the dagger CLI or
from one of the SDKs.
The first line in this comment block is a short description line and the
rest is a long description with more detail on the module's purpose or usage,
if appropriate. All modules should have a short description.
Installation
dagger install github.com/typesafe-ai/daggerverse@cdae40b51572dd24ab29dbfc75bdc4960e804e48Entrypoint
Return Type
TypesafeDaggerverse !Arguments
| Name | Type | Default Value | Description |
|---|---|---|---|
| source | Directory | - | Daggerverse repo root |
Example
dagger -m github.com/typesafe-ai/daggerverse@cdae40b51572dd24ab29dbfc75bdc4960e804e48 call \
func (m *MyModule) Example() *dagger.TypesafeDaggerverse {
return dag.
TypesafeDaggerverse()
}@function
def example() -> dagger.TypesafeDaggerverse:
return (
dag.typesafe_daggerverse()
)@func()
example(): TypesafeDaggerverse {
return dag
.typesafeDaggerverse()
}Types
TypesafeDaggerverse 🔗
CI checks for modules published from this repo.
source() 🔗
Daggerverse repo root
Return Type
Directory ! Example
dagger -m github.com/typesafe-ai/daggerverse@cdae40b51572dd24ab29dbfc75bdc4960e804e48 call \
sourcefunc (m *MyModule) Example() *dagger.Directory {
return dag.
TypesafeDaggerverse().
Source()
}@function
def example() -> dagger.Directory:
return (
dag.typesafe_daggerverse()
.source()
)@func()
example(): Directory {
return dag
.typesafeDaggerverse()
.source()
}uvWorkspaceBuildFullWorkspace() 🔗
Build the full uv-workspace (no package filter) and verify every local package imports.
Return Type
String ! Example
dagger -m github.com/typesafe-ai/daggerverse@cdae40b51572dd24ab29dbfc75bdc4960e804e48 call \
uv-workspace-build-full-workspacefunc (m *MyModule) Example(ctx context.Context) string {
return dag.
TypesafeDaggerverse().
UvWorkspaceBuildFullWorkspace(ctx)
}@function
async def example() -> str:
return await (
dag.typesafe_daggerverse()
.uv_workspace_build_full_workspace()
)@func()
async example(): Promise<string> {
return dag
.typesafeDaggerverse()
.uvWorkspaceBuildFullWorkspace()
}uvWorkspaceBuildSelf() 🔗
Build uv-workspace from its own source on a fresh tree.
Dogfood: uv-workspace is itself a Dagger module — its pyproject pins
dagger-io = { path = "sdk" } and /sdk is gitignored (Dagger
code-generates it at module load time). UvWorkspace.build() detects
the dagger.json and runs codegen so the SDK is materialized before
uv sync. This check verifies the codegen path works end-to-end:
without it, the build would fail with stat sdk/pyproject.toml: no
such file, and even with the source merged, import uv_workspace
would fail if dagger-io weren’t actually installed.
Return Type
String ! Example
dagger -m github.com/typesafe-ai/daggerverse@cdae40b51572dd24ab29dbfc75bdc4960e804e48 call \
uv-workspace-build-selffunc (m *MyModule) Example(ctx context.Context) string {
return dag.
TypesafeDaggerverse().
UvWorkspaceBuildSelf(ctx)
}@function
async def example() -> str:
return await (
dag.typesafe_daggerverse()
.uv_workspace_build_self()
)@func()
async example(): Promise<string> {
return dag
.typesafeDaggerverse()
.uvWorkspaceBuildSelf()
}uvWorkspaceBuildStandalone() 🔗
Build the uv-workspace standalone fixture and verify it imports.
Return Type
String ! Example
dagger -m github.com/typesafe-ai/daggerverse@cdae40b51572dd24ab29dbfc75bdc4960e804e48 call \
uv-workspace-build-standalonefunc (m *MyModule) Example(ctx context.Context) string {
return dag.
TypesafeDaggerverse().
UvWorkspaceBuildStandalone(ctx)
}@function
async def example() -> str:
return await (
dag.typesafe_daggerverse()
.uv_workspace_build_standalone()
)@func()
async example(): Promise<string> {
return dag
.typesafeDaggerverse()
.uvWorkspaceBuildStandalone()
}uvWorkspaceBuildWorkspace() 🔗
Build the uv-workspace multi-package fixture and verify every local package imports.
Return Type
String ! Example
dagger -m github.com/typesafe-ai/daggerverse@cdae40b51572dd24ab29dbfc75bdc4960e804e48 call \
uv-workspace-build-workspacefunc (m *MyModule) Example(ctx context.Context) string {
return dag.
TypesafeDaggerverse().
UvWorkspaceBuildWorkspace(ctx)
}@function
async def example() -> str:
return await (
dag.typesafe_daggerverse()
.uv_workspace_build_workspace()
)@func()
async example(): Promise<string> {
return dag
.typesafeDaggerverse()
.uvWorkspaceBuildWorkspace()
}uvWorkspaceFullWorkspaceAllExtrasAllGroups() 🔗
Full workspace build with all extras (from my-app) and all groups (from root) installed.
Return Type
String ! Example
dagger -m github.com/typesafe-ai/daggerverse@cdae40b51572dd24ab29dbfc75bdc4960e804e48 call \
uv-workspace-full-workspace-all-extras-all-groupsfunc (m *MyModule) Example(ctx context.Context) string {
return dag.
TypesafeDaggerverse().
UvWorkspaceFullWorkspaceAllExtrasAllGroups(ctx)
}@function
async def example() -> str:
return await (
dag.typesafe_daggerverse()
.uv_workspace_full_workspace_all_extras_all_groups()
)@func()
async example(): Promise<string> {
return dag
.typesafeDaggerverse()
.uvWorkspaceFullWorkspaceAllExtrasAllGroups()
}uvWorkspacePytestSelf() 🔗
Run uv-workspace’s own pytest suite inside a freshly-built container.
UvWorkspace.build() only copies src/ for each package (to keep
layer granularity tight). tests/ has to be mounted explicitly so
pytest can find them — without this, pytest -q collects nothing
and exits with code 5 (NO_TESTS_COLLECTED).
Return Type
String ! Example
dagger -m github.com/typesafe-ai/daggerverse@cdae40b51572dd24ab29dbfc75bdc4960e804e48 call \
uv-workspace-pytest-selffunc (m *MyModule) Example(ctx context.Context) string {
return dag.
TypesafeDaggerverse().
UvWorkspacePytestSelf(ctx)
}@function
async def example() -> str:
return await (
dag.typesafe_daggerverse()
.uv_workspace_pytest_self()
)@func()
async example(): Promise<string> {
return dag
.typesafeDaggerverse()
.uvWorkspacePytestSelf()
}uvWorkspaceStandaloneAllExtras() 🔗
all_extras=True installs every extra but no groups.
Return Type
String ! Example
dagger -m github.com/typesafe-ai/daggerverse@cdae40b51572dd24ab29dbfc75bdc4960e804e48 call \
uv-workspace-standalone-all-extrasfunc (m *MyModule) Example(ctx context.Context) string {
return dag.
TypesafeDaggerverse().
UvWorkspaceStandaloneAllExtras(ctx)
}@function
async def example() -> str:
return await (
dag.typesafe_daggerverse()
.uv_workspace_standalone_all_extras()
)@func()
async example(): Promise<string> {
return dag
.typesafeDaggerverse()
.uvWorkspaceStandaloneAllExtras()
}uvWorkspaceStandaloneAllGroups() 🔗
all_groups=True installs every group but no extras.
Return Type
String ! Example
dagger -m github.com/typesafe-ai/daggerverse@cdae40b51572dd24ab29dbfc75bdc4960e804e48 call \
uv-workspace-standalone-all-groupsfunc (m *MyModule) Example(ctx context.Context) string {
return dag.
TypesafeDaggerverse().
UvWorkspaceStandaloneAllGroups(ctx)
}@function
async def example() -> str:
return await (
dag.typesafe_daggerverse()
.uv_workspace_standalone_all_groups()
)@func()
async example(): Promise<string> {
return dag
.typesafeDaggerverse()
.uvWorkspaceStandaloneAllGroups()
}uvWorkspaceStandaloneSelectiveExtra() 🔗
extra=['viz'] installs only the viz extra’s deps, not other extras or groups.
Return Type
String ! Example
dagger -m github.com/typesafe-ai/daggerverse@cdae40b51572dd24ab29dbfc75bdc4960e804e48 call \
uv-workspace-standalone-selective-extrafunc (m *MyModule) Example(ctx context.Context) string {
return dag.
TypesafeDaggerverse().
UvWorkspaceStandaloneSelectiveExtra(ctx)
}@function
async def example() -> str:
return await (
dag.typesafe_daggerverse()
.uv_workspace_standalone_selective_extra()
)@func()
async example(): Promise<string> {
return dag
.typesafeDaggerverse()
.uvWorkspaceStandaloneSelectiveExtra()
}uvWorkspaceStandaloneSelectiveGroup() 🔗
group=['docs'] installs only the docs group’s deps, not other groups or extras.
Return Type
String ! Example
dagger -m github.com/typesafe-ai/daggerverse@cdae40b51572dd24ab29dbfc75bdc4960e804e48 call \
uv-workspace-standalone-selective-groupfunc (m *MyModule) Example(ctx context.Context) string {
return dag.
TypesafeDaggerverse().
UvWorkspaceStandaloneSelectiveGroup(ctx)
}@function
async def example() -> str:
return await (
dag.typesafe_daggerverse()
.uv_workspace_standalone_selective_group()
)@func()
async example(): Promise<string> {
return dag
.typesafeDaggerverse()
.uvWorkspaceStandaloneSelectiveGroup()
}