Exli
An alias manager and an infinitely extensible CLI.
Installation
pip3 install exli
Exli as an Alias Manager.
Why ?
IDK.,
I don't like writing a ton of aliases in my .bashrc even though I've only like 5 of them. I just wanted a place for all my aliases that are non important (non-important in the sense that, you don't mind writing two more character in front of the real alias, and for small ones that you don't happen
to use that often)
And also its a lot of fun to write something like this, It's small, It's simple and easy to use.
How ?
In order to add new aliases you can run the following command in ur terminal
exli add alias cmd
# OR
xi add alias cmd
Example
Let's say I want to add a small alias that tells me the current weather in my area.
xi add weather curl wttr.in
And I can invoke the alias using the following
xi weather
You cannot name your alias,
add,help,ls. orrmas these are reserved and are used by exli.
Some other commands
-
List all the available aliases
xi ls
-
Remove aliases
xi rm alias1 alias2
-
Get help
xi help
Exli as an Extensible CLI
Why ?
You might have one day decided to write a simple CLI tool but you don't want to access it via the command line with it's own command name. (Maybe its a simple program file that you run ocaasianally in order do to a certain task or something)
How ?
As an example we can make simple CLI that greets someone.
You can write the CLI in any language or in any framework.
# ~/exli-extensions/greet.py
import sys
def main() -> int:
print(f"Hello {' '.join(sys.argv[1:])}")
return 0
if __name__ == "__main__":
raise SystemExit(main())
I also have a venv in the ~/exli-extensions dir.
Now I can add this to exli like so.
xi add greet ~/exli-extensions/env/bin/python3 ~/exli-extensions/greet.py
Now I can invoke the greet command like this.
xi greet Adwaith Rajesh
Hello Adwaith Rajesh
So as you can see you can add as many CLI extensions as you want, you can make it as complex as you want.
Metadata
Release files for exli 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| exli-0.1.1.tar.gz | 5.0 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| exli-0.1.1-py2.py3-none-any.whl | Python 3, Python 2 | none | any | Details |
Total release size: 10.9 kB
Release files / exli-0.1.1.tar.gz
| Download URL | exli-0.1.1.tar.gz |
|---|---|
| Size | 5.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
22f27e02de8f8e8cd397f5cc2001ec8e2f4f91b3c2f602c9351c6afc7b1bd3c0
|
|
BLAKE2b-256 checksum How to use checksums |
53aa38f27b007352f608bb224317a828bb852a30d0df20b80353d06994481181
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.6.0 importlib_metadata/4.8.2 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.10.0
|
Release files / exli-0.1.1-py2.py3-none-any.whl
| Download URL | exli-0.1.1-py2.py3-none-any.whl |
|---|---|
| Size | 5.9 kB |
| Tags | Python 2 Python 3 |
|
SHA-256 checksum How to use checksums |
0ed08c7e5c3876706e66b46209cc57a48a17c618fbce50eea58546cd02e80423
|
|
BLAKE2b-256 checksum How to use checksums |
a12801fa1b0156c2a364d80b612fcd015d542c05f16052bacf1137d1c965624e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.6.0 importlib_metadata/4.8.2 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.10.0
|
Security for exli 0.1.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.