Skip to content

Welcome to DynaCLI

Documentation: DynaCLI Github Pages

Source Code: py-dynacli

DynaCLI (Dynamic CLI) is a cloud-friendly Python library for converting pure Python functions into Linux Shell commands on the fly.

Unlike other existing solutions such as Click and Typer, there is no need for any function decorators. Further, unlike all existing solutions, including those built on top of standard argparse, DynaCLI does not build all command parsers upfront, but rather builds dynamically a single command parser based on the command line inputs. When combined with the Python Cloud Importer solution DynaCLI becomes truly open concerning a practically unlimited set of commands, all coming directly from cloud storage. This, in turn, eliminates any need for periodic updates on client workstations.

At its score, DynaCLI is a Python package structure interpreter which makes any public function executable from the command line.

DynaCLI was developed by BST LABS as an open-source generic infrastructure foundation for the cloud version of Python run-time within the scope of the Cloud AI Operating System (CAIOS) project.

DynaCLI is based on Python 3.9+, standard Python docstrings, and Python type hints.

DynaCLI vital differentiators are:

  • Fast: DynaCLI builds argparse parser hierarchy only for one command thus eliminating the need for preparing parsers for all available commands.
  • Open: adding new command or group of commands (called feature) is as easy as dropping implementation module(s) in the right place of the import tree.
  • Frameworkless: no need to import anything in command modules. Just write plain Python functions with built-in type arguments (*args and **kwargs are supported as well).
  • Zero dependencies: only one module built on top of the standard Python library to install. No heavy dependencies dragged in.
  • Robust: potential defect in any command will not take down the whole system.