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.
- python_iso639-2024.10.22/CHANGELOG.md +92 -0
- python_iso639-2024.10.22/MANIFEST.in +1 -0
- {python-iso639-2024.2.7/src/python_iso639.egg-info → python_iso639-2024.10.22}/PKG-INFO +13 -12
- {python-iso639-2024.2.7 → python_iso639-2024.10.22}/README.md +4 -4
- {python-iso639-2024.2.7 → python_iso639-2024.10.22}/pyproject.toml +9 -8
- {python-iso639-2024.2.7 → python_iso639-2024.10.22}/src/iso639/__init__.py +14 -9
- python_iso639-2024.10.22/src/iso639/languages.db +0 -0
- {python-iso639-2024.2.7 → python_iso639-2024.10.22/src/python_iso639.egg-info}/PKG-INFO +13 -12
- {python-iso639-2024.2.7 → python_iso639-2024.10.22}/src/python_iso639.egg-info/SOURCES.txt +2 -0
- python_iso639-2024.10.22/src/python_iso639.egg-info/requires.txt +8 -0
- {python-iso639-2024.2.7 → python_iso639-2024.10.22}/tests/test_language.py +2 -2
- python-iso639-2024.2.7/src/iso639/languages.db +0 -0
- python-iso639-2024.2.7/src/python_iso639.egg-info/requires.txt +0 -7
- {python-iso639-2024.2.7 → python_iso639-2024.10.22}/LICENSE.txt +0 -0
- {python-iso639-2024.2.7 → python_iso639-2024.10.22}/setup.cfg +0 -0
- {python-iso639-2024.2.7 → python_iso639-2024.10.22}/src/iso639/language.py +0 -0
- {python-iso639-2024.2.7 → python_iso639-2024.10.22}/src/python_iso639.egg-info/dependency_links.txt +0 -0
- {python-iso639-2024.2.7 → python_iso639-2024.10.22}/src/python_iso639.egg-info/not-zip-safe +0 -0
- {python-iso639-2024.2.7 → python_iso639-2024.10.22}/src/python_iso639.egg-info/top_level.txt +0 -0
- {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.
|
|
4
|
-
Summary:
|
|
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.
|
|
32
|
-
Requires-Dist: build==1.
|
|
33
|
-
Requires-Dist: flake8==7.
|
|
34
|
-
Requires-Dist: pytest==8.
|
|
35
|
-
Requires-Dist:
|
|
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
|
[](https://pypi.org/project/python-iso639/)
|
|
42
43
|
[](https://circleci.com/gh/jacksonllee/iso639)
|
|
43
44
|
|
|
44
|
-
`python-iso639` is a Python package for
|
|
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
|
-
[
|
|
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,
|
|
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
|
-
|
|
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
|
[](https://pypi.org/project/python-iso639/)
|
|
6
6
|
[](https://circleci.com/gh/jacksonllee/iso639)
|
|
7
7
|
|
|
8
|
-
`python-iso639` is a Python package for
|
|
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
|
-
[
|
|
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,
|
|
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
|
-
|
|
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.
|
|
8
|
-
description = "
|
|
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.
|
|
38
|
-
"build == 1.
|
|
39
|
-
"flake8 == 7.
|
|
40
|
-
"pytest == 8.
|
|
41
|
-
"
|
|
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
|
-
|
|
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
|
+
]
|
|
Binary file
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: python-iso639
|
|
3
|
-
Version: 2024.
|
|
4
|
-
Summary:
|
|
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.
|
|
32
|
-
Requires-Dist: build==1.
|
|
33
|
-
Requires-Dist: flake8==7.
|
|
34
|
-
Requires-Dist: pytest==8.
|
|
35
|
-
Requires-Dist:
|
|
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
|
[](https://pypi.org/project/python-iso639/)
|
|
42
43
|
[](https://circleci.com/gh/jacksonllee/iso639)
|
|
43
44
|
|
|
44
|
-
`python-iso639` is a Python package for
|
|
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
|
-
[
|
|
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,
|
|
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
|
-
|
|
289
|
+
7920
|
|
289
290
|
>>> iso639.ALL_LANGUAGES[0]
|
|
290
291
|
Language(part3='aaa', scope='I', type='L', status='A', name='Ghotuo', ...)
|
|
291
292
|
```
|
|
@@ -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,
|
|
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) ==
|
|
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"
|
|
Binary file
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{python-iso639-2024.2.7 → python_iso639-2024.10.22}/src/python_iso639.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
|
File without changes
|
{python-iso639-2024.2.7 → python_iso639-2024.10.22}/src/python_iso639.egg-info/top_level.txt
RENAMED
|
File without changes
|
|
File without changes
|