Loading...
Loading...
Loading...
- [ ] Add comprehensive docstrings to all classes and methods in `__init__.py`
# TODO List - OpenType Feature Freezer ## Immediate Priority Tasks ### Documentation - [ ] Add comprehensive docstrings to all classes and methods in `__init__.py` - [ ] Add docstrings to all functions in `cli.py` - [ ] Create inline code comments for complex logic - [ ] Add type hints to remaining untyped functions - [ ] Write API documentation using Sphinx - [ ] Update README.md with badges and better examples - [ ] Create CONTRIBUTING.md guide - [ ] Add troubleshooting section to documentation ### Error Handling - [ ] Create `exceptions.py` with custom exception classes - [ ] Replace generic try/except blocks with specific exceptions - [ ] Add input validation for font files - [ ] Validate feature tags before processing - [ ] Improve error messages with actionable suggestions - [ ] Add proper logging configuration ### Testing - [ ] Increase test coverage to >90% - [ ] Add unit tests for error conditions - [ ] Create integration tests for full workflows - [ ] Add property-based tests using Hypothesis - [ ] Test with various font formats (TTF, OTF, WOFF, WOFF2) - [ ] Add performance benchmarks ### CI/CD Setup - [ ] Create GitHub Actions workflow for testing - [ ] Add matrix testing for Python 3.8-3.12 - [ ] Set up cross-platform testing (Windows, macOS, Linux) - [ ] Configure automatic PyPI releases - [ ] Add code coverage reporting - [ ] Set up dependabot for dependency updates ## Short-term Tasks (1-2 months) ### Code Refactoring - [ ] Split large functions into smaller, focused methods - [ ] Extract substitution logic into separate classes - [ ] Replace SimpleNamespace with dataclasses - [ ] Implement proper separation of concerns - [ ] Add design patterns (Strategy, Factory) - [ ] Remove code duplication - [ ] Split `RemapByOTL` class into smaller, single-responsibility modules/classes (e.g., `FontIOHandler`, `FeatureProcessor`, `CmapRemapper`, `FontNamer`, `Reporter`) - [ ] Split `tests/test_rename.py` into `tests/test_rename_ttf.py` and `tests/test_rename_otf.py` - [ ] Extract `get_version` from `app/dmgbuild_settings.py` to `app/utils.py` - [ ] Extract `icon_from_app` from `app/dmgbuild_settings.py` to `app/mac_app_utils.py` ### Build System - [ ] Simplify PyInstaller specs - [ ] Investigate modern packaging alternatives (Briefcase, PyOxidizer) - [ ] Create unified build process for CLI and GUI - [ ] Add build scripts for all platforms - [ ] Create automated release scripts ### GUI Improvements - [ ] Evaluate modern GUI frameworks as Gooey alternatives - [ ] Add drag-and-drop support for font files - [ ] Implement batch processing interface - [ ] Add preferences/settings persistence - [ ] Create font feature preview - [ ] Improve error reporting in GUI ## Medium-term Tasks (3-6 months) ### CLI Enhancements - [ ] Add Rich library for beautiful terminal output - [ ] Implement progress bars for operations - [ ] Add interactive mode for guided usage - [ ] Create shell completion scripts - [ ] Add --dry-run option - [ ] Implement verbose logging levels ### Distribution - [ ] Create Homebrew formula for macOS - [ ] Create Chocolatey package for Windows - [ ] Submit to Linux package repositories - [ ] Create Docker images - [ ] Set up Docker Hub automated builds - [ ] Create portable versions ### Performance - [ ] Profile code for bottlenecks - [ ] Optimize font processing algorithms - [ ] Add multiprocessing for batch operations - [ ] Implement caching for repeated operations - [ ] Reduce memory usage for large fonts ## Long-term Tasks (6+ months) ### Advanced Features - [ ] Add variable font support - [ ] Implement color font handling - [ ] Create font feature analysis tools - [ ] Add font comparison utilities - [ ] Support for more substitution types - [ ] Implement feature interaction detection ### API and Integration - [ ] Create Python API for programmatic use - [ ] Develop RESTful web service - [ ] Build WebAssembly version - [ ] Create plugin system - [ ] Add webhook support - [ ] Develop browser extension ### Community - [ ] Create project website - [ ] Set up discussion forum - [ ] Write tutorials and guides - [ ] Create video demonstrations - [ ] Establish code of conduct - [ ] Build contributor community ## Bug Fixes and Maintenance ### Known Issues - [ ] Fix potential Unicode handling edge cases - [ ] Resolve memory leaks in batch processing - [ ] Handle corrupted font files gracefully - [ ] Fix GUI freezing on large operations - [ ] Improve cross-platform path handling ### Technical Debt - [ ] Remove deprecated function usage - [ ] Update to latest fontTools APIs - [ ] Clean up legacy code - [ ] Standardize coding style - [ ] Remove unused imports and variables - [ ] Optimize import statements ## Documentation Tasks ### User Documentation - [ ] Create user manual - [ ] Write FAQ section - [ ] Add cookbook with recipes - [ ] Create quick start guide - [ ] Document all CLI options - [ ] Add GUI screenshots ### Developer Documentation - [ ] Document architecture decisions - [ ] Create development setup guide - [ ] Write testing guidelines - [ ] Document release process - [ ] Add code style guide - [ ] Create plugin development guide ## Quality Assurance ### Code Quality - [ ] Achieve 100% type coverage - [ ] Fix all Ruff warnings - [ ] Add security scanning - [ ] Implement complexity limits - [ ] Add mutation testing - [ ] Create quality dashboards ### User Experience - [ ] Conduct usability testing - [ ] Gather user feedback - [ ] Implement telemetry (opt-in) - [ ] Create user surveys - [ ] Analyze usage patterns - [ ] Improve based on feedback
- Without a harness, you **can't compare** prompts, models, retrieval configs, or costs.
Evaluate, benchmark, and regression-test AI/LLM systems. Covers evaluation framework design, benchmark creation, human evaluation protocols, automated evaluation (LLM-as-judge), regression testing, statistical significance, and continuous evaluation pipelines.
<img width="1388" height="298" alt="full_diagram" src="https://github.com/user-attachments/assets/12a2371b-8be2-4219-9b48-90503eb43c69" />
A list of all public EEG-datasets. This list of EEG-resources is not exhaustive. If you find something new, or have explored any unfiltered link in depth, please update the repository.