nameparser 1.2.1__tar.gz → 1.3.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (60) hide show
  1. {nameparser-1.2.1/nameparser.egg-info → nameparser-1.3.0}/PKG-INFO +27 -15
  2. {nameparser-1.2.1 → nameparser-1.3.0}/README.rst +26 -14
  3. {nameparser-1.2.1 → nameparser-1.3.0}/nameparser/_version.py +1 -1
  4. nameparser-1.3.0/nameparser/config/__init__.py +861 -0
  5. nameparser-1.3.0/nameparser/config/bound_first_names.py +12 -0
  6. nameparser-1.3.0/nameparser/config/capitalization.py +10 -0
  7. {nameparser-1.2.1 → nameparser-1.3.0}/nameparser/config/conjunctions.py +2 -2
  8. nameparser-1.3.0/nameparser/config/prefixes.py +97 -0
  9. nameparser-1.3.0/nameparser/config/regexes.py +46 -0
  10. {nameparser-1.2.1 → nameparser-1.3.0}/nameparser/config/suffixes.py +48 -9
  11. {nameparser-1.2.1 → nameparser-1.3.0}/nameparser/config/titles.py +55 -4
  12. nameparser-1.3.0/nameparser/parser.py +1578 -0
  13. {nameparser-1.2.1 → nameparser-1.3.0}/nameparser/util.py +1 -2
  14. {nameparser-1.2.1 → nameparser-1.3.0/nameparser.egg-info}/PKG-INFO +27 -15
  15. {nameparser-1.2.1 → nameparser-1.3.0}/nameparser.egg-info/SOURCES.txt +7 -0
  16. {nameparser-1.2.1 → nameparser-1.3.0}/pyproject.toml +6 -5
  17. nameparser-1.3.0/tests/base.py +71 -0
  18. {nameparser-1.2.1 → nameparser-1.3.0}/tests/conftest.py +9 -21
  19. nameparser-1.3.0/tests/test_bound_first_names.py +154 -0
  20. {nameparser-1.2.1 → nameparser-1.3.0}/tests/test_brute_force.py +14 -6
  21. {nameparser-1.2.1 → nameparser-1.3.0}/tests/test_capitalization.py +60 -0
  22. nameparser-1.3.0/tests/test_config_attribute_docstrings.py +79 -0
  23. {nameparser-1.2.1 → nameparser-1.3.0}/tests/test_conjunctions.py +73 -0
  24. nameparser-1.3.0/tests/test_constants.py +971 -0
  25. nameparser-1.3.0/tests/test_east_slavic_patronymic_order.py +194 -0
  26. nameparser-1.3.0/tests/test_initials.py +219 -0
  27. nameparser-1.3.0/tests/test_middle_name_as_last.py +122 -0
  28. nameparser-1.3.0/tests/test_nicknames.py +309 -0
  29. {nameparser-1.2.1 → nameparser-1.3.0}/tests/test_output_format.py +17 -5
  30. nameparser-1.3.0/tests/test_parser_util.py +39 -0
  31. nameparser-1.3.0/tests/test_prefixes.py +395 -0
  32. nameparser-1.3.0/tests/test_python_api.py +647 -0
  33. nameparser-1.3.0/tests/test_suffixes.py +448 -0
  34. {nameparser-1.2.1 → nameparser-1.3.0}/tests/test_titles.py +131 -0
  35. nameparser-1.3.0/tests/test_turkic_patronymic_order.py +302 -0
  36. {nameparser-1.2.1 → nameparser-1.3.0}/tests/test_variations.py +21 -11
  37. nameparser-1.2.1/nameparser/config/__init__.py +0 -288
  38. nameparser-1.2.1/nameparser/config/capitalization.py +0 -10
  39. nameparser-1.2.1/nameparser/config/prefixes.py +0 -47
  40. nameparser-1.2.1/nameparser/config/regexes.py +0 -28
  41. nameparser-1.2.1/nameparser/parser.py +0 -999
  42. nameparser-1.2.1/tests/base.py +0 -40
  43. nameparser-1.2.1/tests/test_constants.py +0 -106
  44. nameparser-1.2.1/tests/test_initials.py +0 -128
  45. nameparser-1.2.1/tests/test_nicknames.py +0 -176
  46. nameparser-1.2.1/tests/test_prefixes.py +0 -118
  47. nameparser-1.2.1/tests/test_python_api.py +0 -226
  48. nameparser-1.2.1/tests/test_suffixes.py +0 -138
  49. {nameparser-1.2.1 → nameparser-1.3.0}/AUTHORS +0 -0
  50. {nameparser-1.2.1 → nameparser-1.3.0}/LICENSE +0 -0
  51. {nameparser-1.2.1 → nameparser-1.3.0}/MANIFEST.in +0 -0
  52. {nameparser-1.2.1 → nameparser-1.3.0}/nameparser/__init__.py +0 -0
  53. {nameparser-1.2.1 → nameparser-1.3.0}/nameparser/__main__.py +0 -0
  54. {nameparser-1.2.1 → nameparser-1.3.0}/nameparser/py.typed +0 -0
  55. {nameparser-1.2.1 → nameparser-1.3.0}/nameparser.egg-info/dependency_links.txt +0 -0
  56. {nameparser-1.2.1 → nameparser-1.3.0}/nameparser.egg-info/requires.txt +0 -0
  57. {nameparser-1.2.1 → nameparser-1.3.0}/nameparser.egg-info/top_level.txt +0 -0
  58. {nameparser-1.2.1 → nameparser-1.3.0}/setup.cfg +0 -0
  59. {nameparser-1.2.1 → nameparser-1.3.0}/tests/__init__.py +0 -0
  60. {nameparser-1.2.1 → nameparser-1.3.0}/tests/test_first_name.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: nameparser
