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@374f287ed5f2e918e4bba106a453af6dfdd21e10

Entrypoint

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

allUvAudit() 🔗

Run all checks for the uv (audit) module in parallel.

Return Type
Void !
Example
dagger -m github.com/typesafe-ai/daggerverse@374f287ed5f2e918e4bba106a453af6dfdd21e10 call \
 all-uv-audit
func (m *MyModule) Example(ctx context.Context)   {
	return dag.
			TypesafeDaggerverse().
			AllUvAudit(ctx)
}
@function
async def example() -> None:
	return await (
		dag.typesafe_daggerverse()
		.all_uv_audit()
	)
@func()
async example(): Promise<void> {
	return dag
		.typesafeDaggerverse()
		.allUvAudit()
}

uvDetectVersionPyproject() 🔗

uv_version reads [tool.uv].required-version from pyproject.toml.

Return Type
Void !
Example
dagger -m github.com/typesafe-ai/daggerverse@374f287ed5f2e918e4bba106a453af6dfdd21e10 call \
 uv-detect-version-pyproject
func (m *MyModule) Example(ctx context.Context)   {
	return dag.
			TypesafeDaggerverse().
			UvDetectVersionPyproject(ctx)
}
@function
async def example() -> None:
	return await (
		dag.typesafe_daggerverse()
		.uv_detect_version_pyproject()
	)
@func()
async example(): Promise<void> {
	return dag
		.typesafeDaggerverse()
		.uvDetectVersionPyproject()
}

uvDetectVersionUvTomlPrecedence() 🔗

uv.toml required-version takes precedence over pyproject.toml.

Return Type
Void !
Example
dagger -m github.com/typesafe-ai/daggerverse@374f287ed5f2e918e4bba106a453af6dfdd21e10 call \
 uv-detect-version-uv-toml-precedence
func (m *MyModule) Example(ctx context.Context)   {
	return dag.
			TypesafeDaggerverse().
			UvDetectVersionUvTomlPrecedence(ctx)
}
@function
async def example() -> None:
	return await (
		dag.typesafe_daggerverse()
		.uv_detect_version_uv_toml_precedence()
	)
@func()
async example(): Promise<void> {
	return dag
		.typesafeDaggerverse()
		.uvDetectVersionUvTomlPrecedence()
}

uvDetectVersionRange() 🔗

A range specifier resolves to the highest matching uv release on PyPI.

Return Type
Void !
Example
dagger -m github.com/typesafe-ai/daggerverse@374f287ed5f2e918e4bba106a453af6dfdd21e10 call \
 uv-detect-version-range
func (m *MyModule) Example(ctx context.Context)   {
	return dag.
			TypesafeDaggerverse().
			UvDetectVersionRange(ctx)
}
@function
async def example() -> None:
	return await (
		dag.typesafe_daggerverse()
		.uv_detect_version_range()
	)
@func()
async example(): Promise<void> {
	return dag
		.typesafeDaggerverse()
		.uvDetectVersionRange()
}

uvDetectVersionDefault() 🔗

With no required-version, uv_version falls back to the default tag.

Return Type
Void !
Example
dagger -m github.com/typesafe-ai/daggerverse@374f287ed5f2e918e4bba106a453af6dfdd21e10 call \
 uv-detect-version-default
func (m *MyModule) Example(ctx context.Context)   {
	return dag.
			TypesafeDaggerverse().
			UvDetectVersionDefault(ctx)
}
@function
async def example() -> None:
	return await (
		dag.typesafe_daggerverse()
		.uv_detect_version_default()
	)
@func()
async example(): Promise<void> {
	return dag
		.typesafeDaggerverse()
		.uvDetectVersionDefault()
}

uvDiscoversWorkspaces() 🔗

workspaces finds one workspace per uv.lock in the source tree.

Return Type
Void !
Example
dagger -m github.com/typesafe-ai/daggerverse@374f287ed5f2e918e4bba106a453af6dfdd21e10 call \
 uv-discovers-workspaces
