Arrand-arabic-random-text icon indicating copy to clipboard operation
Arrand-arabic-random-text copied to clipboard

To-Do List for Improvements

Open linuxscout opened this issue 3 months ago • 0 comments
trafficstars

1. Modern Python Packaging (PEP 621)

  • [x] Replace setup.py with pyproject.toml
  • [x] Define metadata: name, version, description, authors, license, etc.
  • [x] Declare dependencies and build backend

2. Code Quality & Documentation

  • [x] Add docstrings (Google or NumPy style) to all public functions and modules
  • [x] Add __main__.py for running with python -m arrand

3. Command-Line Interface (CLI)

  • [x] Add CLI entry point using argparse or typer
  • [x] Allow choosing type of text: aya, hadith, poem, etc.
  • [x] Add optional flag for vocalization

4. Tests

  • [x] Create formal unit tests using pytest
  • [x] Create test files like test_arrandom.py

5. API Exposure

  • [x] Expose key functions in arrand/__init__.py:

    from .arrandom import generate_random_text
    from .builder import TextBuilder
    __all__ = ['generate_random_text', 'TextBuilder']
    

6. Improve README

  • [x] Add examples of usage
  • [x] Add sample output
  • [x] Mention vocalized/unvocalized support
  • [x] Include install and usage instructions

7. Metadata & Versioning

  • [x] Move version to arrand/__version__.py
  • [x] Reference version dynamically in pyproject.toml
  • [x] Keep AUTHORS.md and CREDITS files updated

8. Optional Enhancements

  • [x] Support nonsense generation from nonsense_const.py
  • [x] Add output length control (e.g., --words 10)
  • [x] Add --vocalized flag in CLI to toggle output form

linuxscout avatar Jul 28 '25 13:07 linuxscout