Name | kraken-build JSON |
Version |
0.40.4
JSON |
| download |
home_page | None |
Summary | None |
upload_time | 2024-10-04 11:27:07 |
maintainer | None |
docs_url | None |
author | Niklas Rosenstein |
requires_python | >=3.10 |
license | MIT |
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"
}