Skip to main content

No project description provided

Project description

kraken-core

The kraken core API provides the primitives to fully describe complex build processes of software components.

1. Concepts

1.1 Projects

A project maps to a directory on the file system that represents a software component, usually comprised of many different source code and supporting files, and eventually additional other sub projects.

In every build there is at least one project involved, the root project. When tasks are referenced by the full qualified name, the root project name is omitted from the path (similar to how the root directory in a file system does not have a name and is represented by a single slash).

1.2 Tasks

A task is a logical unit of work that has a unique name within the project it is associated with. Tasks can have dependencies on other tasks or groups of tasks, even across projects. When a task is optional, it will only be executed if strictly required by another task.

Dependencies on task can be strict or non-strict. Non-strict dependencies enforce an order on the execution sequence of tasks, wheras strict dependencies will ensure that the dependency has been executed.

Tasks are usually marked as "default", meaning that they are selected by default if no task selectors are specified (see below on Task selectors).

Every task is associated with one Action that is executed for the task.

1.4 Task selectors

Without any arguments, all default tasks are selected and executed. When an explicit selection is made, it can be in one of the following forms:

  1. A fully qualified project reference
  2. A fully qualified task reference
  3. A task name to select from all projects that contain it

Projects and tasks are structured hierarchally and fully qualified references are constructed like file system paths but with colons instead of slashes. For example, : represents the root roject, :foo:bar references task or project bar in project foo in the root project, spam references all tasks named spam.

1.5 Actions

An action is a unit of work that is executed by a task. A task's action may be set on creation or only right before it needs to be executed, in the Task.finalize() method.

Project details


Release history Release notifications | RSS feed

This version

0.1.3

Download files

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

Source Distribution

kraken-core-0.1.3.tar.gz (11.7 kB view details)

Uploaded Source

Built Distribution

kraken_core-0.1.3-py3-none-any.whl (13.9 kB view details)

Uploaded Python 3

File details

Details for the file kraken-core-0.1.3.tar.gz.

File metadata

  • Download URL: kraken-core-0.1.3.tar.gz
  • Upload date:
  • Size: 11.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.3 readme-renderer/35.0 requests/2.28.1 requests-toolbelt/0.9.1 urllib3/1.26.9 tqdm/4.64.0 importlib-metadata/4.12.0 keyring/23.6.0 rfc3986/2.0.0 colorama/0.4.5 CPython/3.10.2

File hashes

Hashes for kraken-core-0.1.3.tar.gz
Algorithm Hash digest
SHA256 de8cb02515e33a87ed6db63d827c50e83c1687a878424186dc2a69aa1af64ccf
MD5 426150e9d9c2b9a11b39967e1f378e61
BLAKE2b-256 f8706c6928d384a320e155e0418f681f84a4f425833923e7676e4ef3436b68b3

See more details on using hashes here.

File details

Details for the file kraken_core-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: kraken_core-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 13.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.3 readme-renderer/35.0 requests/2.28.1 requests-toolbelt/0.9.1 urllib3/1.26.9 tqdm/4.64.0 importlib-metadata/4.12.0 keyring/23.6.0 rfc3986/2.0.0 colorama/0.4.5 CPython/3.10.2

File hashes

Hashes for kraken_core-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 ac6a5b695c34e01d19246d8c733cae20652124ff53e4a2e458b7ae52175eacb7
MD5 d847f87a0de25d909c1617136bc80a6e
BLAKE2b-256 0e7a5a1d30047b9ad9a87f465929999d3cc1ce25516c0c425194a2026fbbf760

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