Skip to main content

Local CLI is an extendable interactive command line tool built in mind with the objective to make the interaction with day to day scripts more user friendly. The scripts you use daily should be easy to maintain, develop and document so you don't need to worry to write long documents on how to use them.

Project description

Introduction

PyPI version Build Status Coverage badge CodeQL CII Best Practices Docs badge Chat badge License

Local development productivity tools meant to smooth and ease developers day to day work. It is meant to be cross-platform but for now is tested using MacOs and Ubuntu

This are few examples

  • unified command line interfaces for multiple cli tools

  • interactive command line mode

    • this act as an interactive wrapper on top of existing cli tools
    • also allow extending the existing cli tools with auto-completion, input enhanced wizard or description
    • allow switching between command namespaces in the same terminal
  • Implement custom CLI tools using Python, fully integrate with all LCLI tool features:

    • just write some code class or function and configure them to be wired in application
  • use Fire to auto document Python objects, so all you should do is to focus on business logic

Features

Fire mode

In fire mode the application allow user to configure a hierarchy of objects that fit its needs for various project. The user can navigate and execute the hierarchy using Fire library by Google. "Python Fire is a library for automatically generating command line interfaces (CLIs) from absolutely any Python object." https://github.com/google/python-fire

Interactive mode

Most often during the development process developers are using various tools for various projects. The interactive mode purpose is to improve productivity by offering auto-completion details on the spot. This is implemented on top of python cmd package: https://docs.python.org/3/library/cmd.html

Getting Started

Installation process

Install from source

# Using invoke
invoke install
#from project root directory
./install
#or 
python3 -m pip install -r requirements.txt
python3 -m pip install . --user

Software dependencies

This is a Python package available as MIT License and is depending on following packages:

Latest releases

  • V-0.2.2 - First released version.

API references

Build and Test

Build

# Using invoke
invoke build

Test

# Using invoke
invoke test
invoke coverage
# Using pytest
py.test
pytest --cov=src/lcli/ .

Use cases

Usage

Configuration

Author

George Babarus

Contribute

Feel free to contribute to this project and make developer life essayer:

  • by submitting new ideas as a github issue here
  • by making pull request with specific bug fixes
  • for new features or architectural change please contact George Babarus to avoid double work on any way.

Useful links

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

flex_cli-0.3.7.tar.gz (51.5 kB view details)

Uploaded Source

Built Distribution

flex_cli-0.3.7-py3-none-any.whl (78.0 kB view details)

Uploaded Python 3

File details

Details for the file flex_cli-0.3.7.tar.gz.

File metadata

  • Download URL: flex_cli-0.3.7.tar.gz
  • Upload date:
  • Size: 51.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.6.1 CPython/3.10.12 Linux/6.5.0-17-generic

File hashes

Hashes for flex_cli-0.3.7.tar.gz
Algorithm Hash digest
SHA256 9a29e082d9d9ec205d745cf20f50025e0d7b7babefef9bafdc509a79c7dfd097
MD5 d34d711e998a0b468764624efc37bac8
BLAKE2b-256 18a2c2ef49864ed5fa21c2516a494f3d824939ed91440d1e1cde7aacc32d7d67

See more details on using hashes here.

File details

Details for the file flex_cli-0.3.7-py3-none-any.whl.

File metadata

  • Download URL: flex_cli-0.3.7-py3-none-any.whl
  • Upload date:
  • Size: 78.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.6.1 CPython/3.10.12 Linux/6.5.0-17-generic

File hashes

Hashes for flex_cli-0.3.7-py3-none-any.whl
Algorithm Hash digest
SHA256 53d4b0ea9b690625c1ceae39e0a35b2cd099c7d0de3ffbb682a6299c334285e4
MD5 7903e6c68f9f17b2652c5814b485e0c9
BLAKE2b-256 b9603563a10929e9201cc5f60eee7536739e2259ce1d3906d86e1fb9624f34c6

See more details on using hashes here.

Supported by

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