Skip to main content

Environment Manager CLI wrapping package managers calls as serialized config file

Project description

kloch

documentation badge Made with Python

[!WARNING] Despite being public, this repository is still in development stage and have not been tested extensively yet.

banner with logo and logotype

kloch /klˈoʃ/ is a configuration system for launching software. Configurations are yaml files referred as "environment profile" which specify the parameters for one or multiple pre-defined launchers.

Launchers are internally defined python objects that specify how to execute a combinations of options and (optional) command.

In a very abstract way, kloch is a system that:

  • serialize the arguments passed to a pre-defined function as yaml files.
  • execute that function by unserializing the parameters provided at runtime.

kloch was initially designed as the environment manager layer when used with the rez package manager.

features

  • offer a CLI and a public python API
  • custom config format for environment profiles:
    • inheritance
    • inheritance merging rules with token system
  • arbitrary profile locations with flexible configuration
  • plugin system for launchers

programming distinctions

  • robust logging.
  • good amount of unittesting
  • good documentation with a lot of doc created at code level
  • python 3.7+ support (EOL was in June 2023).
  • PyYAML as only mandatory external python dependency.
  • flexible "meta" configuration from environment variable or config file.
  • clear public and private API

quick-start

pip install kloch
kloch --help
# or:
python -m kloch --help 

documentation

Check the detailed documentation at https://knotsanimation.github.io/kloch/

Project details


Download files

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

Source Distribution

kloch-0.13.0.tar.gz (27.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

kloch-0.13.0-py3-none-any.whl (37.0 kB view details)

Uploaded Python 3

File details

Details for the file kloch-0.13.0.tar.gz.

File metadata

  • Download URL: kloch-0.13.0.tar.gz
  • Upload date:
  • Size: 27.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.8

File hashes

Hashes for kloch-0.13.0.tar.gz
Algorithm Hash digest
SHA256 4203d240dfceefcd0e8f4cd8882df31f5feb685c365d0153a6784d04a3c57c3d
MD5 a0cbf2fb588b9b2a83f47c476f53ee18
BLAKE2b-256 2af07e2eebf6dfc846e48b33a7b8c7c3a1a98d495a30292994ce9aa252fefa1e

See more details on using hashes here.

File details

Details for the file kloch-0.13.0-py3-none-any.whl.

File metadata

  • Download URL: kloch-0.13.0-py3-none-any.whl
  • Upload date:
  • Size: 37.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.8

File hashes

Hashes for kloch-0.13.0-py3-none-any.whl
Algorithm Hash digest
SHA256 039c0425a9050fe14070a882674e1394e16d8f949f7aa3f1fc38895f0a984dc1
MD5 13cfc0d9f563458a26e35ec980536a89
BLAKE2b-256 4d5317119bfa2311a159d67f544d237bae46fec9ef2f0a13d5ef950b5fd3bdc6

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page