Skip to main content

Exli

GitHub PyPI

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. or rm as 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)

Source distribution for exli 0.1.1
File Size Uploaded Provenance
exli-0.1.1.tar.gz 5.0 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for exli 0.1.1
File Interpreter ABI Platform
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.

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files No provenance

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