René's URL Explorer Experiment


Title: nameparser 2.0 implementation by derek73 · Pull Request #288 · derek73/python-nameparser · GitHub

Open Graph Title: nameparser 2.0 implementation by derek73 · Pull Request #288 · derek73/python-nameparser

X Title: nameparser 2.0 implementation by derek73 · Pull Request #288 · derek73/python-nameparser

Description: A simple Python module for parsing human names into their individual components - nameparser 2.0 implementation by derek73 · Pull Request #288 · derek73/python-nameparser

Open Graph Description: Implementation branch for the 2.0 design — see the RFC in #285 and the umbrella issue #284 for the design discussion and feedback questions. Implementation learnings that change the design will lan...

X Description: Implementation branch for the 2.0 design — see the RFC in #285 and the umbrella issue #284 for the design discussion and feedback questions. Implementation learnings that change the design will lan...

Opengraph URL: https://github.com/derek73/python-nameparser/pull/288

X: @github

direct link

Domain: github.com

route-pattern/_view_fragments/voltron/pull_requests/show/:user_id/:repository/:id/pull_request_layout(.:format)
route-controllervoltron_pull_requests_fragments
route-actionpull_request_layout
fetch-noncev2:9d2a4c31-6ebf-0119-df6e-af0f6c3ca559
current-catalog-service-hashae870bc5e265a340912cde392f23dad3671a0a881730ffdadd82f2f57d81641b
request-idC538:288A2A:1EB8270:292A4D8:6A546187
html-safe-nonce92d03d203848307144f1b17721471b94b298441fcb7ec96e1e4e3ad58f5f2887
visitor-payloadeyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJDNTM4OjI4OEEyQToxRUI4MjcwOjI5MkE0RDg6NkE1NDYxODciLCJ2aXNpdG9yX2lkIjoiMzk4MTU2NDY5MzgzNTk2NDgwNyIsInJlZ2lvbl9lZGdlIjoiaWFkIiwicmVnaW9uX3JlbmRlciI6ImlhZCJ9
visitor-hmacca2f37c83c521351db15cd238beded4d4313c71bb5a29089c48b4dfa023d0fc6
hovercard-subject-tagpull_request:4040333726
github-keyboard-shortcutsrepository,pull-request-list,pull-request-conversation,pull-request-files-changed,copilot
google-site-verificationApib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I
octolytics-urlhttps://collector.github.com/github/collect
analytics-location///voltron/pull_requests_fragments/pull_request_layout
fb:app_id1401488693436528
apple-itunes-appapp-id=1477376905, app-argument=https://github.com/_view_fragments/voltron/pull_requests/show/derek73/python-nameparser/288/pull_request_layout
twitter:imagehttps://opengraph.githubassets.com/8c22b928af60caa6a645975466f0a7e7cea65ecc457d4667629b364cdb8f053f/derek73/python-nameparser/pull/288
twitter:cardsummary_large_image
og:imagehttps://opengraph.githubassets.com/8c22b928af60caa6a645975466f0a7e7cea65ecc457d4667629b364cdb8f053f/derek73/python-nameparser/pull/288
og:image:altImplementation branch for the 2.0 design — see the RFC in #285 and the umbrella issue #284 for the design discussion and feedback questions. Implementation learnings that change the design will lan...
og:image:width1200
og:image:height600
og:site_nameGitHub
og:typeobject
og:author:usernamederek73
hostnamegithub.com
expected-hostnamegithub.com
Noneb9a586c06a05a7a86fc7e3f4dbd03e42f6869085879aa184aa6369456dbd50fb
turbo-cache-controlno-cache
go-importgithub.com/derek73/python-nameparser git https://github.com/derek73/python-nameparser.git
octolytics-dimension-user_id18306
octolytics-dimension-user_loginderek73
octolytics-dimension-repository_id18353524
octolytics-dimension-repository_nwoderek73/python-nameparser
octolytics-dimension-repository_publictrue
octolytics-dimension-repository_is_forkfalse
octolytics-dimension-repository_network_root_id18353524
octolytics-dimension-repository_network_root_nwoderek73/python-nameparser
turbo-body-classeslogged-out env-production page-responsive
disable-turbofalse
browser-stats-urlhttps://api.github.com/_private/browser/stats
browser-errors-urlhttps://api.github.com/_private/browser/errors
release6d28624802c2f7d9500239dd6870ed7031b7353b
ui-targetcanary-1
theme-color#1e2327
color-schemelight dark

Links:

