feat: mdgrep 0.1.0 – boolean full-text search for Markdown
- query language: substrings, phrases, /regex/, AND/OR/NOT (+ UND/ODER/NICHT),
parentheses; case-insensitive; ReDoS protection via regex timeouts;
syntax errors with stable code and position
- SearchEngine over in-memory blocks: filters, predicate, grouping, sorting,
paging, time budget, automatic reload, highlighted snippets
- Markdown loader with split modes file/heading/list/paragraph
- grep-like CLI (mdgrep), JSON output, grep exit codes
- Flask blueprint/app with JSON API and widget assets, dev server
- framework-free JS widget: live search, URL state, filters, paging,
syntax help, en/de labels, CSS custom properties for theming
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 19:29:44 +02:00
[ build-system ]
requires = [ "setuptools>=68" ]
build-backend = "setuptools.build_meta"
[ project ]
name = "mdgrep"
2026-10-12 19:37:40 +02:00
version = "0.1.1"
feat: mdgrep 0.1.0 – boolean full-text search for Markdown
- query language: substrings, phrases, /regex/, AND/OR/NOT (+ UND/ODER/NICHT),
parentheses; case-insensitive; ReDoS protection via regex timeouts;
syntax errors with stable code and position
- SearchEngine over in-memory blocks: filters, predicate, grouping, sorting,
paging, time budget, automatic reload, highlighted snippets
- Markdown loader with split modes file/heading/list/paragraph
- grep-like CLI (mdgrep), JSON output, grep exit codes
- Flask blueprint/app with JSON API and widget assets, dev server
- framework-free JS widget: live search, URL state, filters, paging,
syntax help, en/de labels, CSS custom properties for theming
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 19:29:44 +02:00
description = "Boolean full-text search (substrings, phrases, regex, AND/OR/NOT, parentheses) over Markdown and other text blocks, with CLI, Flask API and a JavaScript search widget"
readme = "README.md"
license = "MIT"
requires-python = ">=3.10"
authors = [ { name = "Dieter Schlüter" } ]
dependencies = [ "regex>=2023.0" ]
[ project . optional-dependencies ]
web = [ "flask>=2.3" ]
dev = [ "pytest>=7" , "flask>=2.3" ]
[ project . scripts ]
mdgrep = "mdgrep.cli:main"
[ tool . setuptools . packages . find ]
where = [ "src" ]
[ tool . setuptools . package-data ]
mdgrep = [ "static/*" ]
[ tool . pytest . ini_options ]
testpaths = [ "tests" ]