qalsadi
qalsadi copied to clipboard
Qalsadi Improvement TODO List
trafficstars
๐ง Core Functionality
- [x] Improve tokenization accuracy and speed.
- [x] Implement better error handling when malformed input is given.
- [x] Refactor internal logic to be more modular (e.g., separate analysis pipeline components).
- [x] Add support for configurable morphological analysis depth or verbosity levels. (using output profiles)
๐งช Testing
- [x] Write unit tests for core modules (
analyzer,stemmer, etc.). - [x] Add test cases for edge cases like empty strings, special characters, or rare word forms.
- [x] Use fixtures or sample corpora for regression testing.
- [x] Add CI integration (GitHub Actions or similar) for automatic test runs.
๐ก New Features
- [ ] #15
- [x] Enable optional output of all morphological solutions, not just the top one.
- [x] Add option to return roots, POS tags, patterns, and vocalized forms.
- [x] Provide filtering capabilities (e.g., filter by POS, pattern, etc.).
๐ CLI and Web Interface
- [x] Add or improve command-line interface (CLI) for batch processing.
- [x] Add main.py for running with python -m qalsadi
- [x] Add CLI entry point using argparse or typer
- [x] Expose key functions in qalsadi/init.py:
- [x] Enhance Flask web demo or migrate UI to modern stack (e.g., Tailwind CSS).
- [x] Add ability to export analysis results (JSON, CSV, HTML).
- [x] Add file upload support
- [x] And recursive directory processing.
๐ฆ Packaging and Distribution
- [x] Clean up and document the
setup.py/pyproject.toml. - [x] Ensure proper versioning and changelog updates.
- [x] Publish prebuilt wheels for popular platforms.
- [x] Ensure compatibility with latest Python versions.
๐ Documentation
- [x] Rewrite and structure documentation using Markdown.
- [x] Include usage examples (Python code, CLI usage, Web API calls).
- [ ] #18
- [ ] #19
- [x] Add README badges (e.g., PyPI version, tests, license, etc.).
๐ Evaluation and Benchmarking
- [x] Integrate an evaluation framework using gold-standard datasets.
- [x] Provide summary statistics (accuracy, precision, recall).
- [x] Add tools for visualizing morphological ambiguity.
- [x] Support diacritic-insensitive and character-level comparison.
๐ค Contributing and Community
- [x] Add a
CONTRIBUTING.mdguide. - [x] Tag good first issues and help-wanted items.
- [ ] #17
- [x] Set up GitHub Discussions or a forum for user support.
๐ง Advanced Ideas (Optional)
- [x] #16