func (m *MyModule) Example(ctx context.Context)   {
	return dag.
			TypesafeDaggerverse().
			UvDiscoversWorkspaces(ctx)
}
@function
async def example() -> None:
	return await (
		dag.typesafe_daggerverse()
		.uv_discovers_workspaces()
	)
@func()
async example(): Promise<void> {
	return dag
		.typesafeDaggerverse()
		.uvDiscoversWorkspaces()
}

uvAuditClean() 🔗

Auditing a workspace with no vulnerable deps passes.

Return Type
Void !
Example
dagger -m github.com/typesafe-ai/daggerverse@374f287ed5f2e918e4bba106a453af6dfdd21e10 call \
 uv-audit-clean
func (m *MyModule) Example(ctx context.Context)   {
	return dag.
			TypesafeDaggerverse().
			UvAuditClean(ctx)
}
@function
async def example() -> None:
	return await (
		dag.typesafe_daggerverse()
		.uv_audit_clean()
	)
@func()
async example(): Promise<void> {
	return dag
		.typesafeDaggerverse()
		.uvAuditClean()
}

uvAuditDetectsVulnerability() 🔗

Auditing a workspace with a known-vulnerable dependency fails.

Return Type
Void !
Example
dagger -m github.com/typesafe-ai/daggerverse@374f287ed5f2e918e4bba106a453af6dfdd21e10 call \
 uv-audit-detects-vulnerability
func (m *MyModule) Example(ctx context.Context)   {
	return dag.
			TypesafeDaggerverse().
			UvAuditDetectsVulnerability(ctx)
}
@function
async def example() -> None:
	return await (
		dag.typesafe_daggerverse()
		.uv_audit_detects_vulnerability()
	)
@func()
async example(): Promise<void> {
	return dag
		.typesafeDaggerverse()
		.uvAuditDetectsVulnerability()
}

uvAuditExclude() 🔗

exclude skips matching workspaces, so a vulnerable-but-excluded tree passes.

Return Type
Void !
Example
dagger -m github.com/typesafe-ai/daggerverse@374f287ed5f2e918e4bba106a453af6dfdd21e10 call \
 uv-audit-exclude
func (m *MyModule) Example(ctx context.Context)   {
	return dag.
			TypesafeDaggerverse().
			UvAuditExclude(ctx)
}
@function
async def example() -> None:
	return await (
		dag.typesafe_daggerverse()
		.uv_audit_exclude()
	)
@func()
async example(): Promise<void> {
	return dag
		.typesafeDaggerverse()
		.uvAuditExclude()
}

allUv() 🔗

Run all uv-workspace checks in parallel.

Return Type
Void !
Example
dagger -m github.com/typesafe-ai/daggerverse@374f287ed5f2e918e4bba106a453af6dfdd21e10 call \
 all-uv
func (m *MyModule) Example(ctx context.Context)   {
	return dag.
			TypesafeDaggerverse().
			AllUv(ctx)
}
@function
async def example() -> None:
	return await (
		dag.typesafe_daggerverse()
		.all_uv()
	)
@func()
async example(): Promise<void> {
	return dag
		.typesafeDaggerverse()
		.allUv()
}

uvWorkspaceBuildWorkspace() 🔗

Build the uv-workspace multi-package fixture and verify every local package imports.

Return Type
Void !
Example
dagger -m github.com/typesafe-ai/daggerverse@374f287ed5f2e918e4bba106a453af6dfdd21e10 call \
 uv-workspace-build-workspace
func (m *MyModule) Example(ctx context.Context)   {
	return dag.
			TypesafeDaggerverse().
			UvWorkspaceBuildWorkspace(ctx)
}
@function
async def example() -> None:
	return await (
		dag.typesafe_daggerverse()
		.uv_workspace_build_workspace()
	)
@func()
async example(): Promise<void> {
	return dag
		.typesafeDaggerverse()
		.uvWorkspaceBuildWorkspace()
}

uvWorkspaceBuildFullWorkspace() 🔗

Build the full uv-workspace (no package filter) and verify every local package imports.

