{"id":13413418,"url":"https://github.com/timbray/quamina","last_synced_at":"2026-01-21T21:16:44.820Z","repository":{"id":37215768,"uuid":"451720297","full_name":"timbray/quamina","owner":"timbray","description":"Home of Quamina, a fast pattern-matching library in Go","archived":false,"fork":false,"pushed_at":"2025-02-07T00:54:37.000Z","size":44204,"stargazers_count":427,"open_issues_count":15,"forks_count":23,"subscribers_count":18,"default_branch":"main","last_synced_at":"2025-05-15T18:03:47.002Z","etag":null,"topics":["event-driven","events","go","golang","json"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/timbray.png","metadata":{"files":{"readme":"README-pruner.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-01-25T03:23:41.000Z","updated_at":"2025-05-15T00:09:47.000Z","dependencies_parsed_at":"2023-02-14T10:01:05.570Z","dependency_job_id":"ed6bd16f-c930-4f20-aa10-6fc46abcc54f","html_url":"https://github.com/timbray/quamina","commit_stats":null,"previous_names":[],"tags_count":11,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/timbray%2Fquamina","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/timbray%2Fquamina/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/timbray%2Fquamina/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/timbray%2Fquamina/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/timbray","download_url":"https://codeload.github.com/timbray/quamina/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254394720,"owners_count":22063984,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["event-driven","events","go","golang","json"],"created_at":"2024-07-30T20:01:39.909Z","updated_at":"2026-01-21T21:16:44.777Z","avatar_url":"https://github.com/timbray.png","language":"Go","readme":"# `DeletePattern`\n\nThe core quamina.Matcher doesn't currently support deleting patterns.\nSome of the contemplated implementations would probably be pretty\ndifficult.  At least one approach is pretty easy: Wrap the current\nmatcher to filter removed patterns from match results and periodically\nrebuild the matcher from scrach with the live patterns.  More\nspecifically:\n\n1. Remember patterns that have been added\n2. Remember patterns that have been removed (implicitly)\n3. Filter `MatchesFor...()` results to remove any removed patterns\n4. Rebuilding the matcher state periodically with only the live\n   patterns\n5. Maintain some statistics to help decide when to rebuild\n\nThe implementation of the set of live patterns is pluggable via a Go\ninterface (`State`).  The default implementation `MemState` is just a\n`map[quamina.X]string`.  Other implementations could provide\npersistence.\n\nBy default, rebuilding is triggered automatically (synchronously\ncurrently) during mutations.  You can also force a manual `Rebuild()`,\nand you can `DisableRebuild()` to prevent any automation rebuilds.\nThe code also supports pluggable rebuilding policies, but those\nfeatures are not currently exposed.\n\n","funding_links":[],"categories":["Tools","Messaging","消息"],"sub_categories":["Search and Analytic Databases","检索及分析资料库","Advanced Console UIs"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftimbray%2Fquamina","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftimbray%2Fquamina","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftimbray%2Fquamina/lists"}