kraken-build


Namekraken-build JSON
Version 0.40.4 PyPI version JSON
download
home_pageNone
SummaryNone
upload_time2024-10-04 11:27:07
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.
            # 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 run 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/97/10/65f86f52a5e1620492c62ffeaca4e3d85d90275af29a79e628b7e0c24949/kraken_build-0.40.4.tar.gz",
    "platform": null,
    "description": "# 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 run 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.40.4",
    "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": "a89008dbb83febc028962b3b60bc8a57f6e5d2b9d71f0813bcf6dae069ffa5b2",
                "md5": "e8a45e003a492d9b15a78bfbb679645a",
                "sha256": "980e24350dfefb0662e6fbf83f9dbd9cd0eeb584c16a78e8e209c3d16a1cf972"
            },
            "downloads": -1,
            "filename": "kraken_build-0.40.4-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "e8a45e003a492d9b15a78bfbb679645a",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.10",
            "size": 257730,
            "upload_time": "2024-10-04T11:27:04",
            "upload_time_iso_8601": "2024-10-04T11:27:04.007344Z",
            "url": "https://files.pythonhosted.org/packages/a8/90/08dbb83febc028962b3b60bc8a57f6e5d2b9d71f0813bcf6dae069ffa5b2/kraken_build-0.40.4-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "971065f86f52a5e1620492c62ffeaca4e3d85d90275af29a79e628b7e0c24949",
                "md5": "6b97ef9ef2a4767362f5568251deb006",
                "sha256": "6b71ce6774775ef9636fb796cbebbf3ebb8cdfc6191f5ff8f7dc72db3631b2e1"
            },
            "downloads": -1,
            "filename": "kraken_build-0.40.4.tar.gz",
            "has_sig": false,
            "md5_digest": "6b97ef9ef2a4767362f5568251deb006",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.10",
            "size": 185243,
            "upload_time": "2024-10-04T11:27:07",
            "upload_time_iso_8601": "2024-10-04T11:27:07.721182Z",
            "url": "https://files.pythonhosted.org/packages/97/10/65f86f52a5e1620492c62ffeaca4e3d85d90275af29a79e628b7e0c24949/kraken_build-0.40.4.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-10-04 11:27:07",
    "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.36946s