3
- Version: 1.2.1
3
+ Version: 1.3.0
4
4
  Summary: A simple Python module for parsing human names into their individual components.
5
5
  Author-email: Derek Gulbranson <derek73@gmail.com>
6
6
  License: LGPL
@@ -29,7 +29,7 @@ Dynamic: license-file
29
29
  Name Parser
30
30
  ===========
31
31
 
32
- |Build Status| |PyPI| |PyPI version| |Documentation|
32
+ |Build Status| |PyPI| |PyPI version| |Documentation| |License| |Downloads| |Codecov|
33
33
 
34
34
  A simple Python (3.10+) module for parsing human names into their
35
35
  individual components.
@@ -40,8 +40,12 @@ individual components.
40
40
  * hn.last
41
41
  * hn.suffix
42
42
  * hn.nickname
43
+ * hn.maiden
43
44
  * hn.surnames *(middle + last)*
45
+ * hn.given_names *(first + middle)*
44
46
  * hn.initials *(first initial of each name part)*
47
+ * hn.last_base *(last, minus any prefixes)*
48
+ * hn.last_prefixes *(leading last-name particles, e.g. "van der")*
45
49
 
46
50
  Supported Name Structures
47
51
  ~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -93,17 +97,18 @@ Quick Start Example
93
97
  >>> name = HumanName("Dr. Juan Q. Xavier de la Vega III (Doc Vega)")
94
98
  >>> name
95
99
  <HumanName : [
96
- title: 'Dr.'
97
- first: 'Juan'
98
- middle: 'Q. Xavier'
99
- last: 'de la Vega'
100
- suffix: 'III'
101
- nickname: 'Doc Vega'
100
+ title: 'Dr.'
101
+ first: 'Juan'
102
+ middle: 'Q. Xavier'
103
+ last: 'de la Vega'
104
+ suffix: 'III'
105
+ nickname: 'Doc Vega'
106
+ maiden: ''
102
107
  ]>
103
108
  >>> name.last
104
109
  'de la Vega'
105
110
  >>> name.as_dict()
106
- {'last': 'de la Vega', 'suffix': 'III', 'title': 'Dr.', 'middle': 'Q. Xavier', 'nickname': 'Doc Vega', 'first': 'Juan'}
111
+ {'title': 'Dr.', 'first': 'Juan', 'middle': 'Q. Xavier', 'last': 'de la Vega', 'suffix': 'III', 'nickname': 'Doc Vega', 'maiden': ''}
107
112
  >>> str(name)
108
113
  'Dr. Juan Q. Xavier de la Vega III (Doc Vega)'
109
114
  >>> name.string_format = "{first} {last}"
@@ -122,12 +127,13 @@ and "post-nominal" would probably be better names.)
122
127
  >>> name = HumanName("1 & 2, 3 4 5, Mr.")
123
128
  >>> name
124
129
  <HumanName : [
125
- title: ''
126
- first: '3'
127
- middle: '4 5'
128
- last: '1 & 2'
129
- suffix: 'Mr.'
130
- nickname: ''
130
+ title: ''
131
+ first: '3'
132
+ middle: '4 5'
133
+ last: '1 & 2'
134
+ suffix: 'Mr.'
135
+ nickname: ''
136
+ maiden: ''
131
137
  ]>
132
138
 
133
139
  Customization
@@ -172,3 +178,9 @@ https://github.com/derek73/python-nameparser
172
178
  :target: http://nameparser.readthedocs.io/en/latest/?badge=latest
173
179
  .. |PyPI version| image:: https://img.shields.io/pypi/pyversions/nameparser.svg