Return Type
Void !
Example
dagger -m github.com/typesafe-ai/daggerverse@374f287ed5f2e918e4bba106a453af6dfdd21e10 call \
 uv-workspace-build-full-workspace
func (m *MyModule) Example(ctx context.Context)   {
	return dag.
			TypesafeDaggerverse().
			UvWorkspaceBuildFullWorkspace(ctx)
}
@function
async def example() -> None:
	return await (
		dag.typesafe_daggerverse()
		.uv_workspace_build_full_workspace()
	)
@func()
async example(): Promise<void> {
	return dag
		.typesafeDaggerverse()
		.uvWorkspaceBuildFullWorkspace()
}

uvWorkspaceBuildWorkspaceApp() 🔗

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

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

uvWorkspaceBuildWorkspaceFlat() 🔗

Build a workspace where dependencies use flat layout (no src/ directory).

Return Type
Void !
Example
dagger -m github.com/typesafe-ai/daggerverse@374f287ed5f2e918e4bba106a453af6dfdd21e10 call \
 uv-workspace-build-workspace-flat
func (m *MyModule) Example(ctx context.Context)   {
	return dag.
			TypesafeDaggerverse().
			UvWorkspaceBuildWorkspaceFlat(ctx)
}
@function
async def example() -> None:
	return await (
		dag.typesafe_daggerverse()
		.uv_workspace_build_workspace_flat()
	)
@func()
async example(): Promise<void> {
	return dag
		.typesafeDaggerverse()
		.uvWorkspaceBuildWorkspaceFlat()
}

uvWorkspaceBuildStandalone() 🔗

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

Return Type
Void !
Example
dagger -m github.com/typesafe-ai/daggerverse@374f287ed5f2e918e4bba106a453af6dfdd21e10 call \
 uv-workspace-build-standalone
func (m *MyModule) Example(ctx context.Context)   {
	return dag.
			TypesafeDaggerverse().
			UvWorkspaceBuildStandalone(ctx)
}
@function
async def example() -> None:
	return await (
		dag.typesafe_daggerverse()
		.uv_workspace_build_standalone()
	)
@func()
async example(): Promise<void> {
	return dag
		.typesafeDaggerverse()
		.uvWorkspaceBuildStandalone()
}

uvWorkspaceStandaloneSelectiveExtra() 🔗

extra=['viz'] installs only the viz extra’s deps, not other extras or groups.

Return Type
Void !
Example
dagger -m github.com/typesafe-ai/daggerverse@374f287ed5f2e918e4bba106a453af6dfdd21e10 call \
 uv-workspace-standalone-selective-extra
func (m *MyModule) Example(ctx context.Context)   {
	return dag.
			TypesafeDaggerverse().
			UvWorkspaceStandaloneSelectiveExtra(ctx)
}
@function
async def example() -> None:
	return await (
		dag.typesafe_daggerverse()
		.uv_workspace_standalone_selective_extra()
	)
@func()
async example(): Promise<void> {
	return dag
		.typesafeDaggerverse()
		.uvWorkspaceStandaloneSelectiveExtra()
}

uvWorkspaceStandaloneAllExtras() 🔗

all_extras=True installs every extra but no groups.

Return Type
Void !
Example
dagger -m github.com/typesafe-ai/daggerverse@374f287ed5f2e918e4bba106a453af6dfdd21e10 call \
 uv-workspace-standalone-all-extras
func (m *MyModule) Example(ctx context.Context)   {
	return dag.
			TypesafeDaggerverse().
			UvWorkspaceStandaloneAllExtras(ctx)
}
@function
async def example() -> None:
	return await (
		dag.typesafe_daggerverse()
		.uv_workspace_standalone_all_extras()
	)
@func()
async example(): Promise<void> {
	return dag
		.typesafeDaggerverse()
		.uvWorkspaceStandaloneAllExtras()
}

uvWorkspaceStandaloneSelectiveGroup() 🔗

group=['docs'] installs only the docs group’s deps, not other groups or extras.

