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@5df0810c5f39440fc50617538286a4b582e7c16c

Entrypoint

Return Type
TypesafeDaggerverse !
Arguments
NameTypeDefault ValueDescription
sourceDirectory -Daggerverse repo root
Example
dagger -m github.com/typesafe-ai/daggerverse@5df0810c5f39440fc50617538286a4b582e7c16c 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@5df0810c5f39440fc50617538286a4b582e7c16c 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()
}

waitDaggerChecks() 🔗

Block until every Dagger check has landed as a successful GitHub commit status on ref.

Return Type
String !
Arguments
NameTypeDefault ValueDescription
repoString !-GitHub repo as 'owner/name'
refString !-Commit SHA to poll
tokenSecret !-GitHub token with read access
failFastBoolean !falseRaise as soon as any check fails instead of waiting for all.
Example
dagger -m github.com/typesafe-ai/daggerverse@5df0810c5f39440fc50617538286a4b582e7c16c call \
 wait-dagger-checks --repo string --ref string --token env:MYSECRET --fail-fast boolean
func (m *MyModule) Example(ctx context.Context, repo string, ref string, token *dagger.Secret, failFast bool) string  {
	return dag.
			TypesafeDaggerverse().
			WaitDaggerChecks(ctx, repo, ref, token, failFast)
}
@function
async def example(repo: str, ref: str, token: dagger.Secret, fail_fast: bool) -> str:
	return await (
		dag.typesafe_daggerverse()
		.wait_dagger_checks(repo, ref, token, fail_fast)
	)
@func()
async example(repo: string, ref: string, token: Secret, failFast: boolean): Promise<string> {
	return dag
		.typesafeDaggerverse()
		.waitDaggerChecks(repo, ref, token, failFast)
}

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@5df0810c5f39440fc50617538286a4b582e7c16c 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()
}

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@5df0810c5f39440fc50617538286a4b582e7c16c 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()
}

uvWorkspaceBuildWorkspaceApp() 🔗

Build a workspace where the target package is a flat app (no build-system).

Return Type
String !
Example
dagger -m github.com/typesafe-ai/daggerverse@5df0810c5f39440fc50617538286a4b582e7c16c call \
 uv-workspace-build-workspace-app
func (m *MyModule) Example(ctx context.Context) string  {
	return dag.
			TypesafeDaggerverse().
			UvWorkspaceBuildWorkspaceApp(ctx)
}
@function
async def example() -> str:
	return await (
		dag.typesafe_daggerverse()
		.uv_workspace_build_workspace_app()
	)
@func()
async example(): Promise<string> {
	return dag
		.typesafeDaggerverse()
		.uvWorkspaceBuildWorkspaceApp()
}

uvWorkspaceBuildStandalone() 🔗

Build the uv-workspace standalone fixture and verify it imports.

Return Type
String !
Example
dagger -m github.com/typesafe-ai/daggerverse@5df0810c5f39440fc50617538286a4b582e7c16c 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()
}

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@5df0810c5f39440fc50617538286a4b582e7c16c 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()
}

uvWorkspaceStandaloneAllExtras() 🔗

all_extras=True installs every extra but no groups.

Return Type
String !
Example
dagger -m github.com/typesafe-ai/daggerverse@5df0810c5f39440fc50617538286a4b582e7c16c 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()
}

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@5df0810c5f39440fc50617538286a4b582e7c16c 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()
}

uvWorkspaceStandaloneAllGroups() 🔗

all_groups=True installs every group but no extras.

Return Type
String !
Example
dagger -m github.com/typesafe-ai/daggerverse@5df0810c5f39440fc50617538286a4b582e7c16c 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()
}

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@5df0810c5f39440fc50617538286a4b582e7c16c 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()
}

uvWorkspaceBuildSelf() 🔗

Build uv-workspace from its own source on a fresh tree.

Return Type
String !
Example
dagger -m github.com/typesafe-ai/daggerverse@5df0810c5f39440fc50617538286a4b582e7c16c 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()
}

githubStatusMonitorPytest() 🔗

Run the github-status-monitor unit-test suite inside a freshly- built container.

Return Type
String !
Example
dagger -m github.com/typesafe-ai/daggerverse@5df0810c5f39440fc50617538286a4b582e7c16c call \
 github-status-monitor-pytest
func (m *MyModule) Example(ctx context.Context) string  {
	return dag.
			TypesafeDaggerverse().
			GithubStatusMonitorPytest(ctx)
}
@function
async def example() -> str:
	return await (
		dag.typesafe_daggerverse()
		.github_status_monitor_pytest()
	)
@func()
async example(): Promise<string> {
	return dag
		.typesafeDaggerverse()
		.githubStatusMonitorPytest()
}

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@5df0810c5f39440fc50617538286a4b582e7c16c 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()
}