Skip to contenthttps://github.com/derek73/python-nameparser/pull/288#start-of-content
https://github.com/
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fderek73%2Fpython-nameparser%2Fpull%2F288
GitHub CopilotWrite better code with AIhttps://github.com/features/copilot
GitHub Copilot appDirect agents from issue to mergehttps://github.com/features/ai/github-app
MCP RegistryNewIntegrate external toolshttps://github.com/mcp
ActionsAutomate any workflowhttps://github.com/features/actions
CodespacesInstant dev environmentshttps://github.com/features/codespaces
IssuesPlan and track workhttps://github.com/features/issues
Code ReviewManage code changeshttps://github.com/features/code-review
GitHub Advanced SecurityFind and fix vulnerabilitieshttps://github.com/security/advanced-security
Code securitySecure your code as you buildhttps://github.com/security/advanced-security/code-security
Secret protectionStop leaks before they starthttps://github.com/security/advanced-security/secret-protection
Why GitHubhttps://github.com/why-github
Documentationhttps://docs.github.com
Bloghttps://github.blog
Changeloghttps://github.blog/changelog
Marketplacehttps://github.com/marketplace
View all featureshttps://github.com/features
Enterpriseshttps://github.com/enterprise
Small and medium teamshttps://github.com/team
Startupshttps://github.com/enterprise/startups
Nonprofitshttps://github.com/solutions/industry/nonprofits
App Modernizationhttps://github.com/solutions/use-case/app-modernization
DevSecOpshttps://github.com/solutions/use-case/devsecops
DevOpshttps://github.com/solutions/use-case/devops
CI/CDhttps://github.com/solutions/use-case/ci-cd
View all use caseshttps://github.com/solutions/use-case
Healthcarehttps://github.com/solutions/industry/healthcare
Financial serviceshttps://github.com/solutions/industry/financial-services
Manufacturinghttps://github.com/solutions/industry/manufacturing
Governmenthttps://github.com/solutions/industry/government
View all industrieshttps://github.com/solutions/industry
View all solutionshttps://github.com/solutions
AIhttps://github.com/resources/articles?topic=ai
Software Developmenthttps://github.com/resources/articles?topic=software-development
DevOpshttps://github.com/resources/articles?topic=devops
Securityhttps://github.com/resources/articles?topic=security
View all topicshttps://github.com/resources/articles
Customer storieshttps://github.com/customer-stories
Events & webinarshttps://github.com/resources/events
Ebooks & reportshttps://github.com/resources/whitepapers
Business insightshttps://github.com/solutions/executive-insights
GitHub Skillshttps://skills.github.com
Documentationhttps://docs.github.com
Customer supporthttps://support.github.com
Community forumhttps://github.com/orgs/community/discussions
Trust centerhttps://github.com/trust-center
Partnershttps://github.com/partners
View all resourceshttps://github.com/resources
GitHub SponsorsFund open source developershttps://github.com/open-source/sponsors
Security Labhttps://securitylab.github.com
Maintainer Communityhttps://maintainers.github.com
Acceleratorhttps://github.com/open-source/accelerator
GitHub Starshttps://stars.github.com
Archive Programhttps://archiveprogram.github.com
Topicshttps://github.com/topics
Trendinghttps://github.com/trending
Collectionshttps://github.com/collections
Enterprise platformAI-powered developer platformhttps://github.com/enterprise
GitHub Advanced SecurityEnterprise-grade security featureshttps://github.com/security/advanced-security
Copilot for BusinessEnterprise-grade AI featureshttps://github.com/features/copilot/copilot-business
Premium SupportEnterprise-grade 24/7 supporthttps://github.com/enterprise/premium-support
Pricinghttps://github.com/pricing
Search syntax tipshttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
documentationhttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fderek73%2Fpython-nameparser%2Fpull%2F288
Sign up https://github.com/signup?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E%2Fvoltron%2Fpull_requests_fragments%2Fpull_request_layout&source=header-repo&source_repo=derek73%2Fpython-nameparser
Reloadhttps://github.com/derek73/python-nameparser/pull/288
Reloadhttps://github.com/derek73/python-nameparser/pull/288
Reloadhttps://github.com/derek73/python-nameparser/pull/288
derek73 https://github.com/derek73
python-nameparserhttps://github.com/derek73/python-nameparser
Notifications https://github.com/login?return_to=%2Fderek73%2Fpython-nameparser
Fork 111 https://github.com/login?return_to=%2Fderek73%2Fpython-nameparser
Star 710 https://github.com/login?return_to=%2Fderek73%2Fpython-nameparser
Code https://github.com/derek73/python-nameparser
Issues 22 https://github.com/derek73/python-nameparser/issues
Pull requests 2 https://github.com/derek73/python-nameparser/pulls
Actions https://github.com/derek73/python-nameparser/actions
Projects https://github.com/derek73/python-nameparser/projects
Wiki https://github.com/derek73/python-nameparser/wiki
Security and quality 0 https://github.com/derek73/python-nameparser/security
Insights https://github.com/derek73/python-nameparser/pulse
Code https://github.com/derek73/python-nameparser
Issues https://github.com/derek73/python-nameparser/issues
Pull requests https://github.com/derek73/python-nameparser/pulls
Actions https://github.com/derek73/python-nameparser/actions
Projects https://github.com/derek73/python-nameparser/projects
Wiki https://github.com/derek73/python-nameparser/wiki
Security and quality https://github.com/derek73/python-nameparser/security
Insights https://github.com/derek73/python-nameparser/pulse
derek73https://github.com/derek73
masterhttps://github.com/derek73/python-nameparser/tree/master
v2/core-foundationhttps://github.com/derek73/python-nameparser/tree/v2/core-foundation
Conversationhttps://github.com/derek73/python-nameparser/pull/288
Commits68 (68)https://github.com/derek73/python-nameparser/pull/288/commits
Checkshttps://github.com/derek73/python-nameparser/pull/288/checks
Files changedhttps://github.com/derek73/python-nameparser/pull/288/files
nameparser 2.0 implementationhttps://github.com/derek73/python-nameparser/pull/288#top
derek73https://github.com/derek73
masterhttps://github.com/derek73/python-nameparser/tree/master
v2/core-foundationhttps://github.com/derek73/python-nameparser/tree/v2/core-foundation
https://github.com/derek73
derek73https://github.com/derek73
Jul 12, 2026https://github.com/derek73/python-nameparser/pull/288#issue-4868814084
Please reload this pagehttps://github.com/derek73/python-nameparser/pull/288
#285https://github.com/derek73/python-nameparser/pull/285
#284https://github.com/derek73/python-nameparser/issues/284
#285https://github.com/derek73/python-nameparser/pull/285
#257https://github.com/derek73/python-nameparser/issues/257
Recognize maiden-name markers like "née" and "geb." (Jane Smith née Jones) #274https://github.com/derek73/python-nameparser/issues/274
Raise the Python floor to 3.11 in 2.0; drop the last dependency #257https://github.com/derek73/python-nameparser/issues/257
Support family-first name order via an order-spec config (name_order) #270https://github.com/derek73/python-nameparser/issues/270
Recognize maiden-name markers like "née" and "geb." (Jane Smith née Jones) #274https://github.com/derek73/python-nameparser/issues/274
Claude Codehttps://claude.com/claude-code
Please reload this pagehttps://github.com/derek73/python-nameparser/pull/288
derek73https://github.com/derek73
July 12, 2026 12:46https://github.com/derek73/python-nameparser/pull/288#commits-pushed-3c35b85
https://github.com/derek73
https://github.com/claude
Add v2 Span, Role, and Token with construction validationhttps://github.com/derek73/python-nameparser/pull/288/commits/3c35b85f6a162781af02f8d0205a246b43839a2b
3c35b85https://github.com/derek73/python-nameparser/pull/288/commits/3c35b85f6a162781af02f8d0205a246b43839a2b
https://github.com/derek73
https://github.com/claude
Raise the Python floor to 3.11 on the 2.0 branch (https://github.com/derek73/python-nameparser/pull/288/commits/2f70ac76476d2dc6636db933dc729af367575307
#257https://github.com/derek73/python-nameparser/issues/257
, partial)https://github.com/derek73/python-nameparser/pull/288/commits/2f70ac76476d2dc6636db933dc729af367575307
2f70ac7https://github.com/derek73/python-nameparser/pull/288/commits/2f70ac76476d2dc6636db933dc729af367575307
#257https://github.com/derek73/python-nameparser/issues/257
https://github.com/derek73
https://github.com/claude
Fail loud on malformed Token spans and non-string texthttps://github.com/derek73/python-nameparser/pull/288/commits/0a416ed8585da4bafdf320ab8366f5625e167e62
0a416edhttps://github.com/derek73/python-nameparser/pull/288/commits/0a416ed8585da4bafdf320ab8366f5625e167e62
https://github.com/derek73
https://github.com/claude
Add v2 AmbiguityKind StrEnum and Ambiguity typehttps://github.com/derek73/python-nameparser/pull/288/commits/3f3d4488a3136b5fc4040f2d4b7160cc2b5588fb
3f3d448https://github.com/derek73/python-nameparser/pull/288/commits/3f3d4488a3136b5fc4040f2d4b7160cc2b5588fb
https://github.com/derek73
https://github.com/claude
Hoist v2 test imports to the top-of-file blockhttps://github.com/derek73/python-nameparser/pull/288/commits/de78ebf7f648354fd5d81cbbe9e718495fc9151e
de78ebfhttps://github.com/derek73/python-nameparser/pull/288/commits/de78ebf7f648354fd5d81cbbe9e718495fc9151e
https://github.com/derek73
https://github.com/claude
Validate Ambiguity detail and token element typeshttps://github.com/derek73/python-nameparser/pull/288/commits/072e2da1f50a05f152b00baaef2651c084501b03
072e2dahttps://github.com/derek73/python-nameparser/pull/288/commits/072e2da1f50a05f152b00baaef2651c084501b03
https://github.com/derek73
https://github.com/claude
Add v2 ParsedName with constructor-enforced span invariantshttps://github.com/derek73/python-nameparser/pull/288/commits/ef6d2b833de95b13cc8790f235a43d71d6edd3c8
ef6d2b8https://github.com/derek73/python-nameparser/pull/288/commits/ef6d2b833de95b13cc8790f235a43d71d6edd3c8
https://github.com/derek73
https://github.com/claude
Validate ParsedName element types and originalhttps://github.com/derek73/python-nameparser/pull/288/commits/4a79080a171d872e89808d3da441abde968a61b9
4a79080https://github.com/derek73/python-nameparser/pull/288/commits/4a79080a171d872e89808d3da441abde968a61b9
https://github.com/derek73
https://github.com/claude
Add v2 ParsedName string properties, derived views, and as_dicthttps://github.com/derek73/python-nameparser/pull/288/commits/8e8160b870e892637ccf345cf4c928a116a0d960
8e8160bhttps://github.com/derek73/python-nameparser/pull/288/commits/8e8160b870e892637ccf345cf4c928a116a0d960
https://github.com/derek73
https://github.com/claude
Add v2 ParsedName.replace() with positional synthetic tokenshttps://github.com/derek73/python-nameparser/pull/288/commits/3190abd3c34eb07ca3d9b9aead8146aa879f1737
3190abdhttps://github.com/derek73/python-nameparser/pull/288/commits/3190abd3c34eb07ca3d9b9aead8146aa879f1737
https://github.com/derek73
https://github.com/claude
Fail loud on non-str replace values; canonical append orderhttps://github.com/derek73/python-nameparser/pull/288/commits/06a7e221aa680c6399e90c7bcd0ab8f6f66555fd
06a7e22https://github.com/derek73/python-nameparser/pull/288/commits/06a7e221aa680c6399e90c7bcd0ab8f6f66555fd
https://github.com/derek73
https://github.com/claude
Add v2 ParsedName.comparison_key()https://github.com/derek73/python-nameparser/pull/288/commits/aeefe51156beb8becaaf1b8f7e7fdb82795b59d9
aeefe51https://github.com/derek73/python-nameparser/pull/288/commits/aeefe51156beb8becaaf1b8f7e7fdb82795b59d9
https://github.com/derek73
https://github.com/claude
Add v2 Lexicon with canonical storage and v1-sourced defaulthttps://github.com/derek73/python-nameparser/pull/288/commits/9d781c79d605022639220de5a4eb799682521e0f
9d781c7https://github.com/derek73/python-nameparser/pull/288/commits/9d781c79d605022639220de5a4eb799682521e0f
https://github.com/derek73
https://github.com/claude
Fail loud on malformed Lexicon input; dedupe exception keyshttps://github.com/derek73/python-nameparser/pull/288/commits/61362bd2a50aa98fcb969d245ba58403188c1513
61362bdhttps://github.com/derek73/python-nameparser/pull/288/commits/61362bd2a50aa98fcb969d245ba58403188c1513
https://github.com/derek73
https://github.com/claude
Add v2 Lexicon composition: add/remove and field-wise unionhttps://github.com/derek73/python-nameparser/pull/288/commits/f216e5fce24cd2e32452997b461702ea9faeae5b
f216e5fhttps://github.com/derek73/python-nameparser/pull/288/commits/f216e5fce24cd2e32452997b461702ea9faeae5b
https://github.com/derek73
https://github.com/claude
Add v2 Policy with order-spec validation and PatronymicRulehttps://github.com/derek73/python-nameparser/pull/288/commits/0be9e5323aea265182676e050fe18cdd014a7242
0be9e53https://github.com/derek73/python-nameparser/pull/288/commits/0be9e5323aea265182676e050fe18cdd014a7242
https://github.com/derek73
https://github.com/claude
Reject malformed Policy delimiter pairs and patronymic ruleshttps://github.com/derek73/python-nameparser/pull/288/commits/21c817b7f9405f989b7686f4c2b8816eebc6d5ec
21c817bhttps://github.com/derek73/python-nameparser/pull/288/commits/21c817b7f9405f989b7686f4c2b8816eebc6d5ec
https://github.com/derek73
https://github.com/claude
Coerce and validate all Policy collection fieldshttps://github.com/derek73/python-nameparser/pull/288/commits/719fee6d418ebcb80c22ff693546081d39ee8805
719fee6https://github.com/derek73/python-nameparser/pull/288/commits/719fee6d418ebcb80c22ff693546081d39ee8805
https://github.com/derek73
https://github.com/claude
Add v2 PolicyPatch with UNSET sentinel and declared compositionhttps://github.com/derek73/python-nameparser/pull/288/commits/0a47671a7692c6f3b4969db6e13fff9f618d1b25
0a47671https://github.com/derek73/python-nameparser/pull/288/commits/0a47671a7692c6f3b4969db6e13fff9f618d1b25
https://github.com/derek73
https://github.com/claude
Document the replace type-ignore; rename parity testhttps://github.com/derek73/python-nameparser/pull/288/commits/cd46673aede740fe54c51941dbde43142dc18c9d
cd46673https://github.com/derek73/python-nameparser/pull/288/commits/cd46673aede740fe54c51941dbde43142dc18c9d
https://github.com/derek73
https://github.com/claude
Canonicalize PolicyPatch union fields; lock field types in parity testhttps://github.com/derek73/python-nameparser/pull/288/commits/29f603fe76991ad98e50b7925baa3965d4c84ad3
29f603fhttps://github.com/derek73/python-nameparser/pull/288/commits/29f603fe76991ad98e50b7925baa3965d4c84ad3
https://github.com/derek73
https://github.com/claude
Add v2 Locale typehttps://github.com/derek73/python-nameparser/pull/288/commits/2d3dd044f3426612cc0b2d04babb5760a9808e7d
2d3dd04https://github.com/derek73/python-nameparser/pull/288/commits/2d3dd044f3426612cc0b2d04babb5760a9808e7d
https://github.com/derek73
https://github.com/claude
Reject whitespace in Locale codeshttps://github.com/derek73/python-nameparser/pull/288/commits/91845fdfaa26a70397c1f2afa9d73d8a0cd8ebf1
91845fdhttps://github.com/derek73/python-nameparser/pull/288/commits/91845fdfaa26a70397c1f2afa9d73d8a0cd8ebf1
https://github.com/derek73
https://github.com/claude
Drop exception keys that normalize to emptyhttps://github.com/derek73/python-nameparser/pull/288/commits/b88d3ac95934251184c843d792ded6587b46dd25
b88d3achttps://github.com/derek73/python-nameparser/pull/288/commits/b88d3ac95934251184c843d792ded6587b46dd25
https://github.com/derek73
https://github.com/claude
Add bounded deviation-only reprs to all v2 typeshttps://github.com/derek73/python-nameparser/pull/288/commits/0838e9878d158b31c0dbc590cf132bb75cb0038f
0838e98https://github.com/derek73/python-nameparser/pull/288/commits/0838e9878d158b31c0dbc590cf132bb75cb0038f
https://github.com/derek73
https://github.com/claude
Export v2 core types; enforce layering and mypy strictnesshttps://github.com/derek73/python-nameparser/pull/288/commits/af6a01ad787cc704d5e97cadb684866231a948c8
af6a01ahttps://github.com/derek73/python-nameparser/pull/288/commits/af6a01ad787cc704d5e97cadb684866231a948c8
https://github.com/derek73
https://github.com/claude
Make Lexicon picklable despite its mappingproxy slothttps://github.com/derek73/python-nameparser/pull/288/commits/30ef7630c1007e94a5bba666c3b924d1283170c3
30ef763https://github.com/derek73/python-nameparser/pull/288/commits/30ef7630c1007e94a5bba666c3b924d1283170c3
https://github.com/derek73
https://github.com/claude
Drop Python 3.10 from the CI matrix (https://github.com/derek73/python-nameparser/pull/288/commits/401535cae216bd1daf182c1b0a99ae7b3d21f976
#257https://github.com/derek73/python-nameparser/issues/257
, partial)https://github.com/derek73/python-nameparser/pull/288/commits/401535cae216bd1daf182c1b0a99ae7b3d21f976
401535chttps://github.com/derek73/python-nameparser/pull/288/commits/401535cae216bd1daf182c1b0a99ae7b3d21f976
#257https://github.com/derek73/python-nameparser/issues/257
https://github.com/derek73
https://github.com/claude
Drop the pre-3.11 typing_extensions shim (https://github.com/derek73/python-nameparser/pull/288/commits/f2b42c8bb68946b32f5fc80351ebd8ea1d841de7
#257https://github.com/derek73/python-nameparser/issues/257
)https://github.com/derek73/python-nameparser/pull/288/commits/f2b42c8bb68946b32f5fc80351ebd8ea1d841de7
f2b42c8https://github.com/derek73/python-nameparser/pull/288/commits/f2b42c8bb68946b32f5fc80351ebd8ea1d841de7
https://github.com/derek73
https://github.com/claude
Annotate v2 test returns for ruff ANN compliancehttps://github.com/derek73/python-nameparser/pull/288/commits/4c171fc06a6bb0ee4b5b9b24ab8fc4a9972f4bc2
4c171fchttps://github.com/derek73/python-nameparser/pull/288/commits/4c171fc06a6bb0ee4b5b9b24ab8fc4a9972f4bc2
#250https://github.com/derek73/python-nameparser/pull/250
derek73https://github.com/derek73
July 12, 2026 13:11https://github.com/derek73/python-nameparser/pull/288#commits-pushed-af3aad0
https://github.com/derek73
https://github.com/claude
Fail at unpickle time on Lexicon field-layout skewhttps://github.com/derek73/python-nameparser/pull/288/commits/af3aad02bf9b3340a22e9e1922382095e5d51a8b
af3aad0https://github.com/derek73/python-nameparser/pull/288/commits/af3aad02bf9b3340a22e9e1922382095e5d51a8b
https://github.com/derek73
https://github.com/claude
Fix vacuous removal assertion in the add/remove testhttps://github.com/derek73/python-nameparser/pull/288/commits/c5090d1f2c37c069ddd77ce47600d7e3b3b60e87
c5090d1https://github.com/derek73/python-nameparser/pull/288/commits/c5090d1f2c37c069ddd77ce47600d7e3b3b60e87
https://github.com/derek73
https://github.com/claude
Pin four stated-but-untested v2 contractshttps://github.com/derek73/python-nameparser/pull/288/commits/2310fb1c790d0aedb21c85adceb509940c0336a7
2310fb1https://github.com/derek73/python-nameparser/pull/288/commits/2310fb1c790d0aedb21c85adceb509940c0336a7
https://github.com/derek73
https://github.com/claude
Fix stale and inaccurate comments found in reviewhttps://github.com/derek73/python-nameparser/pull/288/commits/cbd8cdff837c2c43f5db520ef6eeafdf37a4f4fb
cbd8cdfhttps://github.com/derek73/python-nameparser/pull/288/commits/cbd8cdff837c2c43f5db520ef6eeafdf37a4f4fb
https://github.com/derek73
https://github.com/claude
Raise on entries that normalize to emptyhttps://github.com/derek73/python-nameparser/pull/288/commits/358ce8074e6bf54b2fca4fb900301963f2b336d4
358ce80https://github.com/derek73/python-nameparser/pull/288/commits/358ce8074e6bf54b2fca4fb900301963f2b336d4
https://github.com/derek73
https://github.com/claude
Block Span concatenation and bool span coordinateshttps://github.com/derek73/python-nameparser/pull/288/commits/22fe2eaf478438c538546d53ea7463bc20dc6c5e
22fe2eahttps://github.com/derek73/python-nameparser/pull/288/commits/22fe2eaf478438c538546d53ea7463bc20dc6c5e
https://github.com/derek73
https://github.com/claude
Pin Locale.code to the registry-key charset [a-z0-9_]+https://github.com/derek73/python-nameparser/pull/288/commits/f07082b369b94d2644770356a7834f006ffece61
f07082bhttps://github.com/derek73/python-nameparser/pull/288/commits/f07082b369b94d2644770356a7834f006ffece61
https://github.com/derek73
https://github.com/claude
Extract _coerce_enum for the duplicated enum coercion blockshttps://github.com/derek73/python-nameparser/pull/288/commits/22ea503dc27efda001406eec39eab652ab81a878
22ea503https://github.com/derek73/python-nameparser/pull/288/commits/22ea503dc27efda001406eec39eab652ab81a878
https://github.com/derek73
https://github.com/claude
Extract _normpairs as _normset's siblinghttps://github.com/derek73/python-nameparser/pull/288/commits/eaba92f260adfdd8d3fa4657c291db83d3f7ab19
eaba92fhttps://github.com/derek73/python-nameparser/pull/288/commits/eaba92f260adfdd8d3fa4657c291db83d3f7ab19
https://github.com/derek73
https://github.com/claude
Drop the whitespace check the charset pin subsumedhttps://github.com/derek73/python-nameparser/pull/288/commits/cac42311899e79282f964e0ffe74a7e1f01d417e
cac4231https://github.com/derek73/python-nameparser/pull/288/commits/cac42311899e79282f964e0ffe74a7e1f01d417e
https://github.com/derek73
derek73https://github.com/derek73
Jul 12, 2026https://github.com/derek73/python-nameparser/pull/288#event-27881599922
https://github.com/derek73
derek73https://github.com/derek73
enhancement https://github.com/derek73/python-nameparser/issues?q=state%3Aopen%20label%3Aenhancement
Jul 12, 2026https://github.com/derek73/python-nameparser/pull/288#event-27881601719
https://github.com/derek73
derek73https://github.com/derek73
v2.0https://github.com/derek73/python-nameparser/milestone/35
Jul 12, 2026https://github.com/derek73/python-nameparser/pull/288#event-27881603943
https://github.com/codecov-commenter
codecov-commenterhttps://github.com/codecov-commenter
Jul 12, 2026https://github.com/derek73/python-nameparser/pull/288#issuecomment-4952829249
Please reload this pagehttps://github.com/derek73/python-nameparser/pull/288
https://private-user-images.githubusercontent.com/152432831/340411587-e90313f4-9d3a-4b63-8b54-cfe14e7ec20d.svg?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3ODM5MTUxODcsIm5iZiI6MTc4MzkxNDg4NywicGF0aCI6Ii8xNTI0MzI4MzEvMzQwNDExNTg3LWU5MDMxM2Y0LTlkM2EtNGI2My04YjU0LWNmZTE0ZTdlYzIwZC5zdmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjYwNzEzJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI2MDcxM1QwMzU0NDdaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT02YTVlZTgzNGQ4ZGU5YmZkNWY2NmQ0MzhjYTZlYjVlMmI0OTgwODg2NWY2MDY0ZmQwYzk3MjMxNDQzYjcxZGUyJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZyZXNwb25zZS1jb250ZW50LXR5cGU9aW1hZ2UlMkZzdmclMkJ4bWwifQ.wxNG-aHaU6qMrYu4FYx7Fa5xnXGB1-0M46iIwIMtvg8
Codecovhttps://app.codecov.io/gh/derek73/python-nameparser/pull/288?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Derek+Gulbranson
ac37e57https://app.codecov.io/gh/derek73/python-nameparser/commit/ac37e57fc953237dec4f6d5bdf37add19393b614?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Derek+Gulbranson
bc56bd2https://app.codecov.io/gh/derek73/python-nameparser/commit/bc56bd2a5d8cf24c00aa40fbc39c0e5fd427c742?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Derek+Gulbranson
Files with missing lineshttps://app.codecov.io/gh/derek73/python-nameparser/pull/288?dropdown=coverage&src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Derek+Gulbranson
nameparser/_lexicon.pyhttps://app.codecov.io/gh/derek73/python-nameparser/pull/288?src=pr&el=tree&filepath=nameparser%2F_lexicon.py&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Derek+Gulbranson#diff-bmFtZXBhcnNlci9fbGV4aWNvbi5weQ==
1 Missing ⚠️ https://app.codecov.io/gh/derek73/python-nameparser/pull/288?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Derek+Gulbranson
Codecov GitHub apphttps://github.com/apps/codecov/installations/select_target
☔ View full report in Codecov by Harnesshttps://app.codecov.io/gh/derek73/python-nameparser/pull/288?dropdown=coverage&src=pr&el=continue&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Derek+Gulbranson
Share it herehttps://about.codecov.io/codecov-pr-comment-feedback/?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Derek+Gulbranson
Test Analyticshttps://docs.codecov.com/docs/test-analytics
Please reload this pagehttps://github.com/derek73/python-nameparser/pull/288
https://github.com/derek73
https://github.com/claude
Test the real matrix interpreter, and add 3.15 pre-release (https://github.com/derek73/python-nameparser/pull/288/commits/a2d88eaa61fbf558c8e0863095bb1171a37b1cc7
#259https://github.com/derek73/python-nameparser/issues/259
)https://github.com/derek73/python-nameparser/pull/288/commits/a2d88eaa61fbf558c8e0863095bb1171a37b1cc7
a2d88eahttps://github.com/derek73/python-nameparser/pull/288/commits/a2d88eaa61fbf558c8e0863095bb1171a37b1cc7
#288https://github.com/derek73/python-nameparser/pull/288
https://github.com/derek73
derek73https://github.com/derek73
Jul 12, 2026 https://github.com/derek73/python-nameparser/pull/288#ref-issue-4817103271
Add Python 3.15 to the test workflow #259 https://github.com/derek73/python-nameparser/issues/259
derek73https://github.com/derek73
July 12, 2026 15:55https://github.com/derek73/python-nameparser/pull/288#commits-pushed-73e816e
https://github.com/derek73
https://github.com/claude
Add _render with thehttps://github.com/derek73/python-nameparser/pull/288/commits/73e816eed8dae48085f9e83d055a99770a886013
#254https://github.com/derek73/python-nameparser/issues/254
-normative collapse; extend layering for ithttps://github.com/derek73/python-nameparser/pull/288/commits/73e816eed8dae48085f9e83d055a99770a886013
73e816ehttps://github.com/derek73/python-nameparser/pull/288/commits/73e816eed8dae48085f9e83d055a99770a886013
https://github.com/derek73
https://github.com/claude
Add render(): spec formatting over role fields and derived viewshttps://github.com/derek73/python-nameparser/pull/288/commits/a6750dc3a95378cedc989216ecea943ff5efcf26
a6750dchttps://github.com/derek73/python-nameparser/pull/288/commits/a6750dc3a95378cedc989216ecea943ff5efcf26
https://github.com/derek73
https://github.com/claude
Add ParsedName.render() and __str__ via call-time _render delegationhttps://github.com/derek73/python-nameparser/pull/288/commits/bbca3653209747dac1dc29ba8dc2c964fb6ad0c9
bbca365https://github.com/derek73/python-nameparser/pull/288/commits/bbca3653209747dac1dc29ba8dc2c964fb6ad0c9
https://github.com/derek73
https://github.com/claude
Add initials() with call-site delimiter/separator argumentshttps://github.com/derek73/python-nameparser/pull/288/commits/445571d138a4007e60775574026d35677fa8c4b8
445571dhttps://github.com/derek73/python-nameparser/pull/288/commits/445571d138a4007e60775574026d35677fa8c4b8
https://github.com/derek73
https://github.com/claude
Add capitalized(): lexicon-driven case fixing, same spanshttps://github.com/derek73/python-nameparser/pull/288/commits/da94eb5f18c18d90a8d6e8414a826c8fd91f335c
da94eb5https://github.com/derek73/python-nameparser/pull/288/commits/da94eb5f18c18d90a8d6e8414a826c8fd91f335c
https://github.com/derek73
https://github.com/claude
True up module docstrings to the rendering delegationhttps://github.com/derek73/python-nameparser/pull/288/commits/936d3476b29a3d8513d193510a67fc6895c5a431
936d347https://github.com/derek73/python-nameparser/pull/288/commits/936d3476b29a3d8513d193510a67fc6895c5a431
https://github.com/derek73
https://github.com/claude
Guard all frozen types against pickle layout skewhttps://github.com/derek73/python-nameparser/pull/288/commits/27616dcdc1240e3086cda99b52322037cbb78129
27616dchttps://github.com/derek73/python-nameparser/pull/288/commits/27616dcdc1240e3086cda99b52322037cbb78129
@DataClasshttps://github.com/DataClass
https://github.com/derek73
https://github.com/claude
Validate rendering arguments eagerlyhttps://github.com/derek73/python-nameparser/pull/288/commits/35e1836bf4349d3028b1f208aa454d184ca1a043
35e1836https://github.com/derek73/python-nameparser/pull/288/commits/35e1836bf4349d3028b1f208aa454d184ca1a043
https://github.com/derek73
https://github.com/claude
Reject bare-string name_order with the taxonomy TypeErrorhttps://github.com/derek73/python-nameparser/pull/288/commits/7e8b6fb703d83449387e6f39c37484c0504c52e8
7e8b6fbhttps://github.com/derek73/python-nameparser/pull/288/commits/7e8b6fb703d83449387e6f39c37484c0504c52e8
https://github.com/derek73
https://github.com/claude
Pin two documented rendering contractshttps://github.com/derek73/python-nameparser/pull/288/commits/4db87b7f7bad4c9e00a0f8cf2d75b9e687970eda
4db87b7https://github.com/derek73/python-nameparser/pull/288/commits/4db87b7f7bad4c9e00a0f8cf2d75b9e687970eda
https://github.com/derek73
https://github.com/claude
Fix three stale doc claims from the PR reviewhttps://github.com/derek73/python-nameparser/pull/288/commits/96b9166e3c11455fe7098ffe4b430ad5fd5bb711
96b9166https://github.com/derek73/python-nameparser/pull/288/commits/96b9166e3c11455fe7098ffe4b430ad5fd5bb711
https://github.com/derek73
https://github.com/claude
Simplify the rendering modulehttps://github.com/derek73/python-nameparser/pull/288/commits/79277de25e5d1cad8e7362e9454d0c11abd3b1f5
79277dehttps://github.com/derek73/python-nameparser/pull/288/commits/79277de25e5d1cad8e7362e9454d0c11abd3b1f5
https://github.com/derek73
https://github.com/claude
Single-source the bare-string name_order guardhttps://github.com/derek73/python-nameparser/pull/288/commits/60802f12e93ac4231116b01a94fc2ba690cae507
60802f1https://github.com/derek73/python-nameparser/pull/288/commits/60802f12e93ac4231116b01a94fc2ba690cae507
https://github.com/derek73
https://github.com/claude
Enforce the pickle guards mechanically; flatten test importshttps://github.com/derek73/python-nameparser/pull/288/commits/bc56bd2a5d8cf24c00aa40fbc39c0e5fd427c742
bc56bd2https://github.com/derek73/python-nameparser/pull/288/commits/bc56bd2a5d8cf24c00aa40fbc39c0e5fd427c742
@DataClasshttps://github.com/DataClass
https://github.co/hiddenchars
https://github.com/derek73/python-nameparser/pull/{{ revealButtonHref }}
Sign up for freehttps://github.com/join?source=comment-repo
Sign in to commenthttps://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fderek73%2Fpython-nameparser%2Fpull%2F288
https://github.com/derek73
derek73 https://github.com/derek73
enhancement https://github.com/derek73/python-nameparser/issues?q=state%3Aopen%20label%3Aenhancement
v2.0 https://github.com/derek73/python-nameparser/milestone/35
Please reload this pagehttps://github.com/derek73/python-nameparser/pull/288
https://github.com/derek73
https://github.com/codecov-commenter
https://github.com
Termshttps://docs.github.com/site-policy/github-terms/github-terms-of-service
Privacyhttps://docs.github.com/site-policy/privacy-policies/github-privacy-statement
Securityhttps://github.com/security
Statushttps://www.githubstatus.com/
Communityhttps://github.community/
Docshttps://docs.github.com/
Contacthttps://support.github.com?tags=dotcom-footer

Viewport: width=device-width


URLs of crawlers that visited me.