Return Type
Void !
Example
dagger -m github.com/typesafe-ai/daggerverse@374f287ed5f2e918e4bba106a453af6dfdd21e10 call \
 uv-workspace-standalone-selective-group
func (m *MyModule) Example(ctx context.Context)   {
	return dag.
			TypesafeDaggerverse().
			UvWorkspaceStandaloneSelectiveGroup(ctx)
}
@function
async def example() -> None:
	return await (
		dag.typesafe_daggerverse()
		.uv_workspace_standalone_selective_group()
	)
@func()
async example(): Promise<void> {
	return dag
		.typesafeDaggerverse()
		.uvWorkspaceStandaloneSelectiveGroup()
}

uvWorkspaceStandaloneAllGroups() 🔗

all_groups=True installs every group but no extras.

Return Type
Void !
Example
dagger -m github.com/typesafe-ai/daggerverse@374f287ed5f2e918e4bba106a453af6dfdd21e10 call \
 uv-workspace-standalone-all-groups
func (m *MyModule) Example(ctx context.Context)   {
	return dag.
			TypesafeDaggerverse().
			UvWorkspaceStandaloneAllGroups(ctx)
}
@function
async def example() -> None:
	return await (
		dag.typesafe_daggerverse()
		.uv_workspace_standalone_all_groups()
	)
@func()
async example(): Promise<void> {
	return dag
		.typesafeDaggerverse()
		.uvWorkspaceStandaloneAllGroups()
}

uvWorkspaceFullWorkspaceAllExtrasAllGroups() 🔗

Full workspace build with all extras (from my-app) and all groups (from root) installed.

Return Type
Void !
Example
dagger -m github.com/typesafe-ai/daggerverse@374f287ed5f2e918e4bba106a453af6dfdd21e10 call \
 uv-workspace-full-workspace-all-extras-all-groups
func (m *MyModule) Example(ctx context.Context)   {
	return dag.
			TypesafeDaggerverse().
			UvWorkspaceFullWorkspaceAllExtrasAllGroups(ctx)
}
@function
async def example() -> None:
	return await (
		dag.typesafe_daggerverse()
		.uv_workspace_full_workspace_all_extras_all_groups()
	)
@func()
async example(): Promise<void> {
	return dag
		.typesafeDaggerverse()
		.uvWorkspaceFullWorkspaceAllExtrasAllGroups()
}

uvWorkspaceBuildSelf() 🔗

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

Return Type
Void !
Example
dagger -m github.com/typesafe-ai/daggerverse@374f287ed5f2e918e4bba106a453af6dfdd21e10 call \
 uv-workspace-build-self
func (m *MyModule) Example(ctx context.Context)   {
	return dag.
			TypesafeDaggerverse().
			UvWorkspaceBuildSelf(ctx)
}
@function
async def example() -> None:
	return await (
		dag.typesafe_daggerverse()
		.uv_workspace_build_self()
	)
@func()
async example(): Promise<void> {
	return dag
		.typesafeDaggerverse()
		.uvWorkspaceBuildSelf()
}

githubStatusMonitorPytest() 🔗

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

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

twingateBuild() 🔗

Build the Twingate client container (no credentials needed).

Return Type
String !
Example
dagger -m github.com/typesafe-ai/daggerverse@374f287ed5f2e918e4bba106a453af6dfdd21e10 call \
 twingate-build
func (m *MyModule) Example(ctx context.Context) string  {
	return dag.
			TypesafeDaggerverse().
			TwingateBuild(ctx)
}
@function
async def example() -> str:
	return await (
		dag.typesafe_daggerverse()
		.twingate_build()
	)
@func()
async example(): Promise<string> {
	return dag
		.typesafeDaggerverse()
		.twingateBuild()
}

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
Void !
Example
dagger -m github.com/typesafe-ai/daggerverse@374f287ed5f2e918e4bba106a453af6dfdd21e10 call \
 uv-workspace-pytest-self
