Skip to content
/ avnie Public

⚡ A fast & user-friendly command-line interface (CLI) for avro.py.

License

Notifications You must be signed in to change notification settings

hitblast/avnie

Repository files navigation

avnie

A fast & user-friendly command-line interface (CLI) for avro.py.

Downloads Python Version License



Unit Tests Nightly Builds Linting Formatting




⚡ Overview

avnie provides a fast and sleek command-line based user interface for the avro.py Python package. It allows you to easily do all of the necessary functions avro.py provides - parsing from English, reversing to Bengali, converting to other formats, you name it! And, avnie does this without the need of writing any actual code.

The project is also built on top of the same Python version that avro.py is based on, so that you can have both of these installed on your local machine without needing to cross-interpret between them.

✨ ... but for whom?

The project is made for those who'd like to use their terminal as a way of quickly and conveniently typing Avro Keyboard-based Bengali text without the need for a hefty frontend UI, or for all the terminal geeks out there.


🔨 Installation

  • Pip

This package requires Python 3.9 or higher to be used inside your development environment.

# Install / upgrade.
$ pip install avnie
  • Prebuilt Binaries

Prebuilt binaries are available for Windows, macOS, and Linux. You can download the latest binary from the Releases section for your respective platform. After downloading, you can add the binary to your PATH variable for easy access.


🚀 Usage

🔸 Command Mode

The usage of avnie is pretty straightforward. You can either use avro or avnie as the keyword for executing avnie commands. Here are some examples:

# Get basic help regarding usage.
# This also provides additional functionality like autocompletion (TBA).
$ avnie --help
$ avro --help  # or

# Parse a given English text to Bengali.
$ avro parse "ami banglay gan gaite bhalObasi"

# Reverse a given Bengali text to English.
$ avro reverse "আমি বাংলায় গান গাইতে ভালোবাসি"

More commands and features will be available as the project progresses in its development phase. For now, you can use the commands above to get started with the basic functionalities. Additional options can be found by running avnie <command> --help.

Some universal flags for each commands include:

# Automatically copy the output to clipboard.
$ avnie parse "oiTa ke?" --copy-on-success  # or -c

# Get text from clipboard.
$ avnie parse --from-clip # or -f

# Toggle between remap and full manual mode.
$ avnie parse "wikipedia"  # remap
$ avnie parse "wikipedia" --ignore-remap  # no remap (can also use --i)

# Convert to Bijoy on output.
$ avnie parse "tumi ke?" --bijoy  # or -b

🔸 Interactive Mode

There is also a dedicated "Interactive Mode" in case you don't like typing the same command over and over again. This is enabled in prebuilt binaries by default.

You can start the interactive mode by running the following command:

$ avnie interactive

If you'd like to make it the default way of using the tool, set the AVRO_INTERACTIVE environment variable to 1 in your shell configuration file (e.g. .bashrc, .zshrc, etc.).

# Add this to your shell configuration file.
export AVRO_INTERACTIVE=1

🔨 Building for Python

If you'd like to build the project from source for your local Python installation, you can follow the steps given below to get started:

Requirements

Steps

# Create a virtual environment using the venv command.
$ python -m venv venv && source venv/bin/activate

# Install the required dependencies and optionally update them.
$ make install # or poetry install --sync
$ poetry update

# Start using it!
$ avnie --help

# Optionally, you can also build the Python package locally.
$ poetry build

Optionally, run unit tests to ensure everything is working as expected:

# This uses the inclued Makefile.
$ make test

# or, run the pytest framework from poetry directly.
$ poetry run pytest .

⚒️ Compiling to Binaries

If you'd like to compile the project to a binary for your respective platform, you can follow the steps given below to get started:

Requirements

Steps

# Create a virtual environment using the venv command.
$ python -m venv venv && source venv/bin/activate

# Install the required dependencies and optionally update them.
$ make install && poetry update

# Compile using Nuitka. This uses the included Makefile.
$ make build

After running the command above, you should either see a main.bin or a main.exe file in the project directory depending on what platform you're compiling for. You can then use this binary to run the project on your local machine.



📋 License

Licensed under the MIT License.