python-iso639 2024.2.7__tar.gz → 2024.10.22__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 (20) hide show
  1. python_iso639-2024.10.22/CHANGELOG.md +92 -0
  2. python_iso639-2024.10.22/MANIFEST.in +1 -0
  3. {python-iso639-2024.2.7/src/python_iso639.egg-info → python_iso639-2024.10.22}/PKG-INFO +13 -12
  4. {python-iso639-2024.2.7 → python_iso639-2024.10.22}/README.md +4 -4
  5. {python-iso639-2024.2.7 → python_iso639-2024.10.22}/pyproject.toml +9 -8
  6. {python-iso639-2024.2.7 → python_iso639-2024.10.22}/src/iso639/__init__.py +14 -9
  7. python_iso639-2024.10.22/src/iso639/languages.db +0 -0
  8. {python-iso639-2024.2.7 → python_iso639-2024.10.22/src/python_iso639.egg-info}/PKG-INFO +13 -12
  9. {python-iso639-2024.2.7 → python_iso639-2024.10.22}/src/python_iso639.egg-info/SOURCES.txt +2 -0
  10. python_iso639-2024.10.22/src/python_iso639.egg-info/requires.txt +8 -0
  11. {python-iso639-2024.2.7 → python_iso639-2024.10.22}/tests/test_language.py +2 -2
  12. python-iso639-2024.2.7/src/iso639/languages.db +0 -0
  13. python-iso639-2024.2.7/src/python_iso639.egg-info/requires.txt +0 -7
  14. {python-iso639-2024.2.7 → python_iso639-2024.10.22}/LICENSE.txt +0 -0
  15. {python-iso639-2024.2.7 → python_iso639-2024.10.22}/setup.cfg +0 -0
  16. {python-iso639-2024.2.7 → python_iso639-2024.10.22}/src/iso639/language.py +0 -0
  17. {python-iso639-2024.2.7 → python_iso639-2024.10.22}/src/python_iso639.egg-info/dependency_links.txt +0 -0
  18. {python-iso639-2024.2.7 → python_iso639-2024.10.22}/src/python_iso639.egg-info/not-zip-safe +0 -0
  19. {python-iso639-2024.2.7 → python_iso639-2024.10.22}/src/python_iso639.egg-info/top_level.txt +0 -0
  20. {python-iso639-2024.2.7 → python_iso639-2024.10.22}/tests/test_version_number.py +0 -0
