Skip to main content

An alias manager and an infinitely extensible CLI.

Project description

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.

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

exli-0.1.1.tar.gz (5.0 kB view hashes)

Uploaded Source

Built Distribution

exli-0.1.1-py2.py3-none-any.whl (5.9 kB view hashes)

Uploaded Python 2 Python 3

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