Introduction
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:
- fire https://github.com/google/python-fire/releases
- pinject https://github.com/google/pinject/releases
- PyYAML
- prompt_toolkit
- pyfiglet
- blessings
- tk
- appJar
- jsonschema
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
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
- https://mypy.readthedocs.io/en/latest/generics.html#generics
- https://code-maven.com/interactive-shell-with-cmd-in-python
- https://www.journaldev.com/16140/python-system-command-os-subprocess-call
- https://stackoverflow.com/questions/3262569/validating-a-yaml-document-in-python
- https://github.com/oclif/oclif#-cli-types
- https://medium.com/the-z/getting-started-with-oclif-by-creating-a-todo-cli-app-b3a2649adbcf
- https://opensource.com/article/17/5/4-practical-python-libraries
Metadata
Release files for flex-cli 0.3.7
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| flex_cli-0.3.7.tar.gz | 51.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| flex_cli-0.3.7-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 129.6 kB
Release files / flex_cli-0.3.7.tar.gz
| Download URL | flex_cli-0.3.7.tar.gz |
|---|---|
| Size | 51.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
9a29e082d9d9ec205d745cf20f50025e0d7b7babefef9bafdc509a79c7dfd097
|
|
BLAKE2b-256 checksum How to use checksums |
18a2c2ef49864ed5fa21c2516a494f3d824939ed91440d1e1cde7aacc32d7d67
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.6.1 CPython/3.10.12 Linux/6.5.0-17-generic
|
Release files / flex_cli-0.3.7-py3-none-any.whl
| Download URL | flex_cli-0.3.7-py3-none-any.whl |
|---|---|
| Size | 78.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
53d4b0ea9b690625c1ceae39e0a35b2cd099c7d0de3ffbb682a6299c334285e4
|
|
BLAKE2b-256 checksum How to use checksums |
b9603563a10929e9201cc5f60eee7536739e2259ce1d3906d86e1fb9624f34c6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.6.1 CPython/3.10.12 Linux/6.5.0-17-generic
|