Skip to main content

kien logo

kien is python3 library that allows you to create a custom line-based command parser with the goal of creating shell-like interfaces. kien is not a shell and doesn’t try to be.

If you want to provide an human and machine friendly text-based interface on a serial device kien is for you. kien’s best-case scenario: you’re just writing the code that actually does things.

Please note that kien is under active development and does not have a stable API yet. Breaking changes will occur between minor versions as long as we didn’t publish v1.0.0 but will be documented in the changelog.

kien has support for:

  • (optional) keywords
  • variables
  • validation
  • transformation
  • auto-generated help and documentation
  • dependency-injection
  • human-readable and json output
  • tty handling

Prompt example showing how the say-some-name example works in action

Examples

kien mostly works by annotating functions with decorators. See the examples folder 😊

# run examples with pipenv
pipenv run example examples/say-some-name.py

# or using your shell powers 
# (install dependencies first or initialize and load a virtualenv) 
PYTHONPATH=. python3 examples/say-some-name.py

Work in progress

  • There are currently no tests

    This is not because there shouldn’t be but because kien just recently has been extracted from an application that only tests the actual commands that kien executes. In this sense there are tests that cover most of kien’s functionality but they simple are not public. That being said: kien should and will have tests in the future.

  • Output formatting & Terminal handling

    The way kien handles the terminal and how it writes and formats text are hard-coded and in some need for careful thought and refactoring.

  • There is little documentation

Say my name

kien is a pun and a homage to Commander Keen, because kien’s integral part is called a Commander. kien also is a rather old way to refer to a pine tree in german. There you go :)

Release files for kien 0.16.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for kien 0.16.3
File Size Uploaded
kien-0.16.3.tar.gz 29.0 kB Details

Release files / kien-0.16.3.tar.gz

Download URL kien-0.16.3.tar.gz
Size 29.0 kB
Tags Source
SHA-256 checksum
How to use checksums
33a87efa41bbc4b2750544fae5575129289ab1f5ec0e4e34a7453dfa32b09853
BLAKE2b-256 checksum
How to use checksums
24197b274e713dc7f32ea3ca806a1b7bb770fa1a4f4dd3c9c74f4ded25e14f27
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.3.0 pkginfo/1.4.2 requests/2.25.1 setuptools/52.0.0 requests-toolbelt/0.9.1 tqdm/4.57.0 CPython/3.9.2

Release history Release notifications | RSS feed

This release

0.16.3 This release

1 release file

0.16.2

1 release file

0.16.1

1 release file

0.15.2

1 release file

0.15.0

1 release file

0.14.0

1 release file

0.13.0

1 release file

0.12.4

1 release file

0.12.3

1 release file

0.12.2

1 release file

0.12.0

1 release file

0.11.1

1 release file

0.9.1

1 release file

0.7.0

1 release file

0.6.0

1 release file

0.4.1

1 release file

0.4.0

1 release file

0.2.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page