Skip to content

Commit b0a39a4

Browse files
derek73claude
andauthored
Announce 2.4 in the README (#649)
* docs(readme): announce 2.4 instead of 2.0 and 2.1 The README is the PyPI project page, so it should lead with the release it ships in. The 2.0 compatibility promise stays as a pointer to Coming from 1.x, East Asian support becomes a standing feature sentence, and the quick start shows the credential reading. Checked with python -m doctest and readme_renderer. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * docs(readme): say the credential reading uses letter case Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * docs(readme): reflow the announcement paragraph Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * docs(agents): add the README announcement to the release sweep The README is the PyPI project page; 2.4.0 nearly shipped announcing 2.0 and 2.1. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
1 parent ebdd4c1 commit b0a39a4

2 files changed

Lines changed: 30 additions & 11 deletions

File tree

‎AGENTS.md‎

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,12 @@ uv run sphinx-build -b html docs dist/docs
9191
# explicitly — every one of them has gone stale at least once.
9292
# - docs/*.rst: usage.rst examples and API surface, plus any file listing
9393
# config constants or HumanName kwargs
94+
# - README.rst's announcement at the top: it is the PyPI project page
95+
# (pyproject's `readme`), so it should lead with the release being
96+
# shipped, drawn from the release log's summary. 2.4.0 nearly shipped
97+
# still announcing 2.0 and 2.1. Check it with `python -m doctest
98+
# README.rst` and `uv run --with readme_renderer python -m
99+
# readme_renderer README.rst -o /tmp/readme.html` (PyPI's renderer)
94100
# - docstrings that autodoc renders (nameparser/_policy.py, _types.py, ...).
95101
# These ARE the API reference in modules.html, so a docs/*.rst-only sweep
96102
# structurally misses half the rendered page — that is how the guide and

‎README.rst‎

Lines changed: 24 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -7,19 +7,25 @@ nameparser parses human names into seven fields — title, given, middle,
77
family, suffix, nickname, maiden. Results are immutable, configuration is
88
composable, and locale packs are opt-in.
99

10-
📣 **nameparser 2.0 is out.** Existing ``HumanName`` code keeps working
11-
through 2.x, and most 1.x code needs no changes. The `migration guide
12-
<https://nameparser.readthedocs.io/en/latest/migrate.html>`__ has the
13-
field-by-field map. Please `open an issue
14-
<https://github.com/derek73/python-nameparser/issues>`__ for anything that
15-
parses wrong.
16-
17-
**2.1 adds East Asian name support.** Chinese, Japanese and Korean names
18-
written in their own scripts are read family-first, unspaced Korean names
19-
are split against the census surname list, and CJK honorifics are
20-
recognized. See `East Asian names
10+
📣 **nameparser 2.4 is out.** It uses letter case to read post-nominal
11+
credentials much more reliably — ``Jack MA`` is Jack with an MA and
12+
``Jack Ma`` is the surname Ma, and ``Jane Smith, PhD MA`` keeps both
13+
credentials together — recognizes more naming conventions (Catalan,
14+
Irish, Finnish, Malay and others), and writes credentials the usual way
15+
when it repairs case. The `release log
16+
<https://nameparser.readthedocs.io/en/latest/release_log.html>`__ has the
17+
details.
18+
19+
Chinese, Japanese and Korean names written in their own scripts are read
20+
family-first, unspaced Korean names are split against the census surname
21+
list, and CJK honorifics are recognized. See `East Asian names
2122
<https://nameparser.readthedocs.io/en/latest/usage.html#east-asian-names>`__.
2223

24+
Existing ``HumanName`` code from 1.x keeps working through 2.x, and most
25+
of it needs no changes; see `Coming from 1.x`_ below. Please `open an
26+
issue <https://github.com/derek73/python-nameparser/issues>`__ for anything
27+
that parses wrong.
28+
2329
Installation
2430
------------
2531

@@ -52,6 +58,13 @@ Quick Start Example
5258
>>> name.render("{family}, {given}")
5359
'de la Vega, Juan'
5460
61+
>>> parse("Jack MA").suffix # capitals mark a credential
62+
'MA'
63+
>>> parse("Jack Ma").family # and a surname
64+
'Ma'
65+
>>> parse("Jane Smith, PhD MA").suffix
66+
'PhD MA'
67+
5568
>>> parse("김민준").family # Korean: unspaced, split on the census list
5669
'김'
5770
>>> parse("高橋 みなみ").family # Japanese: kanji with kana, family first

0 commit comments

Comments
 (0)