avnie


Nameavnie JSON
Version 2024.8.9 PyPI version JSON
download
home_pagehttps://pypi.org/project/avnie
SummaryA fast & user-friendly command-line interface (CLI) for avro.py.
upload_time2024-08-09 14:29:22
maintainerNone
docs_urlNone
authorHitBlast
requires_python<4.0,>=3.8
licenseMIT
keywords python phonetics avro avro phonetic bangla bengali bengali phonetics transliteration command-line cli command-line interface avnie avnie-cli avro.py-cli
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            <!-- SPDX-License-Identifier: MIT -->

<div align="center">

# <img src="https://raw.githubusercontent.com/github/explore/80688e429a7d4ef2fca1e82350fe8e3517d3494d/topics/python/python.png" height="40px"/> avnie

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

[![Downloads](https://static.pepy.tech/personalized-badge/avnie?period=total&units=international_system&left_color=grey&right_color=black&left_text=Downloads)](https://pepy.tech/project/avnie)
![Python Version](https://img.shields.io/pypi/pyversions/avro.py.svg?color=black&label=Python)
![License](https://img.shields.io/pypi/l/avnie.svg?color=black&label=License)

<br>

<img src="https://github.com/hitblast/avnie/blob/main/assets/banner.png?raw=True" style="width: 500px; height: auto;"><br>

[![Unit Tests](https://github.com/hitblast/avnie/actions/workflows/unit-tests.yml/badge.svg?branch=main)](https://github.com/hitblast/avnie/actions/workflows/unit-tests.yml)
[![Nightly Builds](https://github.com/hitblast/avnie/actions/workflows/nightly.yml/badge.svg?branch=main)](https://github.com/hitblast/avnie/actions/workflows/nightly.yml)
[![Linting](https://github.com/hitblast/avnie/actions/workflows/linting.yml/badge.svg)](https://github.com/hitblast/avnie/actions/workflows/linting.yml)
[![Formatting](https://github.com/hitblast/avnie/actions/workflows/formatting.yml/badge.svg)](https://github.com/hitblast/avnie/actions/workflows/formatting.yml)

<br>

</div>

---

<br>

## ⚡ Overview

**avnie** provides a fast and sleek command-line based user interface for the [avro.py](https://github.com/hitblast/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.

<br>

## 🔨 Installation

- ### Pip
This package requires **Python 3.8 or higher** to be used inside your development environment.

```sh
# 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](https://github.com/hitblast/avnie/releases) section for your respective platform. After downloading, you can add the binary to your `PATH` variable for easy access.

<br>

## 🚀 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:

```sh
# 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:
```sh
# 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 "আমি বাংলায় গান গাইতে ভালবাসি" --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:
```sh
$ 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.).

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

<br>

## 🔨 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
- [Python 3.8](https://www.python.org) or higher
- The [Poetry](https://python-poetry.org) package manager

#### Steps

```sh
# 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:

```sh
# This uses the inclued Makefile.
$ make test

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

<br>

## ⚒️ 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
- [Python 3.12](https://www.python.org) or higher
- The [Poetry](https://python-poetry.org) package manager
- [Clang](https://clang.llvm.org) (preferred C compiler, you can use others as well)

#### Steps
```sh
# 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.

---

<br>

## 📋 License

Licensed under the [MIT License](https://github.com/hitblast/avnie/blob/main/LICENSE).

            

Raw data

            {
    "_id": null,
    "home_page": "https://pypi.org/project/avnie",
    "name": "avnie",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "<4.0,>=3.8",
    "maintainer_email": null,
    "keywords": "python, phonetics, avro, avro phonetic, bangla, bengali, bengali phonetics, transliteration, command-line, cli, command-line interface, avnie, avnie-cli, avro.py-cli",
    "author": "HitBlast",
    "author_email": "hitblastlive@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/dc/03/62eb89a6c572bb189e030839d1497ea07b103351475f7e93c78d137eb6c7/avnie-2024.8.9.tar.gz",
    "platform": null,
    "description": "<!-- SPDX-License-Identifier: MIT -->\n\n<div align=\"center\">\n\n# <img src=\"https://raw.githubusercontent.com/github/explore/80688e429a7d4ef2fca1e82350fe8e3517d3494d/topics/python/python.png\" height=\"40px\"/> avnie\n\nA fast & user-friendly command-line interface (CLI) for **avro.py**.\n\n[![Downloads](https://static.pepy.tech/personalized-badge/avnie?period=total&units=international_system&left_color=grey&right_color=black&left_text=Downloads)](https://pepy.tech/project/avnie)\n![Python Version](https://img.shields.io/pypi/pyversions/avro.py.svg?color=black&label=Python)\n![License](https://img.shields.io/pypi/l/avnie.svg?color=black&label=License)\n\n<br>\n\n<img src=\"https://github.com/hitblast/avnie/blob/main/assets/banner.png?raw=True\" style=\"width: 500px; height: auto;\"><br>\n\n[![Unit Tests](https://github.com/hitblast/avnie/actions/workflows/unit-tests.yml/badge.svg?branch=main)](https://github.com/hitblast/avnie/actions/workflows/unit-tests.yml)\n[![Nightly Builds](https://github.com/hitblast/avnie/actions/workflows/nightly.yml/badge.svg?branch=main)](https://github.com/hitblast/avnie/actions/workflows/nightly.yml)\n[![Linting](https://github.com/hitblast/avnie/actions/workflows/linting.yml/badge.svg)](https://github.com/hitblast/avnie/actions/workflows/linting.yml)\n[![Formatting](https://github.com/hitblast/avnie/actions/workflows/formatting.yml/badge.svg)](https://github.com/hitblast/avnie/actions/workflows/formatting.yml)\n\n<br>\n\n</div>\n\n---\n\n<br>\n\n## \u26a1 Overview\n\n**avnie** provides a fast and sleek command-line based user interface for the [avro.py](https://github.com/hitblast/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.\n\nThe 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.\n\n## \u2728 ... but for whom?\n\nThe 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.\n\n<br>\n\n## \ud83d\udd28 Installation\n\n- ### Pip\nThis package requires **Python 3.8 or higher** to be used inside your development environment.\n\n```sh\n# Install / upgrade.\n$ pip install avnie\n```\n\n- ### Prebuilt Binaries\n\nPrebuilt binaries are available for **Windows, macOS, and Linux**. You can download the latest binary from the [Releases](https://github.com/hitblast/avnie/releases) section for your respective platform. After downloading, you can add the binary to your `PATH` variable for easy access.\n\n<br>\n\n## \ud83d\ude80 Usage\n\n### \ud83d\udd38 Command Mode\n\nThe usage of avnie is pretty straightforward. You can either use `avro` or `avnie` as the keyword for executing avnie commands. Here are some examples:\n\n```sh\n# Get basic help regarding usage.\n# This also provides additional functionality like autocompletion (TBA).\n$ avnie --help\n$ avro --help  # or\n\n# Parse a given English text to Bengali.\n$ avro parse \"ami banglay gan gaite bhalobasi\"\n\n# Reverse a given Bengali text to English.\n$ avro reverse \"\u0986\u09ae\u09bf \u09ac\u09be\u0982\u09b2\u09be\u09df \u0997\u09be\u09a8 \u0997\u09be\u0987\u09a4\u09c7 \u09ad\u09be\u09b2\u09ac\u09be\u09b8\u09bf\"\n```\n\nMore 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`.\n\nSome **universal flags** for each commands include:\n```sh\n# Automatically copy the output to clipboard.\n$ avnie parse \"oiTa ke?\" --copy-on-success  # or -c\n\n# Get text from clipboard.\n$ avnie parse --from-clip # or -f\n\n# Toggle between remap and full manual mode.\n$ avnie parse \"wikipedia\"  # remap\n$ avnie parse \"wikipedia\" --ignore-remap  # no remap (can also use --i)\n\n# Convert to Bijoy on output.\n$ avnie parse \"\u0986\u09ae\u09bf \u09ac\u09be\u0982\u09b2\u09be\u09df \u0997\u09be\u09a8 \u0997\u09be\u0987\u09a4\u09c7 \u09ad\u09be\u09b2\u09ac\u09be\u09b8\u09bf\" --bijoy  # or -b\n```\n\n---\n\n### \ud83d\udd38 Interactive Mode\n\nThere 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. \n\nYou can start the interactive mode by running the following command:\n```sh\n$ avnie interactive\n```\n\nIf 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.).\n\n```sh\n# Add this to your shell configuration file.\nexport AVRO_INTERACTIVE=1\n```\n\n<br>\n\n## \ud83d\udd28 Building for Python\n\nIf you'd like to build the project from source for your local Python installation, you can follow the steps given below to get started:\n\n#### Requirements\n- [Python 3.8](https://www.python.org) or higher\n- The [Poetry](https://python-poetry.org) package manager\n\n#### Steps\n\n```sh\n# Create a virtual environment using the venv command.\n$ python -m venv venv && source venv/bin/activate\n\n# Install the required dependencies and optionally update them.\n$ make install # or poetry install --sync\n$ poetry update\n\n# Start using it!\n$ avnie --help\n\n# Optionally, you can also build the Python package locally.\n$ poetry build\n```\n\nOptionally, run unit tests to ensure everything is working as expected:\n\n```sh\n# This uses the inclued Makefile.\n$ make test\n\n# or, run the pytest framework from poetry directly.\n$ poetry run pytest .\n```\n\n<br>\n\n## \u2692\ufe0f Compiling to Binaries\n\nIf you'd like to compile the project to a binary for your respective platform, you can follow the steps given below to get started:\n\n#### Requirements\n- [Python 3.12](https://www.python.org) or higher\n- The [Poetry](https://python-poetry.org) package manager\n- [Clang](https://clang.llvm.org) (preferred C compiler, you can use others as well)\n\n#### Steps\n```sh\n# Create a virtual environment using the venv command.\n$ python -m venv venv && source venv/bin/activate\n\n# Install the required dependencies and optionally update them.\n$ make install && poetry update\n\n# Compile using Nuitka. This uses the included Makefile.\n$ make build\n```\n\nAfter 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.\n\n---\n\n<br>\n\n## \ud83d\udccb License\n\nLicensed under the [MIT License](https://github.com/hitblast/avnie/blob/main/LICENSE).\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "A fast & user-friendly command-line interface (CLI) for avro.py.",
    "version": "2024.8.9",
    "project_urls": {
        "Homepage": "https://pypi.org/project/avnie",
        "Repository": "https://github.com/hitblast/avnie"
    },
    "split_keywords": [
        "python",
        " phonetics",
        " avro",
        " avro phonetic",
        " bangla",
        " bengali",
        " bengali phonetics",
        " transliteration",
        " command-line",
        " cli",
        " command-line interface",
        " avnie",
        " avnie-cli",
        " avro.py-cli"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "053d35d36d48f10fbc0c56dcac0dbe5cf4ad47056307f35faab82dc7050c092e",
                "md5": "f2956c96c9f6744102f1e378592df5e2",
                "sha256": "464a970a307d6b7b59d4ac1c940e987a4ac265b353ad4d44be3170eaa5297534"
            },
            "downloads": -1,
            "filename": "avnie-2024.8.9-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "f2956c96c9f6744102f1e378592df5e2",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<4.0,>=3.8",
            "size": 7440,
            "upload_time": "2024-08-09T14:29:21",
            "upload_time_iso_8601": "2024-08-09T14:29:21.507598Z",
            "url": "https://files.pythonhosted.org/packages/05/3d/35d36d48f10fbc0c56dcac0dbe5cf4ad47056307f35faab82dc7050c092e/avnie-2024.8.9-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "dc0362eb89a6c572bb189e030839d1497ea07b103351475f7e93c78d137eb6c7",
                "md5": "8989acbecebd5e10b513c5ad23155ce1",
                "sha256": "b1a1c12bd0fcd9414f516738ca68dbc8b202dd9e2e03d6c511a09ebab017e079"
            },
            "downloads": -1,
            "filename": "avnie-2024.8.9.tar.gz",
            "has_sig": false,
            "md5_digest": "8989acbecebd5e10b513c5ad23155ce1",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<4.0,>=3.8",
            "size": 6334,
            "upload_time": "2024-08-09T14:29:22",
            "upload_time_iso_8601": "2024-08-09T14:29:22.718375Z",
            "url": "https://files.pythonhosted.org/packages/dc/03/62eb89a6c572bb189e030839d1497ea07b103351475f7e93c78d137eb6c7/avnie-2024.8.9.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-08-09 14:29:22",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "hitblast",
    "github_project": "avnie",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "avnie"
}
        
Elapsed time: 2.54590s