Skip to main content

No project description provided

Project description

kraken-build

Python | PyPI version | Documentation

Kraken is (not) a build system. It's focus is on the orchestration of high-level tasks, such as organization of your repository configuration, code generation, invoking other build systems, etc. It is not a replacement for tools like Poetry, Cargo or CMake.

Requirements

  • CPython 3.10 [1]

[1] Technically compatible with 3.10 and higher, but we can't use 3.11+ until Dill 0.3.8 is released.

Getting started

Currently, Kraken's OSS components are not very well documented and do not provide a convenient way to get started. However, if you really want to try it, you can use the following steps:

  1. Install kraken-wrapper (e.g. with Pipx) to get access to the krakenw command-line tool.

  2. Create a .kraken.py script in your project's root directory.

    from kraken.common import buildscript
    buildscript(requirements=["kraken-build==0.32.3"])
    
    from kraken.std.python import mypy, black, isort
    mypy()
    black()
    isort()
    
  3. Run krakenw lock to install kraken-build for your project in build/.kraken/venv and generate a kraken.lock file.

  4. Run krakenw run lint to run the linters.

Note that you can also use the kraken CLI (instead of krakenw), however this will disregard the buildscript() function, will not use the lock file and will use the version of Kraken that was installed globally.

How-to's

Upgrade a project's lock file

To upgrade a project's lock file, run krakenw lock --upgrade. This will upgrade all dependencies to the latest available version. If you want to upgrade based on updated constraints in .kraken.py without installing from scratch, add the --incremental flag or set KRAKENW_INCREMENTAL=1.

Development

This repository uses Slap to manage the Python project. After installing Slap with Pipx, run the following to install Kraken for development:

$ slap venv -c --python python3.10
$ slap install --link
# If you have the Slap shell magic installed, it will activate the Venv in your shell.
$ slap venv -a

Releases

A release must be created by a maintainer that has write access to the develop branch. The release process is automated using Slap.

$ slap release -tp <patch|minor|major|x.y.z>
$ slap publish

Project details


Release history Release notifications | RSS feed

Download files

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

Source Distribution

kraken_build-0.32.6.tar.gz (166.8 kB view details)

Uploaded Source

Built Distribution

kraken_build-0.32.6-py3-none-any.whl (231.0 kB view details)

Uploaded Python 3

File details

Details for the file kraken_build-0.32.6.tar.gz.

File metadata

  • Download URL: kraken_build-0.32.6.tar.gz
  • Upload date:
  • Size: 166.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.9.6 readme-renderer/37.3 requests/2.28.2 requests-toolbelt/0.10.1 urllib3/1.26.14 tqdm/4.64.1 importlib-metadata/6.0.0 keyring/23.13.1 rfc3986/2.0.0 colorama/0.4.6 CPython/3.10.13

File hashes

Hashes for kraken_build-0.32.6.tar.gz
Algorithm Hash digest
SHA256 b90d265c445128457c7f2b67314d0543f4a3e72f6de85a56c4a0ea7a373b3990
MD5 e4fc09e9caee723e01a29c825edeb915
BLAKE2b-256 792d8e9774c27ea1ea282f516aff980d2cf79faf373d58fef5a0edf544df4be9

See more details on using hashes here.

File details

Details for the file kraken_build-0.32.6-py3-none-any.whl.

File metadata

  • Download URL: kraken_build-0.32.6-py3-none-any.whl
  • Upload date:
  • Size: 231.0 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.28.2 requests-toolbelt/0.10.1 urllib3/1.26.14 tqdm/4.64.1 importlib-metadata/6.0.0 keyring/23.13.1 rfc3986/2.0.0 colorama/0.4.6 CPython/3.10.13

File hashes

Hashes for kraken_build-0.32.6-py3-none-any.whl
Algorithm Hash digest
SHA256 bb9c97445ae7828c9261488d6e53f9af3499b205d44e080a2b31f0aad8f914f9
MD5 da8872b5a802c3681134ca9ca91958fc
BLAKE2b-256 cad16691ad1d6cbc1f68f105b9f71907b01adb7851b86889e83d320a986b7b1b

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