pyjour 0.0.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.
pyjour-0.0.0/LICENSE ADDED
@@ -0,0 +1,14 @@
1
+ BSD Zero Clause License
2
+
3
+ Copyright (c) Quentin Richert 2026
4
+
5
+ Permission to use, copy, modify, and/or distribute this software for any
6
+ purpose with or without fee is hereby granted.
7
+
8
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
9
+ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
10
+ AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
11
+ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
12
+ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
13
+ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
14
+ PERFORMANCE OF THIS SOFTWARE.
pyjour-0.0.0/PKG-INFO ADDED
@@ -0,0 +1,111 @@
1
+ Metadata-Version: 2.4
2
+ Name: pyjour
3
+ Version: 0.0.0
4
+ Summary: Extract first names with confidence scores.
5
+ Author-email: Quentin Richert <noreply@richert.co>
6
+ License-Expression: 0BSD
7
+ Project-URL: Homepage, https://github.com/qrichert/bonjour
8
+ Project-URL: Repository, https://github.com/qrichert/bonjour.git
9
+ Keywords: first-name,name-extraction,person-name,nlp,classification
10
+ Classifier: Programming Language :: Python :: 3
11
+ Classifier: Operating System :: OS Independent
12
+ Classifier: Intended Audience :: Developers
13
+ Requires-Python: >=3.12
14
+ Description-Content-Type: text/markdown
15
+ License-File: LICENSE
16
+ Dynamic: license-file
17
+
18
+ # bonjour
19
+
20
+ > [!CAUTION]
21
+ >
22
+ > Work in progress, first usable version hasn't landed yet!
23
+
24
+ Experimental crate to extract first names with a confidence level.
25
+
26
+ Expected output may be something like this:
27
+
28
+ ```json
29
+ {
30
+ "input": "Quentin Richert",
31
+ "first_name": "Quentin",
32
+ "confidence": 0.95,
33
+ "gender": "male",
34
+ "country": "FR"
35
+ }
36
+ ```
37
+
38
+ The idea is that is also "detects", or at lease significantly reduces
39
+ confidences in company names, for instance:
40
+
41
+ ```json
42
+ // The company marker 'SAS' significantly reduces confidence.
43
+ {
44
+ "input": "Quentin Richert SAS",
45
+ "first_name": "Quentin",
46
+ "confidence": 0.1,
47
+ "gender": "male",
48
+ "country": "FR"
49
+ }
50
+ ```
51
+
52
+ Up to no detection at all:
53
+
54
+ ```json
55
+ {
56
+ "input": "Les Motards d'Alsace",
57
+ "first_name": null,
58
+ "confidence": 0.0,
59
+ "gender": null,
60
+ "country": null
61
+ }
62
+ ```
63
+
64
+ ## Country and gender hints
65
+
66
+ Gender is not a property of a name alone — `Simone` is female in France,
67
+ male in Italy. Pass the user's country and/or gender as hints and they
68
+ resolve each other: a country pins the gender, a gender pins the
69
+ country.
70
+
71
+ ```console
72
+ $ bonjour --country=IT Simone Veil
73
+ {
74
+ "input": "Simone Veil",
75
+ "first_name": "Simone",
76
+ "confidence": 0.65,
77
+ "gender": "male",
78
+ "country": "IT"
79
+ }
80
+
81
+ $ bonjour --country=FR Simone Veil
82
+ {
83
+ "input": "Simone Veil",
84
+ "first_name": "Simone",
85
+ "confidence": 0.7,
86
+ "gender": "female",
87
+ "country": "FR"
88
+ }
89
+ ```
90
+
91
+ With no hint and a name whose gender differs by country, `gender` is
92
+ left `null` rather than guessed:
93
+
94
+ ```json
95
+ {
96
+ "input": "Simone",
97
+ "first_name": "Simone",
98
+ "confidence": 0.7,
99
+ "gender": null,
100
+ "country": "FR"
101
+ }
102
+ ```
103
+
104
+ ## License
105
+
106
+ The source code is available under the [0BSD license](LICENSE).
107
+
108
+ Datasets distributed with or used to build this project are compiled
109
+ from publicly available information. They are not covered by the 0BSD
110
+ license; their contents remain subject to any applicable rights and
111
+ source terms.
pyjour-0.0.0/README.md ADDED
@@ -0,0 +1,94 @@
1
+ # bonjour
2
+
3
+ > [!CAUTION]
4
+ >
5
+ > Work in progress, first usable version hasn't landed yet!
6
+
7
+ Experimental crate to extract first names with a confidence level.
8
+
9
+ Expected output may be something like this:
10
+
11
+ ```json
12
+ {
13
+ "input": "Quentin Richert",
14
+ "first_name": "Quentin",
15
+ "confidence": 0.95,
16
+ "gender": "male",
17
+ "country": "FR"
18
+ }
19
+ ```
20
+
21
+ The idea is that is also "detects", or at lease significantly reduces
22
+ confidences in company names, for instance:
23
+
24
+ ```json
25
+ // The company marker 'SAS' significantly reduces confidence.
26
+ {
27
+ "input": "Quentin Richert SAS",
28
+ "first_name": "Quentin",
29
+ "confidence": 0.1,
30
+ "gender": "male",
31
+ "country": "FR"
32
+ }
33
+ ```
34
+
35
+ Up to no detection at all:
36
+
37
+ ```json
38
+ {
39
+ "input": "Les Motards d'Alsace",
40
+ "first_name": null,
41
+ "confidence": 0.0,
42
+ "gender": null,
43
+ "country": null
44
+ }
45
+ ```
46
+
47
+ ## Country and gender hints
48
+
49
+ Gender is not a property of a name alone — `Simone` is female in France,
50
+ male in Italy. Pass the user's country and/or gender as hints and they
51
+ resolve each other: a country pins the gender, a gender pins the
52
+ country.
53
+
54
+ ```console
55
+ $ bonjour --country=IT Simone Veil
56
+ {
57
+ "input": "Simone Veil",
58
+ "first_name": "Simone",
59
+ "confidence": 0.65,
60
+ "gender": "male",
61
+ "country": "IT"
62
+ }
63
+
64
+ $ bonjour --country=FR Simone Veil
65
+ {
66
+ "input": "Simone Veil",
67
+ "first_name": "Simone",
68
+ "confidence": 0.7,
69
+ "gender": "female",
70
+ "country": "FR"
71
+ }
72
+ ```
73
+
74
+ With no hint and a name whose gender differs by country, `gender` is
75
+ left `null` rather than guessed:
76
+
77
+ ```json
78
+ {
79
+ "input": "Simone",
80
+ "first_name": "Simone",
81
+ "confidence": 0.7,
82
+ "gender": null,
83
+ "country": "FR"
84
+ }
85
+ ```
86
+
87
+ ## License
88
+
89
+ The source code is available under the [0BSD license](LICENSE).
90
+
91
+ Datasets distributed with or used to build this project are compiled
92
+ from publicly available information. They are not covered by the 0BSD
93
+ license; their contents remain subject to any applicable rights and
94
+ source terms.
@@ -0,0 +1 @@
1
+ """Extract first names with confidence scores."""
@@ -0,0 +1,2 @@
1
+ def main() -> None:
2
+ print("Bonjour!")
@@ -0,0 +1,111 @@
1
+ Metadata-Version: 2.4
2
+ Name: pyjour
3
+ Version: 0.0.0
4
+ Summary: Extract first names with confidence scores.
5
+ Author-email: Quentin Richert <noreply@richert.co>
6
+ License-Expression: 0BSD
7
+ Project-URL: Homepage, https://github.com/qrichert/bonjour
8
+ Project-URL: Repository, https://github.com/qrichert/bonjour.git
9
+ Keywords: first-name,name-extraction,person-name,nlp,classification
10
+ Classifier: Programming Language :: Python :: 3
11
+ Classifier: Operating System :: OS Independent
12
+ Classifier: Intended Audience :: Developers
13
+ Requires-Python: >=3.12
14
+ Description-Content-Type: text/markdown
15
+ License-File: LICENSE
16
+ Dynamic: license-file
17
+
18
+ # bonjour
19
+
20
+ > [!CAUTION]
21
+ >
22
+ > Work in progress, first usable version hasn't landed yet!
23
+
24
+ Experimental crate to extract first names with a confidence level.
25
+
26
+ Expected output may be something like this:
27
+
28
+ ```json
29
+ {
30
+ "input": "Quentin Richert",
31
+ "first_name": "Quentin",
32
+ "confidence": 0.95,
33
+ "gender": "male",
34
+ "country": "FR"
35
+ }
36
+ ```
37
+
38
+ The idea is that is also "detects", or at lease significantly reduces
39
+ confidences in company names, for instance:
40
+
41
+ ```json
42
+ // The company marker 'SAS' significantly reduces confidence.
43
+ {
44
+ "input": "Quentin Richert SAS",
45
+ "first_name": "Quentin",
46
+ "confidence": 0.1,
47
+ "gender": "male",
48
+ "country": "FR"
49
+ }
50
+ ```
51
+
52
+ Up to no detection at all:
53
+
54
+ ```json
55
+ {
56
+ "input": "Les Motards d'Alsace",
57
+ "first_name": null,
58
+ "confidence": 0.0,
59
+ "gender": null,
60
+ "country": null
61
+ }
62
+ ```
63
+
64
+ ## Country and gender hints
65
+
66
+ Gender is not a property of a name alone — `Simone` is female in France,
67
+ male in Italy. Pass the user's country and/or gender as hints and they
68
+ resolve each other: a country pins the gender, a gender pins the
69
+ country.
70
+
71
+ ```console
72
+ $ bonjour --country=IT Simone Veil
73
+ {
74
+ "input": "Simone Veil",
75
+ "first_name": "Simone",
76
+ "confidence": 0.65,
77
+ "gender": "male",
78
+ "country": "IT"
79
+ }
80
+
81
+ $ bonjour --country=FR Simone Veil
82
+ {
83
+ "input": "Simone Veil",
84
+ "first_name": "Simone",
85
+ "confidence": 0.7,
86
+ "gender": "female",
87
+ "country": "FR"
88
+ }
89
+ ```
90
+
91
+ With no hint and a name whose gender differs by country, `gender` is
92
+ left `null` rather than guessed:
93
+
94
+ ```json
95
+ {
96
+ "input": "Simone",
97
+ "first_name": "Simone",
98
+ "confidence": 0.7,
99
+ "gender": null,
100
+ "country": "FR"
101
+ }
102
+ ```
103
+
104
+ ## License
105
+
106
+ The source code is available under the [0BSD license](LICENSE).
107
+
108
+ Datasets distributed with or used to build this project are compiled
109
+ from publicly available information. They are not covered by the 0BSD
110
+ license; their contents remain subject to any applicable rights and
111
+ source terms.
@@ -0,0 +1,10 @@
1
+ LICENSE
2
+ README.md
3
+ pyproject.toml
4
+ pyjour/__init__.py
5
+ pyjour/main.py
6
+ pyjour.egg-info/PKG-INFO
7
+ pyjour.egg-info/SOURCES.txt
8
+ pyjour.egg-info/dependency_links.txt
9
+ pyjour.egg-info/entry_points.txt
10
+ pyjour.egg-info/top_level.txt
@@ -0,0 +1,2 @@
1
+ [console_scripts]
2
+ pyjour = pyjour.main:main
@@ -0,0 +1 @@
1
+ pyjour
@@ -0,0 +1,31 @@
1
+ [build-system]
2
+ requires = ["setuptools>=77"]
3
+ build-backend = "setuptools.build_meta"
4
+
5
+ [project]
6
+ name = "pyjour"
7
+ version = "0.0.0"
8
+ authors = [
9
+ { name = "Quentin Richert", email = "noreply@richert.co" },
10
+ ]
11
+ description = "Extract first names with confidence scores."
12
+ readme = "README.md"
13
+ requires-python = ">=3.12"
14
+ license = "0BSD"
15
+ license-files = ["LICENSE"]
16
+ keywords = ["first-name", "name-extraction", "person-name", "nlp", "classification"]
17
+ classifiers = [
18
+ "Programming Language :: Python :: 3",
19
+ "Operating System :: OS Independent",
20
+ "Intended Audience :: Developers",
21
+ ]
22
+
23
+ [project.urls]
24
+ Homepage = "https://github.com/qrichert/bonjour"
25
+ Repository = "https://github.com/qrichert/bonjour.git"
26
+
27
+ [project.scripts]
28
+ pyjour = "pyjour.main:main"
29
+
30
+ [tool.setuptools]
31
+ packages = ["pyjour"]
pyjour-0.0.0/setup.cfg ADDED
@@ -0,0 +1,4 @@
1
+ [egg_info]
2
+ tag_build =
3
+ tag_date = 0
4
+