Skip to main content

No project description provided

Project description

kraken-common

The kraken-common package is the shared utility namespace for the Kraken build system and the Kraken wrapper CLI. It contains various generic utilities, as well as the tools for loading the metadata of a Kraken project.

Aside from general utilities that are used by one, the other or both, this package also implements the shared logic for executing Kraken Python and BuildDSL build scripts and retrieving its metadata.

Script runners

The following types of Kraken script runners are currently available via the kraken.common package:

  • PythonScriptRunner: Matches a kraken.py or .kraken.py file and runs it as a pure Python script.
  • BuildDslScriptRunner: Matches a kraken.build or .kraken.build file and runs it as a builddsl script, with the buildscript() function being available by default.

Buildscript metadata

A Kraken project contains at least one .kraken.py file (build script) and maybe a .kraken.lock file (lock file). The build script at the root of a project may contain hints for the Kraken wrapper CLI to be able to correctly bootstrap an environment that contains the Kraken build system.

PythonBuildDSL
from kraken.common import buildscript

buildscript(
    requirements=["kraken-std ^0.4.16"],
)
buildscript {
    requires "kraken-std ^0.4.16"
}

The way that this works is that the buildscript() function raises an exception that aborts the execution of the build script before the rest of the script is executed, and the exception contains the metadata. When the build script is executed by the Kraken build system instead, the function does nothing.

The API to capture the data passed to a call to the buildscript() function is as follows:

from kraken.common import BuildscriptMetadata

with BuildscriptMetadata.capture() as metadata_future:
    ...

metadata = metadata_future.result()

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

kraken_common-0.28.0.dev0.tar.gz (23.4 kB view details)

Uploaded Source

Built Distribution

kraken_common-0.28.0.dev0-py3-none-any.whl (30.5 kB view details)

Uploaded Python 3

File details

Details for the file kraken_common-0.28.0.dev0.tar.gz.

File metadata

  • Download URL: kraken_common-0.28.0.dev0.tar.gz
  • Upload date:
  • Size: 23.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.9.6 readme-renderer/37.3 requests/2.30.0 requests-toolbelt/1.0.0 urllib3/2.0.2 tqdm/4.65.0 importlib-metadata/6.6.0 keyring/23.13.1 rfc3986/2.0.0 colorama/0.4.6 CPython/3.10.2

File hashes

Hashes for kraken_common-0.28.0.dev0.tar.gz
Algorithm Hash digest
SHA256 51b09f3cad84a3ac623e07a08b393fd4a2058890b57ea6700bdc4893526c24b7
MD5 f0034c9217654a3daec4b0e55253514b
BLAKE2b-256 99308218e25b3a6d539986489c6f9b0fef5f76ce8e1a0ce1c9f18aeb117b4933

See more details on using hashes here.

File details

Details for the file kraken_common-0.28.0.dev0-py3-none-any.whl.

File metadata

  • Download URL: kraken_common-0.28.0.dev0-py3-none-any.whl
  • Upload date:
  • Size: 30.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.9.6 readme-renderer/37.3 requests/2.30.0 requests-toolbelt/1.0.0 urllib3/2.0.2 tqdm/4.65.0 importlib-metadata/6.6.0 keyring/23.13.1 rfc3986/2.0.0 colorama/0.4.6 CPython/3.10.2

File hashes

Hashes for kraken_common-0.28.0.dev0-py3-none-any.whl
Algorithm Hash digest
SHA256 2eec29f2d37dbc63cfb59fa5ad6f1f8e3e1c84b9c918a9f9e8f0689cb1bf2ae9
MD5 87b660214c26902c2aa821337b3fa5d4
BLAKE2b-256 7d82c613f35f38850c4745c132d8cf8322e9b1bdcdb270a5a63111a19bbb0e18

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page