šŸš§

Qwak system uses Poetry version 1.8.3.

Poetry Lock Support

JFrog ML supports poetry.lock files as long as they're under the same scope as the pyproject.toml file.

Given the following model structure:

qwak_based_model/
ā”œā”€ā”€ main/
ā”œā”€ā”€ā”€ā”€ pyproject.toml
ā”œā”€ā”€ā”€ā”€ poetry.lock
ā”œā”€ā”€ tests/

Both files pyproject.toml and poetry.lock will be used by Poetry while executing poetry install cmd.

Poetry Project Starter

Example of quick project starter

[tool.poetry]
name = "Qwak-environment"
version = "0.1.0"
description = "Qwak virtual environment"
authors = ["no-reply@localhost>"]

[tool.poetry.dependencies]
python = "~3.9"
qwak-sdk = "*"

[build-system]
requires = ["poetry-core>=1.0.0"]
build-backend = "poetry.core.masonry.api"

When specifying dependencies in Poetry, using * as the version for qwak-sdk instructs Poetry to install the latest available version of the qwak-sdk package. This approach ensures that your project always utilizes the most recent features and fixes. However, it's important to consider the implications of automatically adopting new versions, as they may introduce breaking changes or compatibility issues. For more controlled dependency management, consider the following alternatives:

  • qwak-sdk = "^0.5.61": This specifies that Poetry should install a version of qwak-sdk that is at least as new as 0.5.61 but less than the next major version (1.0.0). It allows for updates that include backwards-compatible features and fixes. This approach balances the benefits of receiving updates with the safety of avoiding major changes that could break your project.
  • qwak-sdk = "0.5.61": This pins qwak-sdk to a specific version, ensuring that your project will always use version 0.5.61 of the SDK. This is the safest option if your project depends on the specific behavior of this version, as it eliminates the risk of unexpected changes due to updates. However, it also means that you will not automatically benefit from new features or fixes introduced in later versions.