python
Package main provides a complete pipeline for Python projects using Poetry and PyPI.
Installation
dagger install github.com/felipepimentel/daggerverse/pipelines/python@d4bf4d2090462fc19c3afa3e4f9764db5baaac43
Entrypoint
Return Type
Python !
Arguments
Name | Type | Default Value | Description |
---|---|---|---|
pythonVersion | String | "3.12-slim" | Python version to use |
gitEmail | String | "github-actions[bot]@users.noreply.github.com" | Git email for commits |
gitName | String | "github-actions[bot]" | Git username for commits |
Example
dagger -m github.com/felipepimentel/daggerverse/pipelines/python@d4bf4d2090462fc19c3afa3e4f9764db5baaac43 call \
func (m *myModule) example() *Python {
return dag.
Python()
}
@function
def example() -> dag.Python:
return (
dag.python()
)
@func()
example(): Python {
return dag
.python()
}
Types
Python 🔗
Python orchestrates Python project workflows using Poetry and PyPI. It provides a complete CI/CD pipeline for Python projects, including testing, building, and publishing to PyPI.
publish() 🔗
Publish builds, tests, and publishes the Python package to PyPI and the container image. It returns the address of the published container or an error if any step fails.
Return Type
String !
Arguments
Name | Type | Default Value | Description |
---|---|---|---|
source | Directory ! | - | No description provided |
token | Secret ! | - | No description provided |
Example
dagger -m github.com/felipepimentel/daggerverse/pipelines/python@d4bf4d2090462fc19c3afa3e4f9764db5baaac43 call \
publish --source DIR_PATH --token env:MYSECRET
func (m *myModule) example(ctx context.Context, source *Directory, token *Secret) string {
return dag.
Python().
Publish(ctx, source, token)
}
@function
async def example(source: dagger.Directory, token: dagger.Secret) -> str:
return await (
dag.python()
.publish(source, token)
)
@func()
async example(source: Directory, token: Secret): Promise<string> {
return dag
.python()
.publish(source, token)
}
build() 🔗
Build creates a container with all dependencies installed and configured. It returns the configured container or nil if the build fails.
Return Type
Container !
Arguments
Name | Type | Default Value | Description |
---|---|---|---|
source | Directory ! | - | No description provided |
Example
dagger -m github.com/felipepimentel/daggerverse/pipelines/python@d4bf4d2090462fc19c3afa3e4f9764db5baaac43 call \
build --source DIR_PATH
func (m *myModule) example(source *Directory) *Container {
return dag.
Python().
Build(source)
}
@function
def example(source: dagger.Directory) -> dagger.Container:
return (
dag.python()
.build(source)
)
@func()
example(source: Directory): Container {
return dag
.python()
.build(source)
}
test() 🔗
Test runs all quality checks and returns the combined test output. It returns an error if any check fails.
Return Type
String !
Arguments
Name | Type | Default Value | Description |
---|---|---|---|
source | Directory ! | - | No description provided |
Example
dagger -m github.com/felipepimentel/daggerverse/pipelines/python@d4bf4d2090462fc19c3afa3e4f9764db5baaac43 call \
test --source DIR_PATH
func (m *myModule) example(ctx context.Context, source *Directory) string {
return dag.
Python().
Test(ctx, source)
}
@function
async def example(source: dagger.Directory) -> str:
return await (
dag.python()
.test(source)
)
@func()
async example(source: Directory): Promise<string> {
return dag
.python()
.test(source)
}
lint() 🔗
Lint runs code quality checks using Ruff. It returns an error if any check fails.
Return Type
Void !
Arguments
Name | Type | Default Value | Description |
---|---|---|---|
source | Directory ! | - | No description provided |
Example
dagger -m github.com/felipepimentel/daggerverse/pipelines/python@d4bf4d2090462fc19c3afa3e4f9764db5baaac43 call \
lint --source DIR_PATH
func (m *myModule) example(ctx context.Context, source *Directory) {
return dag.
Python().
Lint(ctx, source)
}
@function
async def example(source: dagger.Directory) -> None:
return await (
dag.python()
.lint(source)
)
@func()
async example(source: Directory): Promise<void> {
return dag
.python()
.lint(source)
}
buildEnv() 🔗
BuildEnv creates a development environment with all dependencies installed. It returns the configured container.
Return Type
Container !
Arguments
Name | Type | Default Value | Description |
---|---|---|---|
source | Directory ! | - | No description provided |
Example
dagger -m github.com/felipepimentel/daggerverse/pipelines/python@d4bf4d2090462fc19c3afa3e4f9764db5baaac43 call \
build-env --source DIR_PATH
func (m *myModule) example(source *Directory) *Container {
return dag.
Python().
BuildEnv(source)
}
@function
def example(source: dagger.Directory) -> dagger.Container:
return (
dag.python()
.build_env(source)
)
@func()
example(source: Directory): Container {
return dag
.python()
.buildEnv(source)
}