func (m *MyModule) Example(ctx context.Context)   {
	return dag.
			TypesafeDaggerverse().
			UvWorkspacePytestSelf(ctx)
}
@function
async def example() -> None:
	return await (
		dag.typesafe_daggerverse()
		.uv_workspace_pytest_self()
	)
@func()
async example(): Promise<void> {
	return dag
		.typesafeDaggerverse()
		.uvWorkspacePytestSelf()
}

ruffCheckFix() 🔗

Run ruff check –fix on a dirty file and verify only dirty.py is changed.

Return Type
String !
Example
dagger -m github.com/typesafe-ai/daggerverse@374f287ed5f2e918e4bba106a453af6dfdd21e10 call \
 ruff-check-fix
func (m *MyModule) Example(ctx context.Context) string  {
	return dag.
			TypesafeDaggerverse().
			RuffCheckFix(ctx)
}
@function
async def example() -> str:
	return await (
		dag.typesafe_daggerverse()
		.ruff_check_fix()
	)
@func()
async example(): Promise<string> {
	return dag
		.typesafeDaggerverse()
		.ruffCheckFix()
}

ruffFormatFix() 🔗

Run ruff format on a dirty file and verify only dirty.py is changed.

Return Type
String !
Example
dagger -m github.com/typesafe-ai/daggerverse@374f287ed5f2e918e4bba106a453af6dfdd21e10 call \
 ruff-format-fix
func (m *MyModule) Example(ctx context.Context) string  {
	return dag.
			TypesafeDaggerverse().
			RuffFormatFix(ctx)
}
@function
async def example() -> str:
	return await (
		dag.typesafe_daggerverse()
		.ruff_format_fix()
	)
@func()
async example(): Promise<string> {
	return dag
		.typesafeDaggerverse()
		.ruffFormatFix()
}

ruffCheckLintClean() 🔗

Run ruff check on a clean file and verify it passes.

Return Type
String !
Example
dagger -m github.com/typesafe-ai/daggerverse@374f287ed5f2e918e4bba106a453af6dfdd21e10 call \
 ruff-check-lint-clean
func (m *MyModule) Example(ctx context.Context) string  {
	return dag.
			TypesafeDaggerverse().
			RuffCheckLintClean(ctx)
}
@function
async def example() -> str:
	return await (
		dag.typesafe_daggerverse()
		.ruff_check_lint_clean()
	)
@func()
async example(): Promise<string> {
	return dag
		.typesafeDaggerverse()
		.ruffCheckLintClean()
}

ruffFormatLintClean() 🔗

Run ruff format –check on a clean file and verify it passes.

Return Type
String !
Example
dagger -m github.com/typesafe-ai/daggerverse@374f287ed5f2e918e4bba106a453af6dfdd21e10 call \
 ruff-format-lint-clean
func (m *MyModule) Example(ctx context.Context) string  {
	return dag.
			TypesafeDaggerverse().
			RuffFormatLintClean(ctx)
}
@function
async def example() -> str:
	return await (
		dag.typesafe_daggerverse()
		.ruff_format_lint_clean()
	)
@func()
async example(): Promise<string> {
	return dag
		.typesafeDaggerverse()
		.ruffFormatLintClean()
}

uvWorkspaceBuildPartialWorkspace() 🔗

Build a project whose uv.lock references local deps that don’t exist in the source tree.

The missing dep (ext-pkg at ../../gone/ext-pkg) should be silently skipped. The present dep (my-dep at ../my-dep) should be installed.

Return Type
Void !
Example
dagger -m github.com/typesafe-ai/daggerverse@374f287ed5f2e918e4bba106a453af6dfdd21e10 call \
 uv-workspace-build-partial-workspace
func (m *MyModule) Example(ctx context.Context)   {
	return dag.
			TypesafeDaggerverse().
			UvWorkspaceBuildPartialWorkspace(ctx)
}
@function
async def example() -> None:
	return await (
		dag.typesafe_daggerverse()
		.uv_workspace_build_partial_workspace()
	)
@func()
async example(): Promise<void> {
	return dag
		.typesafeDaggerverse()
		.uvWorkspaceBuildPartialWorkspace()
}