@@ -0,0 +1,92 @@
1
+ # Change Log
2
+ All notable changes to this project will be documented in this file.
3
+
4
+ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
5
+
6
+ The version number is based on [calendar versioning](https://calver.org/).
7
+ The specific format is `YYYY.(M)M.(D)D`,
8
+ where the month and day may be single-digit because Python doesn't allow zero-padded
9
+ major/minor/micro version numbers like `05` (it'd have to be just `5`).
10
+
11
+ ## [Unreleased]
12
+
13
+ ### Added
14
+ ### Changed
15
+ ### Deprecated
16
+ ### Removed
17
+ ### Fixed
18
+ ### Security
19
+
20
+ ## [2024.10.22]
21
+
22
+ ### Added
23
+ * Added support for Python 3.13.
24
+
25
+ ### Removed
26
+ * Dropped support for Python 3.8.
27
+
28
+ ### Fixed
29
+ * Added `CHANGELOG.md` to the PyPI source distribution.
30
+
31
+ ## [2024.4.27]
32
+
33
+ ### Changed
34
+ * Updated the ISO 639 data from SIL to the latest 2024-04-15 release.
35
+
36
+ ## [2024.2.7]
37
+
38
+ ### Changed
39
+ * Updated the ISO 639 data from SIL to the latest 2024-01-10 release.
40
+
41
+ ## [2024.1.2]
42
+
43
+ ### Changed
44
+ * Updated the ISO 639 data from SIL to the latest 2023-12-20 release.
45
+
46
+ ## [2023.12.11]
47
+
48
+ ### Added
49
+ * Added support for Python 3.12.
50
+
51
+ ## [2023.6.15]
52
+
53
+ ### Fixed
54
+ * Made `Language` class instances actually hashable (#3).
55
+
56
+ ## [2023.4.13]
57
+
58
+ ### Changed
59
+ * Disabled thread checking for the database, as it's read-only (#1).
60
+
61
+ ## [2023.2.4]
62
+
63
+ ### Changed
64
+ * Updated the ISO 639 data from SIL to the latest 2023-01-23 release.
65
+
66
+ ## [2022.11.27]
67
+
68
+ ### Added
69
+ * Defined the `LanguageNotFoundError` exception.
70
+ * Added support for Python 3.11.
71
+
72
+ ### Changed
73
+ * If the `Language` class methods `match`, `from_part3`, etc. receive an invalid
74
+ input language code or name, a `LanguageNotFoundError` is now raised.
75
+ (Previously, `None` was returned with no exception raised.)
76
+
77
+ ### Removed
78
+ * Dropped support for Python 3.7.
79
+
80
+ ## [2022.9.17]
81
+
82
+ ### Added
83
+ * Added constants `DATA_LAST_UPDATED` and `ALL_LANGUAGES`.
84
+
85
+ ## [2022.5.16]
86
+
87
+ ### Fixed
88
+ * Corrected repo name in package metadata and documentation.
89
+
90
+ ## [2022.5.15]
91
+
92
+ * First release!
@@ -0,0 +1 @@
1
+ include CHANGELOG.md
@@ -1,7 +1,7 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: python-iso639
3
- Version: 2024.2.7
4
- Summary: Look-up utilities for ISO 639 language codes and names
3
+ Version: 2024.10.22
4
+ Summary: ISO 639 language codes, names, and other associated information
5
5
  Author-email: "Jackson L. Lee" <jacksonlunlee@gmail.com>
6
6
  License: Apache 2.0
7
7
  Project-URL: Source, https://github.com/jacksonllee/iso639
@@ -15,11 +15,11 @@ Classifier: License :: OSI Approved :: Apache Software License
15
15
  Classifier: Operating System :: OS Independent
16
16
  Classifier: Programming Language :: Python :: 3
17
17
  Classifier: Programming Language :: Python :: 3 :: Only
18
- Classifier: Programming Language :: Python :: 3.8
19
18
  Classifier: Programming Language :: Python :: 3.9
20
19
  Classifier: Programming Language :: Python :: 3.10
21
20
  Classifier: Programming Language :: Python :: 3.11
22
21
  Classifier: Programming Language :: Python :: 3.12
22
+ Classifier: Programming Language :: Python :: 3.13
23
23
  Classifier: Topic :: Text Processing
24
24
  Classifier: Topic :: Text Processing :: General
25
25
  Classifier: Topic :: Text Processing :: Indexing
@@ -28,11 +28,12 @@ Requires-Python: >=3.8
28
28
  Description-Content-Type: text/markdown
29
29
  License-File: LICENSE.txt
30
30
  Provides-Extra: dev
31
- Requires-Dist: black==24.1.1; extra == "dev"
32
- Requires-Dist: build==1.0.3; extra == "dev"
33
- Requires-Dist: flake8==7.0.0; extra == "dev"
34
- Requires-Dist: pytest==8.0.0; extra == "dev"
35
- Requires-Dist: twine==4.0.2; extra == "dev"
31
+ Requires-Dist: black==24.10.0; extra == "dev"
32
+ Requires-Dist: build==1.2.1; extra == "dev"
33
+ Requires-Dist: flake8==7.1.1; extra == "dev"
34
+ Requires-Dist: pytest==8.3.3; extra == "dev"
35
+ Requires-Dist: requests==2.32.3; extra == "dev"
36
+ Requires-Dist: twine==5.1.1; extra == "dev"
36
37
 
37
38
  # python-iso639
38
39
 
@@ -41,7 +42,7 @@ Requires-Dist: twine==4.0.2; extra == "dev"
41
42
  [![PyPI downloads last month](https://img.shields.io/pypi/dm/python-iso639)](https://pypi.org/project/python-iso639/)
42
43
  [![CircleCI Builds](https://circleci.com/gh/jacksonllee/iso639.svg?style=shield)](https://circleci.com/gh/jacksonllee/iso639)
43
44
 
44
- `python-iso639` is a Python package for accessing ISO 639 language codes, names, and
45
+ `python-iso639` is a Python package for ISO 639 language codes, names, and
45
46
  other associated information.
46
47
 
47
48
  Current features:
@@ -257,7 +258,7 @@ If there isn't a match, a `LanguageNotFoundError` is raised.
257
258
 
258
259
  The `Language` class is a dataclass.
259
260
  All functionality of
260
- [dataclases](https://docs.python.org/3/library/dataclasses.html)
261
+ [dataclasses](https://docs.python.org/3/library/dataclasses.html)
261
262
  applies to `Language` and its instances,
262
263
  e.g., [`dataclasses.asdict`](https://docs.python.org/3/library/dataclasses.html#dataclasses.asdict):
263
264
 
@@ -275,7 +276,7 @@ e.g., [`dataclasses.asdict`](https://docs.python.org/3/library/dataclasses.html#
275
276
  ```python
276
277
  >>> import iso639
277
278
  >>> iso639.DATA_LAST_UPDATED
278
- datetime.date(2024, 2, 7)
279
+ datetime.date(2024, 4, 15)
279
280
  ```
280
281
 
281
282
  * `ALL_LANGUAGES`: The list of all `Language` objects based on the included language code data
@@ -285,7 +286,7 @@ e.g., [`dataclasses.asdict`](https://docs.python.org/3/library/dataclasses.html#
285
286
  >>> type(iso639.ALL_LANGUAGES)
286
287
  <class 'list'>
287
288
  >>> len(iso639.ALL_LANGUAGES)
288
- 7919
289
+ 7920
289
290
  >>> iso639.ALL_LANGUAGES[0]
290
291
  Language(part3='aaa', scope='I', type='L', status='A', name='Ghotuo', ...)
291
292
  ```
@@ -5,7 +5,7 @@
5
5
  [![PyPI downloads last month](https://img.shields.io/pypi/dm/python-iso639)](https://pypi.org/project/python-iso639/)
6
6
  [![CircleCI Builds](https://circleci.com/gh/jacksonllee/iso639.svg?style=shield)](https://circleci.com/gh/jacksonllee/iso639)
7
7
 
8
- `python-iso639` is a Python package for accessing ISO 639 language codes, names, and
8
+ `python-iso639` is a Python package for ISO 639 language codes, names, and
9
9
  other associated information.
10
10
 
11
11
  Current features:
@@ -221,7 +221,7 @@ If there isn't a match, a `LanguageNotFoundError` is raised.
221
221
 
222
222
  The `Language` class is a dataclass.
223
223
  All functionality of
224
- [dataclases](https://docs.python.org/3/library/dataclasses.html)
224
+ [dataclasses](https://docs.python.org/3/library/dataclasses.html)
225
225
  applies to `Language` and its instances,
226
226
  e.g., [`dataclasses.asdict`](https://docs.python.org/3/library/dataclasses.html#dataclasses.asdict):
227
227
 
@@ -239,7 +239,7 @@ e.g., [`dataclasses.asdict`](https://docs.python.org/3/library/dataclasses.html#
239
239
  ```python
240
240
  >>> import iso639
241
241
  >>> iso639.DATA_LAST_UPDATED
242
- datetime.date(2024, 2, 7)
242
+ datetime.date(2024, 4, 15)
243
243
  ```
244
244
 
245
245
  * `ALL_LANGUAGES`: The list of all `Language` objects based on the included language code data
@@ -249,7 +249,7 @@ e.g., [`dataclasses.asdict`](https://docs.python.org/3/library/dataclasses.html#
249
249
  >>> type(iso639.ALL_LANGUAGES)
250
250
  <class 'list'>
251
251
  >>> len(iso639.ALL_LANGUAGES)
252
- 7919
252
+ 7920
253
253
  >>> iso639.ALL_LANGUAGES[0]
254
254
  Language(part3='aaa', scope='I', type='L', status='A', name='Ghotuo', ...)
255
255
  ```
@@ -4,8 +4,8 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "python-iso639"
7
- version = "2024.2.7"
8
- description = "Look-up utilities for ISO 639 language codes and names"
7
+ version = "2024.10.22"
8
+ description = "ISO 639 language codes, names, and other associated information"
9
9
  readme = "README.md"
10
10
  requires-python = ">= 3.8"
11
11
  license = { text = "Apache 2.0" }
@@ -21,11 +21,11 @@ classifiers = [
21
21
  "Operating System :: OS Independent",
22
22
  "Programming Language :: Python :: 3",
23
23
  "Programming Language :: Python :: 3 :: Only",
24
- "Programming Language :: Python :: 3.8",
25
24
  "Programming Language :: Python :: 3.9",
26
25
  "Programming Language :: Python :: 3.10",
27
26
  "Programming Language :: Python :: 3.11",
28
27
  "Programming Language :: Python :: 3.12",
28
+ "Programming Language :: Python :: 3.13",
29
29
  "Topic :: Text Processing",
30
30
  "Topic :: Text Processing :: General",
31
31
  "Topic :: Text Processing :: Indexing",
@@ -34,11 +34,12 @@ classifiers = [
34
34
 
35
35
  [project.optional-dependencies]
36
36
  dev = [
37
- "black == 24.1.1",
38
- "build == 1.0.3",
39
- "flake8 == 7.0.0",
40
- "pytest == 8.0.0",
41
- "twine == 4.0.2",
37
+ "black == 24.10.0",
38
+ "build == 1.2.1",
39
+ "flake8 == 7.1.1",
40
+ "pytest == 8.3.3",
41
+ "requests == 2.32.3",
42
+ "twine == 5.1.1",
42
43
  ]
43
44
 
44
45
  [project.urls]
@@ -4,16 +4,12 @@ from importlib.metadata import version
4
4
  from .language import Language, LanguageNotFoundError, _get_all_languages
5
5
 
6
6
 
7
+ # __version__ is based on calendar versioning (https://calver.org/).
8
+ # __version__ and DATA_LAST_UPDATED are intentionally kept separate.
9
+ # While DATA_LAST_UPDATED is strictly the date for the ISO 639-3 data release,
10
+ # __version__ can be bumped for changes other than data updates.
7
11
  __version__ = version("python-iso639")
8
- __all__ = [
9
- "__version__",
10
- "ALL_LANGUAGES",
11
- "DATA_LAST_UPDATED",
12
- "Language",
13
- "LanguageNotFoundError",
14
- ]
15
-
16
- DATA_LAST_UPDATED = datetime.date(2024, 1, 10)
12
+ DATA_LAST_UPDATED = datetime.date(2024, 4, 15)
17
13
 
18
14
 
19
15
  def __getattr__(name):
@@ -21,3 +17,12 @@ def __getattr__(name):
21
17
  return _get_all_languages()
22
18
  else:
23
19
  raise AttributeError(f"module {__name__!r} has no attribute {name!r}")
20
+
21
+
22
+ __all__ = [
23
+ "__version__",
24
+ "ALL_LANGUAGES",
25
+ "DATA_LAST_UPDATED",
26
+ "Language",
27
+ "LanguageNotFoundError",
28
+ ]
@@ -1,7 +1,7 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: python-iso639
3
- Version: 2024.2.7
4
- Summary: Look-up utilities for ISO 639 language codes and names
3
+ Version: 2024.10.22
4
+ Summary: ISO 639 language codes, names, and other associated information
5
5
  Author-email: "Jackson L. Lee" <jacksonlunlee@gmail.com>
6
6
  License: Apache 2.0
7
7
  Project-URL: Source, https://github.com/jacksonllee/iso639
@@ -15,11 +15,11 @@ Classifier: License :: OSI Approved :: Apache Software License
15
15
  Classifier: Operating System :: OS Independent
16
16
  Classifier: Programming Language :: Python :: 3
17
17
  Classifier: Programming Language :: Python :: 3 :: Only
18
- Classifier: Programming Language :: Python :: 3.8
19
18
  Classifier: Programming Language :: Python :: 3.9
20
19
  Classifier: Programming Language :: Python :: 3.10
21
20
  Classifier: Programming Language :: Python :: 3.11
22
21
  Classifier: Programming Language :: Python :: 3.12
22
+ Classifier: Programming Language :: Python :: 3.13
23
23
  Classifier: Topic :: Text Processing
24
24
  Classifier: Topic :: Text Processing :: General
25
25
  Classifier: Topic :: Text Processing :: Indexing
@@ -28,11 +28,12 @@ Requires-Python: >=3.8
28
28
  Description-Content-Type: text/markdown
29
29
  License-File: LICENSE.txt
30
30
  Provides-Extra: dev
31
- Requires-Dist: black==24.1.1; extra == "dev"
32
- Requires-Dist: build==1.0.3; extra == "dev"
33
- Requires-Dist: flake8==7.0.0; extra == "dev"
34
- Requires-Dist: pytest==8.0.0; extra == "dev"
35
- Requires-Dist: twine==4.0.2; extra == "dev"
31
+ Requires-Dist: black==24.10.0; extra == "dev"
32
+ Requires-Dist: build==1.2.1; extra == "dev"
33
+ Requires-Dist: flake8==7.1.1; extra == "dev"
34
+ Requires-Dist: pytest==8.3.3; extra == "dev"
35
+ Requires-Dist: requests==2.32.3; extra == "dev"
36
+ Requires-Dist: twine==5.1.1; extra == "dev"
36
37
 
37
38
  # python-iso639
38
39
 
@@ -41,7 +42,7 @@ Requires-Dist: twine==4.0.2; extra == "dev"
41
42
  [![PyPI downloads last month](https://img.shields.io/pypi/dm/python-iso639)](https://pypi.org/project/python-iso639/)
42
43
  [![CircleCI Builds](https://circleci.com/gh/jacksonllee/iso639.svg?style=shield)](https://circleci.com/gh/jacksonllee/iso639)
43
44
 
44
- `python-iso639` is a Python package for accessing ISO 639 language codes, names, and
45
+ `python-iso639` is a Python package for ISO 639 language codes, names, and
45
46
  other associated information.
46
47
 
47
48
  Current features:
@@ -257,7 +258,7 @@ If there isn't a match, a `LanguageNotFoundError` is raised.
257
258
 
258
259
  The `Language` class is a dataclass.
259
260
  All functionality of
260
- [dataclases](https://docs.python.org/3/library/dataclasses.html)
261
+ [dataclasses](https://docs.python.org/3/library/dataclasses.html)
261
262
  applies to `Language` and its instances,
262
263
  e.g., [`dataclasses.asdict`](https://docs.python.org/3/library/dataclasses.html#dataclasses.asdict):
263
264
 
@@ -275,7 +276,7 @@ e.g., [`dataclasses.asdict`](https://docs.python.org/3/library/dataclasses.html#
275
276
  ```python
276
277
  >>> import iso639
277
278
  >>> iso639.DATA_LAST_UPDATED
278
- datetime.date(2024, 2, 7)
279
+ datetime.date(2024, 4, 15)
279
280
  ```
280
281
 
281
282
  * `ALL_LANGUAGES`: The list of all `Language` objects based on the included language code data
@@ -285,7 +286,7 @@ e.g., [`dataclasses.asdict`](https://docs.python.org/3/library/dataclasses.html#
285
286
  >>> type(iso639.ALL_LANGUAGES)
286
287
  <class 'list'>
287
288
  >>> len(iso639.ALL_LANGUAGES)
288
- 7919
289
+ 7920
289
290
  >>> iso639.ALL_LANGUAGES[0]
290
291
  Language(part3='aaa', scope='I', type='L', status='A', name='Ghotuo', ...)
291
292
  ```
@@ -1,4 +1,6 @@
1
+ CHANGELOG.md
1
2
  LICENSE.txt
3
+ MANIFEST.in
2
4
  README.md
3
5
  pyproject.toml
4
6
  src/iso639/__init__.py
@@ -0,0 +1,8 @@
1
+
2
+ [dev]
3
+ black==24.10.0
4
+ build==1.2.1
5
+ flake8==7.1.1
6
+ pytest==8.3.3
7
+ requests==2.32.3
8
+ twine==5.1.1
@@ -68,13 +68,13 @@ def test_invalid_inputs():
68
68
 
69
69
 
70
70
  def test_data_last_updated():
71
- assert DATA_LAST_UPDATED == datetime.date(2024, 1, 10), "Need to update README.md"
71
+ assert DATA_LAST_UPDATED == datetime.date(2024, 4, 15), "Need to update README.md"
72
72
 
73
73
 
74
74
  def test_all_languages():
75
75
  assert type(ALL_LANGUAGES) is list
76
76
  assert type(ALL_LANGUAGES[0]) is Language
77
- assert len(ALL_LANGUAGES) == 7919, "Need to update README.md"
77
+ assert len(ALL_LANGUAGES) == 7920, "Need to update README.md"
78
78
 
79
79
  lang = ALL_LANGUAGES[0]
80
80
  assert lang.part3 == "aaa", "Need to update README.md"
@@ -1,7 +0,0 @@
1
-
2
- [dev]
3
- black==24.1.1
4
- build==1.0.3
5
- flake8==7.0.0
6
- pytest==8.0.0
7
- twine==4.0.2