diff --git a/TODO b/TODO index e747197..920b16c 100644 --- a/TODO +++ b/TODO @@ -1,91 +1,52 @@ -# TODO List for esm-logging - -This is a poor-man's issue tracker. I am not primarily a GitHub user so don't -want to commit to their issue tracking feature, but my primary SVC service -provider (Bitbucket) only offers paid integration into their issue tracker -(Jira). I don't have the time (and patience) at the moment to analyze the best -approach, so this file will have to suffice. - -It's a very simple concept: Track any issues (features, bugfixes, hotfixes) in -here, assign a sequential number to it and use that number when branching. - -I will try to develop a format so that I can parse the file later on, should I -decide to migrate to a real issue tracker. It's probably going to be Bugzilla, -but for that my html-theme-ref project needs to stabilize first. - -## Format Specification - -The file uses Markdown conventions for formatting headers and other text block -entitities, but SHOULD NOT be considered a Markdown file. That's why it has no -definitive file extension. - -Each issue entry follows a structured format for easier parsing and future -migration. Issues MUST be **appended** to this file and never moved, to -preserve Git diffing. - -### Issue Format - -``` - -ID: [ISSUE-NUMBER] -Type: [feature/bugfix/hotfix] -Title: [Short title] -Status: [open/in-progress/done/hold/cancelled] -Priority: [low/medium/high] -Created: [YYYY-MM-DD] -Description: [Detailed explanation] - ---- -``` - -- ISSUE-NUMBERs must be sequential -- truncation of description must be indentended so that every line starts at the - same column -- issues must be started with two LF -- issues must be terminated with two LF, then `---` -- issues may have a free-text field (epilog), which must be started with two LF. - -## Issues +--ISSUE +Content-Type: application/sprints +Sprints: +--ISSUE +Content-Type: application/issue ID: 1 Type: feature Title: implement KMP algorithm for string searching Status: hold Priority: high Created: 2025-05-03 +Relationships: Description: Implement the Knuth-Morris-Pratt algorithm for string searching. I require this for matching RFC 9112 boundaries of entities against a circular buffer. ---- - +--ISSUE +Content-Type: application/issue ID: 2 Type: feature Title: implement circular buffer Status: done Priority: high Created: 2025-05-04 +Relationships: Description: implement a simple circular buffer ---- - +--ISSUE +Content-Type: application/issue ID: 3 Type: bugfix Title: move unit tests to subdirectory Status: done Priority: high Created: 2025-05-04 +Relationships: Description: move the unit test suites to a unit/ subdirectory so that integration tests and benchmarks can be cleanly separated ---- - +--ISSUE +Content-Type: application/issue ID: 4 Type: feature Title: implement Rabin-Karp rolling hash algorithm Status: done Priority: high Created: 2025-05-05 +Relationships: Description: After testing a couple of string search algorithms, I've ditched the idea of using KMP as my use-case gives no advantage compared to naive searching. In addition I've came upon the challenge that many @@ -97,147 +58,158 @@ Description: After testing a couple of string search algorithms, I've ditched need an implementation of the original Rabin-Karp rolling hash algorithm ---- - +--ISSUE +Content-Type: application/issue ID: 5 Type: feature Title: implement chunked rolling hash algorithm Status: in-progress Priority: high Created: 2025-05-05 +Relationships: Description: Implement my custom algorithm for doing rolling hash string search against a fixed length ring buffer ---- - +--ISSUE +Content-Type: application/issue ID: 6 Type: feature Title: implement importlib.resources handler for urllib Status: done Priority: high Created: 2025-06-20 +Relationships: Description: A handler that can be registered with an urllib.request OpenerDirector to open importlib.resources package files. ---- - +--ISSUE +Content-Type: application/issue ID: 7 Type: feature Title: setup advanced testing environment Status: done Priority: high Created: 2025-06-20 +Relationships: Description: copy the testing environment setup from byteb4rb1e.sphinxcontrib.ext ---- - +--ISSUE +Content-Type: application/issue ID: 8 Type: bugfix Title: rename package Status: done Priority: high Created: 2025-06-20 +Relationships: Description: use dot namespaces to make the package a little more elegant ---- - +--ISSUE +Content-Type: application/issue ID: 9 Type: bugfix Title: fix LICENSE reference Status: done Priority: high Created: 2025-06-20 +Relationships: Description: license specification is no longer a trove classifier in pyproject.toml, hence the reference to LICENSE must be changed ---- - +--ISSUE +Content-Type: application/issue ID: 10 Type: feature Title: pytest current test context fixtures Status: done Priority: high Created: 2025-06-20 +Relationships: Description: add fixtures for doing things in relation to the active testing context ---- - +--ISSUE +Content-Type: application/issue ID: 11 Type: bugfix Title: move testing utils out of utils Status: done Priority: high Created: 2025-06-20 +Relationships: Description: to shorten the namespace and also indicate that testing utilities are different from regular utilities ---- - +--ISSUE +Content-Type: application/issue ID: 12 Type: feature Title: simplify testing.fixtures.mock_pkg Status: done Priority: high Created: 2025-06-21 +Relationships: Description: Only bootstrap a package mock with the minimum requirements for a Python module and let the consumer handle the directory layout. ---- - +--ISSUE +Content-Type: application/issue ID: 13 Type: bugfix Title: fix unit tests for urllib PkgHandler Status: done Priority: high Created: 2025-06-21 +Relationships: Description: change of issue 12 wasn't properly reflected in urllib PkgHandler unit tests ---- - +--ISSUE +Content-Type: application/issue ID: 14 Type: feature Title: add compression support for urllib PkgHandler Status: done Priority: high Created: 2025-06-21 +Relationships: Description: with a proper content-type of the PkgHandler addinfourl object, a consumer can determine whether the file is compressed or not. ---- - +--ISSUE +Content-Type: application/issue ID: 15 Type: bugfix Title: modularize module containers Status: open Priority: high Created: 2025-06-28 +Relationships: Description: Even though importlib can find submodules through traversing paths instead of relying on __init__.py for every ancestor module, this is not supported by some modules like sphinx.ext.autosummary ---- - +--ISSUE +Content-Type: application/issue ID: 16 Type: feature Title: SQL-aware dataclass Status: in-progress Priority: low Created: 2025-12-31 +Relationships: Description: A dataclass that transparently maps onto an SQL datastore, with command generation for syncing data between data class and store ---- - +--ISSUE +Content-Type: application/issue ID: 17 Type: feature Title: recursive-descent HTML (DOM) parser Status: in-progress Priority: high Created: 2025-12-31 +Relationships: Description: Extend the built-in event-driven parser to be modeled after DOM recursive-descent HTML parser - ----