aboutsummaryrefslogtreecommitdiff
AgeCommit message (Expand)AuthorFilesLines
12 dayschore(typing): pyright per-directory overrides for graphviz/regex missing stubsnatsuoto1-2/+13
12 daysrefactor(typing): make edify pass mypy --strict and pyright --strict end to endnatsuoto15-46/+101
12 daystest(discipline): every type-checker suppression carries a code and inline re...natsuoto1-0/+35
12 daysfeat(builder): typed engine=Literal kwarg on to_regex with EngineNotWiredErrornatsuoto4-0/+67
12 daysrefactor(builder): TypeVar-generic helpers and cross-mixin surface on Builder...natsuoto3-20/+37
12 daysrefactor(result): keep _RePatternAttribute union on Regex.__getattr__; drop A...natsuoto1-1/+2
12 daysrefactor(atoms): drop docstring from __init__ per exports-only rulenatsuoto1-7/+0
12 daysrefactor(serialize): precise JSONValue types replace Any; hoist imports; drop...natsuoto7-170/+127
12 dayschore: refresh uv.lock for mypy + pyright pinsnatsuoto1-0/+72
12 dayschore(typing): ship py.typed marker and library-scope mypy/pyright confignatsuoto2-0/+33
13 daysfeat(pattern): canonical dict/JSON serialization for Pattern (#277)Bobby9-0/+792
13 daysfeat(pattern): canonical dict/JSON serialization on Pattern (to_dict, from_di...natsuoto9-0/+792
13 daysfeat(atoms): public edify.atoms — 83 composable Pattern fragments (#276)Bobby171-38/+3626
13 daysfeat(atoms): expand from 13 to 83 general-purpose composable fragmentsnatsuoto141-0/+2991
13 daysrename(atoms): single-word filenames (octet/port/label/uuid/hexcolor/nibble/i...natsuoto25-112/+106
13 daysfeat(atoms): public edify.atoms with 13 composable Pattern fragmentsnatsuoto31-40/+643
2026-07-11feat!: callable-Pattern validator API + 223-pattern library across 22 categor...Bobby302-1599/+8100
2026-07-11feat(library): add 23 patterns across 12 categories (medical, transport, fina...natsuoto36-10/+601
2026-07-11refactor: eliminate suppression comments and internal-import tests, delete no...natsuoto24-503/+68
2026-07-11refactor(library): rewrite geo/postal to inline patterns; delete RegexBackedP...natsuoto44-719/+451
2026-07-11refactor(library): rewrite software/ validators to fluent Pattern() chainnatsuoto12-57/+562
2026-07-11refactor(library): rewrite temporal/, text/ validators to fluent Pattern() chainnatsuoto21-107/+514
2026-07-11refactor(library): rewrite web/, security/, media/ validators to fluent Patte...natsuoto27-62/+632
2026-07-11refactor(library): rewrite numeric/ validators to fluent Pattern() chainnatsuoto8-27/+201
2026-07-11refactor(library): rewrite validators to fluent Pattern() chainnatsuoto77-267/+2365
2026-07-11chore: ruff format + lint fixes (en-dash → hyphen, line-length, script.py n...natsuoto186-317/+1308
2026-07-11feat(library): reorganize into 22 category folders + flat 200-name re-export ...natsuoto29-837/+126
2026-07-11feat(library): 22 patterns across security/grammar/web categoriesnatsuoto25-0/+140
2026-07-11feat(library): 33 patterns across api/data/document categoriesnatsuoto36-0/+209
2026-07-11feat(library): 12 patterns across transport/publishing/product/medical catego...natsuoto16-0/+85
2026-07-11feat(library/software): 12 software patterns (semver, version, package, docke...natsuoto13-0/+102
2026-07-11feat(library/media): 11 media patterns (mimetype, extension, filename, glob, ...natsuoto12-0/+84
2026-07-11feat(library/color): 5 color patterns (color, palette, swatch, gradient, filter)natsuoto6-0/+46
2026-07-11feat(library/text): 11 text patterns (slug, base, script, ascii, printable, a...natsuoto12-0/+137
2026-07-11feat(library/numeric): 9 numeric patterns (number, integer, hash, percentage,...natsuoto10-0/+109
2026-07-11feat(library/geo): 6 geo patterns (coordinate, geohash, plus, postal, place, ...natsuoto7-0/+80
2026-07-11feat(library/temporal): 11 temporal patterns (date, time, datetime, duration,...natsuoto12-0/+178
2026-07-11feat(library/financial): 4 financial patterns (currency, card, wallet, crypto)natsuoto5-0/+65
2026-07-11feat(library/auth): 19 auth patterns (password, pin, token, jwt, otp, apikey,...natsuoto20-0/+371
2026-07-11feat(library/contact): 6 contact patterns (email, phone, fax, pager, address,...natsuoto7-0/+103
2026-07-11feat(library/address): 13 address patterns (ip, cidr, subnet, hostname, domai...natsuoto14-0/+242
2026-07-11chore: drop as_pattern helper (obsoleted by Pattern()-only construction)natsuoto1-20/+0
2026-07-11feat(library/identifier): all 26 identifier patterns as callable Pattern chainsnatsuoto28-118/+525
2026-07-11feat(library): infrastructure and first three identifier migrations (uuid, gu...natsuoto6-0/+181
2026-07-10feat: Pattern.__call__(value) -> bool and RegexBackedPattern base for validat...natsuoto2-0/+60
2026-07-10chore!: relicense edify from Apache 2.0 to MIT (#273)Bobby4-203/+39
2026-07-10test: license.test.py asserts installed edify carries MIT license expression ...natsuoto1-0/+16
2026-07-10docs: README license section reads MIT (#234)natsuoto1-1/+1
2026-07-10chore!: pyproject.toml license field = MIT SPDX (#232)natsuoto1-1/+1
2026-07-10chore!: replace LICENSE with MIT text (#231)natsuoto1-201/+21