Install

kloch is a python-based tool with external dependencies.

It uses poetry to manage its dependencies. Those are defined in the pyproject.toml that can be found at the repository’s root :

pyproject.toml
[tool.poetry]
name = "kloch"
# keep in sync with __init__.py
version = "0.10.0"
description = "Environment Manager CLI wrapping package managers calls as serialized config file"
authors = ["Liam Collod <monsieurlixm@gmail.com>"]
readme = "README.md"
documentation = "https://knotsanimation.github.io/kloch/"
keywords = ["environment", "kloch", "packaging", "managing"]
classifiers = [
    "Development Status :: 4 - Beta",
    "Intended Audience :: Developers",
    "Programming Language :: Python :: 3",
    "Programming Language :: Python :: 3.7",
    "Programming Language :: Python :: 3.8",
    "Programming Language :: Python :: 3.9",
    "Programming Language :: Python :: 3.10",
    "Programming Language :: Python :: 3.11",
]

[tool.poetry.dependencies]
python = ">=3.7"
PyYAML = "^6.0.1"

# // extras
black = { version = "^24.4.2", python = ">=3.9", optional = true }
pytest = { version = "7.3.2", python = ">=3.7", optional = true }
# XXX: issue with CI on unix machine
typing-extensions = { version = "<4.8" }
Sphinx = { version = "^7.3.7", python = ">=3.9", optional = true }
sphinx-autobuild = { version = "2024.2.4", python = ">=3.9", optional = true }
sphinx-exec-code = { version = "0.12", python = ">=3.9", optional = true }
sphinx-copybutton = { version = "0.5", python = ">=3.9", optional = true }
furo = { version = "^2024.4.27", python = ">=3.9", optional = true }
myst_parser = { version = "^3", python = ">=3.9,<3.13", optional = true }

[tool.poetry.extras]
dev = [
    "black",
]
tests = [
    "pytest",
    "typing-extensions",
]
doc = [
    "Sphinx",
    "myst_parser",
    "sphinx-autobuild",
    "sphinx-exec-code",
    "sphinx-copybutton",
    "furo",
]


[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"

A quick install could look like:

git clone https://github.com/knotsanimation/kloch.git
cd kloch
poetry install
poetry run python -m kloch --help