Repository navigation
v1.1: A critical bug fix, a nice-to-have feature, and better tooling
User-Visible Changes
This release makes the following major changes:
- It fixes a crashing bug for mirrored CLDR files.
- It improves terminal input/output, notably by
--incrementally/-Idisplaying character blots. That does markedly slow down tool output. But it also allows for measuring the size of character blots by querying the terminal.
Internal Changes
This release also makes significant internal changes. Notably, the UCD implementation is becoming more uniform and more decoupled. The long-term goal is to provide a generally useful UCD abstraction that may not be the fastest but has excellent support for exploratory coding against the UCD.
The development setup has also been updated. Instead of mypy, demicode now uses pyright for type-checking. In my experience, pyright is more accurate than mypy for the same annotations. It has also surfaced two very subtle bugs. They both are fixed.
The runtest.py script runs both type checker and unit tests. Tests are based on Python's unittest package because I find pytest too invasive and too magical, which always ends up interfering with tests in the long term. Unfortunately, unittest is rather baroque and hard to extend because (1) its interfaces are too wide and (2) it hides critical state. The test.runtime module introduces adapter classes that fix these issues for unittest.TestCase and unittest.TestResult. The test script uses them to provide more readable and helpful output.