174
180
  :target: https://pypi.org/project/nameparser/
181
+ .. |License| image:: https://img.shields.io/pypi/l/nameparser.svg
182
+ :target: https://pypi.org/project/nameparser/
183
+ .. |Downloads| image:: https://static.pepy.tech/badge/nameparser
184
+ :target: https://pepy.tech/project/nameparser
185
+ .. |Codecov| image:: https://codecov.io/gh/derek73/python-nameparser/branch/master/graph/badge.svg
186
+ :target: https://codecov.io/gh/derek73/python-nameparser
@@ -1,7 +1,7 @@
1
1
  Name Parser
2
2
  ===========
3
3
 
4
- |Build Status| |PyPI| |PyPI version| |Documentation|
4
+ |Build Status| |PyPI| |PyPI version| |Documentation| |License| |Downloads| |Codecov|
5
5
 
6
6
  A simple Python (3.10+) module for parsing human names into their
7
7
  individual components.
@@ -12,8 +12,12 @@ individual components.
12
12
  * hn.last
13
13
  * hn.suffix
14
14
  * hn.nickname
15
+ * hn.maiden
15
16
  * hn.surnames *(middle + last)*
17
+ * hn.given_names *(first + middle)*
16
18
  * hn.initials *(first initial of each name part)*
19
+ * hn.last_base *(last, minus any prefixes)*
20
+ * hn.last_prefixes *(leading last-name particles, e.g. "van der")*
17
21
 
18
22
  Supported Name Structures
19
23
  ~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -65,17 +69,18 @@ Quick Start Example
65
69
  >>> name = HumanName("Dr. Juan Q. Xavier de la Vega III (Doc Vega)")
66
70
  >>> name
67
71
  <HumanName : [
68
- title: 'Dr.'
69
- first: 'Juan'
70
- middle: 'Q. Xavier'
71
- last: 'de la Vega'
72
- suffix: 'III'
73
- nickname: 'Doc Vega'
72
+ title: 'Dr.'
73
+ first: 'Juan'
74
+ middle: 'Q. Xavier'
75
+ last: 'de la Vega'
76
+ suffix: 'III'
77
+ nickname: 'Doc Vega'
78
+ maiden: ''
74
79
  ]>
75
80
  >>> name.last
76
81
  'de la Vega'
77
82
  >>> name.as_dict()
78
- {'last': 'de la Vega', 'suffix': 'III', 'title': 'Dr.', 'middle': 'Q. Xavier', 'nickname': 'Doc Vega', 'first': 'Juan'}
83
+ {'title': 'Dr.', 'first': 'Juan', 'middle': 'Q. Xavier', 'last': 'de la Vega', 'suffix': 'III', 'nickname': 'Doc Vega', 'maiden': ''}
79
84
  >>> str(name)
80
85
  'Dr. Juan Q. Xavier de la Vega III (Doc Vega)'
81
86
  >>> name.string_format = "{first} {last}"
@@ -94,12 +99,13 @@ and "post-nominal" would probably be better names.)
94
99
  >>> name = HumanName("1 & 2, 3 4 5, Mr.")
95
100
  >>> name
96
101
  <HumanName : [
97
- title: ''
98
- first: '3'
99
- middle: '4 5'
100
- last: '1 & 2'
101
- suffix: 'Mr.'
102
- nickname: ''
102
+ title: ''
103
+ first: '3'
104
+ middle: '4 5'
105
+ last: '1 & 2'
106
+ suffix: 'Mr.'
107
+ nickname: ''
108
+ maiden: ''
103
109
  ]>
104
110
 
105
111
  Customization
@@ -144,3 +150,9 @@ https://github.com/derek73/python-nameparser
144
150
  :target: http://nameparser.readthedocs.io/en/latest/?badge=latest
145
151
  .. |PyPI version| image:: https://img.shields.io/pypi/pyversions/nameparser.svg
146
152
  :target: https://pypi.org/project/nameparser/
153
+ .. |License| image:: https://img.shields.io/pypi/l/nameparser.svg
154
+ :target: https://pypi.org/project/nameparser/
155
+ .. |Downloads| image:: https://static.pepy.tech/badge/nameparser
156
+ :target: https://pepy.tech/project/nameparser
157
+ .. |Codecov| image:: https://codecov.io/gh/derek73/python-nameparser/branch/master/graph/badge.svg
158
+ :target: https://codecov.io/gh/derek73/python-nameparser
@@ -1,2 +1,2 @@
1
- VERSION = (1, 2, 1)
1
+ VERSION = (1, 3, 0)
2
2
  __version__ = '.'.join(map(str, VERSION))