Dagger
Search

typesafe-daggerverse

This module has been generated via dagger init and serves as a reference to
basic 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@4cb2c3f5774fad0cab7be749c2f14ed4d76adcfd

Entrypoint

Return Type
TypesafeDaggerverse !
Arguments
NameTypeDefault ValueDescription
sourceDirectory -Daggerverse repo root
Example
dagger -m github.com/typesafe-ai/daggerverse@4cb2c3f5774fad0cab7be749c2f14ed4d76adcfd 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@4cb2c3f5774fad0cab7be749c2f14ed4d76adcfd call \
 source
func (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@4cb2c3f5774fad0cab7be749c2f14ed4d76adcfd call \
 uv-workspace-build-full-workspace
func (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@4cb2c3f5774fad0cab7be749c2f14ed4d76adcfd call \
 uv-workspace-build-self
func (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@4cb2c3f5774fad0cab7be749c2f14ed4d76adcfd call \
 uv-workspace-build-standalone
func (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@4cb2c3f5774fad0cab7be749c2f14ed4d76adcfd call \
 uv-workspace-build-workspace
func (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@4cb2c3f5774fad0cab7be749c2f14ed4d76adcfd call \
 uv-workspace-full-workspace-all-extras-all-groups
func (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@4cb2c3f5774fad0cab7be749c2f14ed4d76adcfd call \
 uv-workspace-pytest-self
func (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@4cb2c3f5774fad0cab7be749c2f14ed4d76adcfd call \
 uv-workspace-standalone-all-extras
func (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@4cb2c3f5774fad0cab7be749c2f14ed4d76adcfd call \
 uv-workspace-standalone-all-groups
func (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@4cb2c3f5774fad0cab7be749c2f14ed4d76adcfd call \
 uv-workspace-standalone-selective-extra
func (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@4cb2c3f5774fad0cab7be749c2f14ed4d76adcfd call \
 uv-workspace-standalone-selective-group
func (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()
}