TODO List for Gimeltra

Critical Fixes

  • Resolve license inconsistency between README.md (MIT) and setup.py (GPLv2)
  • Update version number from 1.0.0 to 1.1.0
  • Fix any deprecation warnings in dependencies

Testing

  • Create test directory structure
  • Write unit tests for Transliterator class
  • Write tests for each script conversion
  • Add tests for CLI functionality
  • Add tests for edge cases (empty strings, invalid scripts)
  • Set up pytest configuration
  • Add coverage reporting

Documentation

  • Add comprehensive docstrings to all functions and classes
  • Create API documentation using Sphinx
  • Add more usage examples to README
  • Document transliteration rules and conventions
  • Create CONTRIBUTING.md
  • Add badges to README (build, coverage, version)

Code Quality

  • Add type hints throughout the codebase
  • Implement proper error handling and custom exceptions
  • Add input validation for scripts and text
  • Replace print statements with proper logging
  • Add code formatting with black/ruff
  • Set up pre-commit hooks

CI/CD

  • Create GitHub Actions workflow for testing
  • Add workflow for code quality checks
  • Set up automated PyPI deployment
  • Add multi-Python version testing (3.9-3.12)
  • Add security scanning

Deployment

  • Create Dockerfile
  • Add docker-compose.yml for easy setup
  • Create PyInstaller spec for standalone executable
  • Ensure proper wheel generation
  • Consider conda-forge package

Dependencies

  • Evaluate if yaplon is necessary
  • Pin all dependency versions
  • Add optional dependencies for development
  • Create requirements-dev.txt

Features

  • Add batch file processing
  • Implement progress bars for long operations
  • Add JSON output format option
  • Create REST API wrapper
  • Add configuration file support

Performance

  • Profile code to identify bottlenecks
  • Optimize regular expression usage
  • Consider lazy loading for JSON data
  • Add caching for common conversions

Project Structure

  • Reorganize code into logical modules
  • Separate CLI from library code
  • Create dedicated config module
  • Add all exports properly

Data Management

  • Validate JSON data on load
  • Add data integrity checks
  • Document data format specification
  • Create tool for data validation

Community

  • Set up issue templates
  • Create pull request template
  • Add code of conduct
  • Set up discussions/wiki

[Github](https://github.com/twardoch/gimeltra)