todo(18): open

This commit is contained in:
Tiara Rodney 2026-06-06 14:14:13 +02:00
parent d296f135d1
commit 307f7c322c

63
TODO
View file

@ -10,7 +10,7 @@ Title: implement KMP algorithm for string searching
Status: hold
Priority: high
Created: 2025-05-03
Relationships:
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.
@ -23,7 +23,7 @@ Title: implement circular buffer
Status: done
Priority: high
Created: 2025-05-04
Relationships:
Relationships:
Description: implement a simple circular buffer
--ISSUE
@ -34,7 +34,7 @@ Title: move unit tests to subdirectory
Status: done
Priority: high
Created: 2025-05-04
Relationships:
Relationships:
Description: move the unit test suites to a unit/ subdirectory so that
integration tests and benchmarks can be cleanly separated
@ -46,7 +46,7 @@ Title: implement Rabin-Karp rolling hash algorithm
Status: done
Priority: high
Created: 2025-05-05
Relationships:
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
@ -66,7 +66,7 @@ Title: implement chunked rolling hash algorithm
Status: in-progress
Priority: high
Created: 2025-05-05
Relationships:
Relationships:
Description: Implement my custom algorithm for doing rolling hash string search
against a fixed length ring buffer
@ -78,7 +78,7 @@ Title: implement importlib.resources handler for urllib
Status: done
Priority: high
Created: 2025-06-20
Relationships:
Relationships:
Description: A handler that can be registered with an urllib.request
OpenerDirector to open importlib.resources package files.
@ -90,7 +90,7 @@ Title: setup advanced testing environment
Status: done
Priority: high
Created: 2025-06-20
Relationships:
Relationships:
Description: copy the testing environment setup from
byteb4rb1e.sphinxcontrib.ext
@ -102,7 +102,7 @@ Title: rename package
Status: done
Priority: high
Created: 2025-06-20
Relationships:
Relationships:
Description: use dot namespaces to make the package a little more elegant
--ISSUE
@ -113,7 +113,7 @@ Title: fix LICENSE reference
Status: done
Priority: high
Created: 2025-06-20
Relationships:
Relationships:
Description: license specification is no longer a trove classifier in
pyproject.toml, hence the reference to LICENSE must be changed
@ -125,7 +125,7 @@ Title: pytest current test context fixtures
Status: done
Priority: high
Created: 2025-06-20
Relationships:
Relationships:
Description: add fixtures for doing things in relation to the active testing
context
@ -137,7 +137,7 @@ Title: move testing utils out of utils
Status: done
Priority: high
Created: 2025-06-20
Relationships:
Relationships:
Description: to shorten the namespace and also indicate that testing utilities
are different from regular utilities
@ -149,7 +149,7 @@ Title: simplify testing.fixtures.mock_pkg
Status: done
Priority: high
Created: 2025-06-21
Relationships:
Relationships:
Description: Only bootstrap a package mock with the minimum requirements for a
Python module and let the consumer handle the directory layout.
@ -161,7 +161,7 @@ Title: fix unit tests for urllib PkgHandler
Status: done
Priority: high
Created: 2025-06-21
Relationships:
Relationships:
Description: change of issue 12 wasn't properly reflected in urllib PkgHandler
unit tests
@ -173,7 +173,7 @@ Title: add compression support for urllib PkgHandler
Status: done
Priority: high
Created: 2025-06-21
Relationships:
Relationships:
Description: with a proper content-type of the PkgHandler addinfourl object, a
consumer can determine whether the file is compressed or not.
@ -185,7 +185,7 @@ Title: modularize module containers
Status: open
Priority: high
Created: 2025-06-28
Relationships:
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
@ -198,7 +198,7 @@ Title: SQL-aware dataclass
Status: in-progress
Priority: low
Created: 2025-12-31
Relationships:
Relationships:
Description: A dataclass that transparently maps onto an SQL datastore, with
command generation for syncing data between data class and store
@ -210,6 +210,35 @@ Title: recursive-descent HTML (DOM) parser
Status: in-progress
Priority: high
Created: 2025-12-31
Relationships:
Relationships:
Description: Extend the built-in event-driven parser to be modeled after DOM
recursive-descent HTML parser
--ISSUE
Content-Type: application/issue
ID: 18
Type: feature
Title: implement saas wrapper for Forgejo
Status: open
Priority: medium
Created: 2026-06-06
Relationships:
Description: Add a new sub-package byteb4rb1e.utils.saas.forgejo, supporting the
same/similar operations as the Bitbucket wrapper
(byteb4rb1e.utils.saas.bitbucket) against the Forgejo REST API:
token-based authentication headers, repository existence checks,
repository creation within an owner/organization, and clone URL
construction. Implement as a thin layer over
byteb4rb1e.utils.http.client, consistent with the existing
Bitbucket and GitHub modules.
Unlike Bitbucket (one global SaaS instance, hence the hardcoded
api.bitbucket.org), Forgejo is self-hosted (e.g.
git.code.tiararodney.com). The wrapper MUST take a host/instance
URL parameter (or read one from config) rather than baking any
specific instance in. This is the biggest API-surface difference
from the bitbucket module.
Bitbucket's clone_url constructs SSH only. Forgejo's repository
API returns both clone_url (HTTPS) and ssh_url, and HTTPS is
needed in CI (no SSH host keys on the Woodpecker runner). The
wrapper SHOULD expose both, either as ssh_clone_url and
https_clone_url, or a single clone_url(..., scheme="ssh"|"https").