python
Package main provides a complete pipeline for Python projects using Poetry and PyPI.
Installation
dagger install github.com/felipepimentel/daggerverse/pipelines/python@0d2d11e77abc4a26c24d29bf211bdee308a3908dEntrypoint
Return Type
Python !Arguments
| Name | Type | Default Value | Description |
|---|---|---|---|
| pythonVersion | String | "3.12-alpine" | 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 |
| dockerUsername | String | - | Docker Hub username |
| dockerPassword | Secret | - | Docker Hub password |
| skipTests | Boolean | false | Skip running tests |
| skipLint | Boolean | false | Skip running linting checks |
| githubToken | Secret | - | GitHub token for authentication |
Example
dagger -m github.com/felipepimentel/daggerverse/pipelines/python@0d2d11e77abc4a26c24d29bf211bdee308a3908d call \
func (m *MyModule) Example() *dagger.Python {
return dag.
Python()
}@function
def example() -> dagger.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 and publishes a Python package to PyPI
Return Type
Void !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@0d2d11e77abc4a26c24d29bf211bdee308a3908d call \
publish --source DIR_PATH --token env:MYSECRETfunc (m *MyModule) Example(ctx context.Context, source *dagger.Directory, token *dagger.Secret) {
return dag.
Python().
Publish(ctx, source, token)
}@function
async def example(source: dagger.Directory, token: dagger.Secret) -> None:
return await (
dag.python()
.publish(source, token)
)@func()
async example(source: Directory, token: Secret): Promise<void> {
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@0d2d11e77abc4a26c24d29bf211bdee308a3908d call \
build --source DIR_PATHfunc (m *MyModule) Example(source *dagger.Directory) *dagger.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@0d2d11e77abc4a26c24d29bf211bdee308a3908d call \
test --source DIR_PATHfunc (m *MyModule) Example(ctx context.Context, source *dagger.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@0d2d11e77abc4a26c24d29bf211bdee308a3908d call \
lint --source DIR_PATHfunc (m *MyModule) Example(ctx context.Context, source *dagger.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@0d2d11e77abc4a26c24d29bf211bdee308a3908d call \
build-env --source DIR_PATHfunc (m *MyModule) Example(source *dagger.Directory) *dagger.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)
}