kraken-build


Namekraken-build JSON
Version 0.36.5 PyPI version JSON
download
home_pageNone
SummaryNone
upload_time2024-04-11 19:39:58
maintainerNone
docs_urlNone
authorNiklas Rosenstein
requires_python>=3.10
licenseMIT
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            ---
title: Home
---

# The Kraken build system

![kraken-logo](https://i.imgur.com/Lqjy2zi.png)

[![Python](https://github.com/kraken-build/kraken/actions/workflows/python.yaml/badge.svg)](https://github.com/kraken-build/kraken/actions/workflows/python.yaml)
[![PyPI version](https://badge.fury.io/py/kraken-build.svg)](https://badge.fury.io/py/kraken-build)
[![Documentation](https://img.shields.io/badge/Documentation-blue?style=flat&logo=gitbook&logoColor=white)](https://kraken-build.github.io/kraken/)

Kraken is a build system, but not in the traditional sense. 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+

## Getting started

  [Pipx]: https://pypa.github.io/pipx/

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.

    ```py
    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

  [Slap]: https://github.com/NiklasRosenstein/slap

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
```

You may want to use a released version of `krakenw` to interact in the repository however:

    $ krakenw python.install
    $ krakenw run fmt lint test

### 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


            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "kraken-build",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.10",
    "maintainer_email": null,
    "keywords": null,
    "author": "Niklas Rosenstein",
    "author_email": "rosensteinniklas@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/a3/ce/b3a13bbbd4f59cbef1d1a9e04ec7b42517f495e920e2402dfc4c298e662d/kraken_build-0.36.5.tar.gz",
    "platform": null,
    "description": "---\ntitle: Home\n---\n\n# The Kraken build system\n\n![kraken-logo](https://i.imgur.com/Lqjy2zi.png)\n\n[![Python](https://github.com/kraken-build/kraken/actions/workflows/python.yaml/badge.svg)](https://github.com/kraken-build/kraken/actions/workflows/python.yaml)\n[![PyPI version](https://badge.fury.io/py/kraken-build.svg)](https://badge.fury.io/py/kraken-build)\n[![Documentation](https://img.shields.io/badge/Documentation-blue?style=flat&logo=gitbook&logoColor=white)](https://kraken-build.github.io/kraken/)\n\nKraken is a build system, but not in the traditional sense. It's focus is on the orchestration of high-level tasks,\nsuch as organization of your repository configuration, code generation, invoking other build systems, etc. It is not a\nreplacement for tools like Poetry, Cargo or CMake.\n\n__Requirements__\n\n* CPython 3.10+\n\n## Getting started\n\n  [Pipx]: https://pypa.github.io/pipx/\n\nCurrently, Kraken's OSS components are not very well documented and do not provide a convenient way to get started.\nHowever, if you really want to try it, you can use the following steps:\n\n1. Install `kraken-wrapper` (e.g. with [Pipx][]) to get access to the `krakenw` command-line tool.\n2. Create a `.kraken.py` script in your project's root directory.\n\n    ```py\n    from kraken.common import buildscript\n    buildscript(requirements=[\"kraken-build==0.32.3\"])\n    \n    from kraken.std.python import mypy, black, isort\n    mypy()\n    black()\n    isort()\n    ```\n3. Run `krakenw lock` to install `kraken-build` for your project in `build/.kraken/venv` and generate a `kraken.lock` file.\n4. Run `krakenw run lint` to run the linters.\n\n> Note that you can also use the `kraken` CLI (instead of `krakenw`), however this will disregard the `buildscript()`\n> function, will not use the lock file and will use the version of Kraken that was installed globally.\n\n## How-to's\n\n### Upgrade a project's lock file\n\nTo upgrade a project's lock file, run `krakenw lock --upgrade`. This will upgrade all dependencies to the latest\navailable version. If you want to upgrade based on updated constraints in `.kraken.py` without installing from scratch,\nadd the `--incremental` flag or set `KRAKENW_INCREMENTAL=1`.\n\n## Development\n\n  [Slap]: https://github.com/NiklasRosenstein/slap\n\nThis repository uses [Slap][] to manage the Python project. After installing Slap with Pipx, run the following to\ninstall Kraken for development.\n\n```\n$ slap venv -c --python python3.10\n$ slap install --link\n# If you have the Slap shell magic installed, it will activate the Venv in your shell.\n$ slap venv -a\n```\n\nYou may want to use a released version of `krakenw` to interact in the repository however:\n\n    $ krakenw python.install\n    $ krakenw run fmt lint test\n\n### Releases\n\nA release must be created by a maintainer that has write access to the `develop` branch. The release process\nis automated using Slap.\n\n    $ slap release -tp <patch|minor|major|x.y.z>\n    $ slap publish\n\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": null,
    "version": "0.36.5",
    "project_urls": {
        "Bug Tracker": "https://github.com/kraken-build/kraken-build/issues",
        "Documentation": "https://kraken-build.github.io/kraken-build/",
        "Homepage": "https://kraken-build.github.io/kraken-build/",
        "Repository": "https://github.com/kraken-build/kraken-build/"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "0d1a670c11a6be87e5dac286da260267696a39ca4136879bb51d83a67fe82a78",
                "md5": "8fa6395af4330415e5f7abc4e3bb24b4",
                "sha256": "cf7040b1db30a24dd1a2b0f978fd67c6452cebe3786ee9d5425839a8d5fb809a"
            },
            "downloads": -1,
            "filename": "kraken_build-0.36.5-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "8fa6395af4330415e5f7abc4e3bb24b4",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.10",
            "size": 245497,
            "upload_time": "2024-04-11T19:39:53",
            "upload_time_iso_8601": "2024-04-11T19:39:53.954954Z",
            "url": "https://files.pythonhosted.org/packages/0d/1a/670c11a6be87e5dac286da260267696a39ca4136879bb51d83a67fe82a78/kraken_build-0.36.5-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "a3ceb3a13bbbd4f59cbef1d1a9e04ec7b42517f495e920e2402dfc4c298e662d",
                "md5": "9e25b240809a3278497cd45606ea0ce7",
                "sha256": "73c6b75dfbc84806803258f7ef6945498da94a1d7a67e383d73a2b00ba2dc61a"
            },
            "downloads": -1,
            "filename": "kraken_build-0.36.5.tar.gz",
            "has_sig": false,
            "md5_digest": "9e25b240809a3278497cd45606ea0ce7",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.10",
            "size": 176349,
            "upload_time": "2024-04-11T19:39:58",
            "upload_time_iso_8601": "2024-04-11T19:39:58.720934Z",
            "url": "https://files.pythonhosted.org/packages/a3/ce/b3a13bbbd4f59cbef1d1a9e04ec7b42517f495e920e2402dfc4c298e662d/kraken_build-0.36.5.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-04-11 19:39:58",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "kraken-build",
    "github_project": "kraken-build",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "kraken-build"
}
        
Elapsed time: 0.22749s