VocabularyCLI is a lightweight Command Line Interface (CLI) that provides users with quick and convenient access to word definitions, examples, synonyms, and antonyms. It is a powerful tool for linguaphiles and language enthusiasts, offering a range of utility-based commands and robust knowledge base capabilities. With features like flashcards, tagging, word management, graph reporting, and bulk import/export of word lists, VocabularyCLI is a definitive software for expanding vocabulary and improving language skills.

The CLI boasts a simple and intuitive interface, making it easy to use for anyone. It offers advanced text classification and processing through the use of Natural Language Processing (NLP) and Machine Learning algorithms, which will be discussed in detail in the “Scope and Features” section. Additionally, the CLI provides an enjoyable and interactive user experience with eye-catching panels, tables, animated symbols, emojis, interactive menus, spinners, colored fonts, and other rich features.

GITHUB : https://github.com/HighnessAtharva/VocabCLI

DOCS : https://vocabcli.github.io/

Project Tech Stack

  • Primary Development Language: Python 3.10
  • Database Management System: SQLite3
  • API: DictionaryAPI (https://api.dictionaryapi.dev/api/v2/entries/en/hello)
  • Deployment: PyPi (Python Package Index)
  • Libraries: Rich, Typer, Matplotlib, Seaborn, NLTK, SpaCy, Pandas, Numpy, Requests, Beautiful Soup, PyDictionary
  • Testing: PyTest (Unit Testing), PyTest-Cov (Code Coverage), PyTest-Benchmark (Benchmarking)
  • Documentation: Sphinx, ReadTheDocs

Learnings

During the development of VocabularyCLI, the project team gained valuable insights and learnings. Some of the key takeaways include:

  • Understanding and implementing NLP techniques for text classification and processing.
  • Utilizing various Python libraries for data visualization, data manipulation, web scraping, and API integration.
  • Effective database management using SQLite3 for storing and retrieving word-related data.
  • Deployment of the CLI package on PyPi for easy installation and distribution.
  • Writing comprehensive documentation using Sphinx and ReadTheDocs to guide users in utilizing the CLI to its full potential.
  • Testing the CLI using PyTest for unit testing, code coverage analysis, and benchmarking.

By applying these learnings, the project team was able to create a robust and feature-rich VocabularyCLI that meets the needs of language enthusiasts and provides a seamless user experience.