Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python-python-iso639 for 
openSUSE:Factory checked in at 2026-03-04 21:05:30
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-python-iso639 (Old)
 and      /work/SRC/openSUSE:Factory/.python-python-iso639.new.561 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-python-iso639"

Wed Mar  4 21:05:30 2026 rev:5 rq:1336188 version:2026.1.31

Changes:
--------
--- 
/work/SRC/openSUSE:Factory/python-python-iso639/python-python-iso639.changes    
    2025-12-29 15:17:47.653451232 +0100
+++ 
/work/SRC/openSUSE:Factory/.python-python-iso639.new.561/python-python-iso639.changes
       2026-03-04 21:05:33.645284000 +0100
@@ -1,0 +2,7 @@
+Tue Mar  3 19:07:40 UTC 2026 - Dirk Müller <[email protected]>
+
+- update to 2026.1.31:
+  * Updated the ISO 639 data from SIL to the latest 2026-01-15
+    release.
+
+-------------------------------------------------------------------

Old:
----
  python_iso639-2025.11.16.tar.gz

New:
----
  python_iso639-2026.1.31.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-python-iso639.spec ++++++
--- /var/tmp/diff_new_pack.7NbNC0/_old  2026-03-04 21:05:34.329312262 +0100
+++ /var/tmp/diff_new_pack.7NbNC0/_new  2026-03-04 21:05:34.333312428 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package python-python-iso639
 #
-# Copyright (c) 2025 SUSE LLC and contributors
+# Copyright (c) 2026 SUSE LLC and contributors
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -18,7 +18,7 @@
 
 %{?sle15_python_module_pythons}
 Name:           python-python-iso639
-Version:        2025.11.16
+Version:        2026.1.31
 Release:        0
 Summary:        ISO 639 language codes, names, and other associated information
 License:        Apache-2.0

++++++ python_iso639-2025.11.16.tar.gz -> python_iso639-2026.1.31.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/iso639-2025.11.16/.circleci/config.yml 
new/iso639-2026.1.31/.circleci/config.yml
--- old/iso639-2025.11.16/.circleci/config.yml  2025-11-16 22:45:07.000000000 
+0100
+++ new/iso639-2026.1.31/.circleci/config.yml   2026-01-31 16:01:44.000000000 
+0100
@@ -9,12 +9,21 @@
     parameters:
       command-run:
         type: string
+      latest-supported-python-version:
+        type: string
+        # Pick the highest Python 3.x version that this package is known to 
support
+        default: "3.14"
     docker:
-      # Pick the highest Python 3.x version that this package is known to 
support
-      - image: cimg/python:3.14
+      - image: cimg/python:<< parameters.latest-supported-python-version >>
     steps:
       - checkout
       - run:
+          name: Set up uv virtual environment
+          command: |
+            uv python install << parameters.latest-supported-python-version >>
+            uv venv .venv --managed-python --python=python<< 
parameters.latest-supported-python-version >>
+            source .venv/bin/activate
+      - run:
           command: << parameters.command-run >>
 
   build-python:
@@ -26,22 +35,37 @@
     steps:
       - checkout
       - run:
+          name: Install Python under uv
+          command: |
+            uv python install << parameters.python-version >>
+      - run:
           # Test that we can build a source distribution that can correctly
           # install from clean slate.
           # "python -m build" creates
           # dist/<pkg-name>-x.y.z.tar.gz and 
dist/<pkg-name>-x.y.z-py3-none-any.whl
-          name: Build source distribution and install package from it
+          name: Build source distribution, test installing package from it, 
and clean up
+          command: |
+              uv venv .venv --managed-python --python=python<< 
parameters.python-version >>
+              source .venv/bin/activate
+              uv pip install --no-progress --upgrade pip setuptools build
+              uv run python -m build
+              uv pip install dist/`ls dist/ | grep .whl`
+              deactivate
+              rm -rf .venv
+      - run:
+          name: Set up uv virtual environment for the test suite
           command: |
-              pip install ".[dev]" && \
-              python -m build && \
-              pip install dist/`ls dist/ | grep .whl`
+            uv venv .venv --managed-python --python=python<< 
parameters.python-version >>
+            source .venv/bin/activate
+            uv pip install --no-progress -e ".[dev]"
       - run:
           name: Show installed Python packages
-          command: pip list -v
+          command: |
+            uv pip list -v
       - run:
           name: Run python tests
           command: |
-              pytest -vv --durations=0 --junitxml=/tmp/testxml/report.xml
+            uv run pytest --junitxml=/tmp/testxml/report.xml --durations=0
       - store_test_results:
           path: /tmp/testxml/
 
@@ -57,8 +81,9 @@
           shell: bash.exe
           command: |
             python --version && \
-            pip install ".[dev]" && \
-            pip list && \
+            python.exe -m pip install --upgrade pip setuptools wheel && \
+            python.exe -m pip install ".[dev]" && \
+            python.exe -m pip list && \
             pytest
 
 workflows:
@@ -68,47 +93,47 @@
       - pre-build:
           name: flake8
           command-run: |
-            pip install ".[dev]" && \
-            flake8 src tests
+            uv pip install --no-progress -e ".[dev]" && \
+            uv run flake8 src tests
       - pre-build:
           name: black
-          command-run:  |
-            pip install ".[dev]" && \
-            black --check src tests
+          command-run: |
+            uv pip install --no-progress -e ".[dev]" && \
+            uv run black --check src tests
       - pre-build:
           name: mypy
-          command-run:  |
-            pip install ".[dev]" && \
-            mypy src
+          command-run: |
+            uv pip install --no-progress -e ".[dev]" && \
+            uv run mypy src
       - pre-build:
           name: twine
           command-run: |
-            pip install ".[dev]" && \
-            python -m build && \
-            twine check dist/`ls dist/ | grep .tar.gz` && \
-            twine check dist/`ls dist/ | grep .whl`
-      - pre-build:
-          name: safety
-          # jinja2 v3.1.4 triggers https://data.safetycli.com/v/70612/97c
-          command-run: |
-            pip install -e . && \
-            pip install --upgrade safety && \
-            safety --version && \
-            pip freeze | safety check --stdin --ignore=70612
+            uv pip install --no-progress -e ".[dev]" && \
+            uv run python -m build && \
+            uv run twine check dist/`ls dist/ | grep .tar.gz` && \
+            uv run twine check dist/`ls dist/ | grep .whl`
       - pre-build:
           name: bandit
           command-run: |
-            pip install --upgrade bandit && \
-            bandit --version && \
-            bandit -r src -x tests
+            uv pip install --no-progress -e "." && \
+            uv pip install --no-progress --upgrade bandit && \
+            uv run bandit --version && \
+            uv run bandit -r src -x tests
+      - pre-build:
+          name: pip-audit
+          command-run: |
+            uv pip install --no-progress -e "." && \
+            uv pip install --no-progress --upgrade pip-audit && \
+            uv run pip-audit --version && \
+            uv run pip-audit --skip-editable
       - build-python:
           requires:
             - flake8
             - black
             - mypy
             - twine
-            - safety
             - bandit
+            - pip-audit
           matrix:
             parameters:
               python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"]
@@ -118,5 +143,5 @@
             - black
             - mypy
             - twine
-            - safety
             - bandit
+            - pip-audit
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/iso639-2025.11.16/CHANGELOG.md 
new/iso639-2026.1.31/CHANGELOG.md
--- old/iso639-2025.11.16/CHANGELOG.md  2025-11-16 22:45:07.000000000 +0100
+++ new/iso639-2026.1.31/CHANGELOG.md   2026-01-31 16:01:44.000000000 +0100
@@ -17,6 +17,11 @@
 ### Fixed
 ### Security
 
+## [2026.1.31]
+
+### Changed
+* Updated the ISO 639 data from SIL to the latest 2026-01-15 release.
+
 ## [2025.11.16]
 
 ### Fixed
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/iso639-2025.11.16/README.md 
new/iso639-2026.1.31/README.md
--- old/iso639-2025.11.16/README.md     2025-11-16 22:45:07.000000000 +0100
+++ new/iso639-2026.1.31/README.md      2026-01-31 16:01:44.000000000 +0100
@@ -209,7 +209,7 @@
 | `status`           | `str`           | ✗                 | One of {(A)ctive, 
(R)etired}, describing the ISO 639-3 code                                       
                    |
 | `name`             | `str`           | ✗                 | Reference 
language name in ISO 639-3                                                      
                            |
 | `comment`          | `str`           | ✓                 | Comment from ISO 
639-3                                                                           
                     |
-| `other_names`      | `List[Name]`    | ✓                 | Other print and 
inverted names [2]                                                              
                      |
+| `other_names`      | `list[Name]`    | ✓                 | Other print and 
inverted names [2]                                                              
                      |
 | `macrolanguage`    | `str`           | ✓                 | Macrolanguage     
                                                                                
                    |
 | `retire_reason`    | `str`           | ✓                 | Retirement 
reason, one of {(C)hange, (D)uplicate, (N)on-existent, (S)plit, (M)erge}        
                           |
 | `retire_change_to` | `str`           | ✓                 | ISO 639-3 code to 
which this language can be changed, if retirement reason is one of {(C)hange, 
(D)uplicate, (M)erge} |
@@ -268,7 +268,7 @@
     ```python
     >>> import iso639
     >>> iso639.DATA_LAST_UPDATED
-    datetime.date(2025, 10, 15)
+    datetime.date(2026, 1, 15)
     ```
 
 * `ALL_LANGUAGES`: The list of all `Language` objects based on the included 
language code data
@@ -278,7 +278,7 @@
     >>> type(iso639.ALL_LANGUAGES)
     <class 'set'>
     >>> len(iso639.ALL_LANGUAGES)
-    8311
+    8313
     ```
 
 ## Links
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/iso639-2025.11.16/pyproject.toml 
new/iso639-2026.1.31/pyproject.toml
--- old/iso639-2025.11.16/pyproject.toml        2025-11-16 22:45:07.000000000 
+0100
+++ new/iso639-2026.1.31/pyproject.toml 2026-01-31 16:01:44.000000000 +0100
@@ -4,7 +4,7 @@
 
 [project]
 name = "python-iso639"
-version = "2025.11.16"
+version = "2026.1.31"
 description = "ISO 639 language codes, names, and other associated information"
 readme = "README.md"
 requires-python = ">= 3.10"
@@ -34,12 +34,11 @@
 
 [project.optional-dependencies]
 dev = [
-    "black == 25.11.0",
-    "build == 1.3.0",
+    "black == 26.1.0",
+    "build == 1.4.0",
     "flake8 == 7.3.0",
-    "mypy == 1.18.2",
-    "pytest == 9.0.0",
-    "requests == 2.32.5",
+    "mypy == 1.19.1",
+    "pytest == 9.0.2",
     "twine == 6.2.0",
 ]
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/iso639-2025.11.16/src/iso639/__init__.py 
new/iso639-2026.1.31/src/iso639/__init__.py
--- old/iso639-2025.11.16/src/iso639/__init__.py        2025-11-16 
22:45:07.000000000 +0100
+++ new/iso639-2026.1.31/src/iso639/__init__.py 2026-01-31 16:01:44.000000000 
+0100
@@ -3,13 +3,12 @@
 
 from .language import ALL_LANGUAGES, Language, LanguageNotFoundError
 
-
 # __version__ is based on calendar versioning (https://calver.org/).
 # __version__ and DATA_LAST_UPDATED are intentionally kept separate.
 # While DATA_LAST_UPDATED is strictly the date for the ISO 639-3 data release,
 # __version__ can be bumped for changes other than data updates.
 __version__ = version("python-iso639")
-DATA_LAST_UPDATED = datetime.date(2025, 10, 15)
+DATA_LAST_UPDATED = datetime.date(2026, 1, 15)
 
 
 __all__ = [
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/iso639-2025.11.16/src/iso639/_data/iso-639-3.tab 
new/iso639-2026.1.31/src/iso639/_data/iso-639-3.tab
--- old/iso639-2025.11.16/src/iso639/_data/iso-639-3.tab        2025-11-16 
22:45:07.000000000 +0100
+++ new/iso639-2026.1.31/src/iso639/_data/iso-639-3.tab 2026-01-31 
16:01:44.000000000 +0100
@@ -850,7 +850,7 @@
 boa                            I       L       Bora    
 bob                            I       L       Aweer   
 bod    tib     bod     bo      I       L       Tibetan 
-boe                            I       L       Mundabli        
+boe                            I       L       Mundabli-Mufu   
 bof                            I       L       Bolon   
 bog                            I       L       Bamako Sign Language    
 boh                            I       L       Boma    
@@ -1751,6 +1751,7 @@
 dyd                            I       E       Dyugun  
 dyg                            I       E       Villa Viciosa Agta      
 dyi                            I       L       Djimini Senoufo 
+dyl                            I       L       Bhutanese Sign Language 
 dym                            I       L       Yanda Dom Dogon 
 dyn                            I       L       Dyangadi        
 dyo                            I       L       Jola-Fonyi      
@@ -3573,6 +3574,7 @@
 ley                            I       L       Lemolang        
 lez    lez     lez             I       L       Lezghian        
 lfa                            I       L       Lefa    
+lfb                            I       L       Buu (Cameroon)  
 lfn                            I       C       Lingua Franca Nova      
 lga                            I       L       Lungga  
 lgb                            I       L       Laghu   
@@ -3784,7 +3786,7 @@
 luf                            I       L       Laua    
 lug    lug     lug     lg      I       L       Ganda   
 luh                            I       L       Leizhou Chinese 
-lui    lui     lui             I       E       Luiseno 
+lui    lui     lui             I       E       Luiseño 
 luj                            I       L       Luna    
 luk                            I       L       Lunanakha       
 lul                            I       L       Olu'bo  
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/iso639-2025.11.16/src/iso639/_data/iso-639-3_Name_Index.tab 
new/iso639-2026.1.31/src/iso639/_data/iso-639-3_Name_Index.tab
--- old/iso639-2025.11.16/src/iso639/_data/iso-639-3_Name_Index.tab     
2025-11-16 22:45:07.000000000 +0100
+++ new/iso639-2026.1.31/src/iso639/_data/iso-639-3_Name_Index.tab      
2026-01-31 16:01:44.000000000 +0100
@@ -880,7 +880,7 @@
 boa    Bora    Bora
 bob    Aweer   Aweer
 bod    Tibetan Tibetan
-boe    Mundabli        Mundabli
+boe    Mundabli-Mufu   Mundabli-Mufu
 bof    Bolon   Bolon
 bog    Bamako Sign Language    Bamako Sign Language
 boh    Boma    Boma
@@ -1837,6 +1837,7 @@
 dyd    Dyugun  Dyugun
 dyg    Villa Viciosa Agta      Agta, Villa Viciosa
 dyi    Djimini Senoufo Senoufo, Djimini
+dyl    Bhutanese Sign Language Bhutanese Sign Language
 dym    Yanda Dom Dogon Dogon, Yanda Dom
 dyn    Dhanggatti      Dhanggatti
 dyn    Dyangadi        Dyangadi
@@ -3758,6 +3759,7 @@
 ley    Lemolang        Lemolang
 lez    Lezghian        Lezghian
 lfa    Lefa    Lefa
+lfb    Buu (Cameroon)  Buu (Cameroon)
 lfn    Lingua Franca Nova      Lingua Franca Nova
 lga    Lungga  Lungga
 lgb    Laghu   Laghu
@@ -3991,7 +3993,7 @@
 luf    Laua    Laua
 lug    Ganda   Ganda
 luh    Leizhou Chinese Chinese, Leizhou
-lui    Luiseno Luiseno
+lui    Luiseño Luiseño
 luj    Luna    Luna
 luk    Lunanakha       Lunanakha
 lul    Olu'bo  Olu'bo
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/iso639-2025.11.16/src/iso639/language.py 
new/iso639-2026.1.31/src/iso639/language.py
--- old/iso639-2025.11.16/src/iso639/language.py        2025-11-16 
22:45:07.000000000 +0100
+++ new/iso639-2026.1.31/src/iso639/language.py 2026-01-31 16:01:44.000000000 
+0100
@@ -25,7 +25,6 @@
     _COLUMN_TYPE,
 )
 
-
 _STRING_CLEANING_FUNCS = [lambda x: x.lower(), lambda x: x.title()]
 
 
@@ -33,41 +32,18 @@
     pass
 
 
-@dataclass(frozen=True)
+@dataclass(frozen=True, slots=True)
 class Name:
     """Represents an alternative name of a language."""
 
-    __slots__ = ("print", "inverted")
     print: str
     inverted: str
 
 
-@dataclass(frozen=True)
+@dataclass(frozen=True, slots=True)
 class Language:
     """Represents a language in the ISO 639-3 charts."""
 
-    __slots__ = (
-        # From the "codes" table
-        "part3",
-        "part2b",
-        "part2t",
-        "part1",
-        "scope",
-        "type",
-        "status",
-        "name",
-        "comment",
-        # From the "name_index" table
-        "other_names",
-        # From the "macrolanguages" table
-        "macrolanguage",
-        # From the "retirements" table
-        "retire_reason",
-        "retire_change_to",
-        "retire_remedy",
-        "retire_date",
-    )
-
     # From the "codes" table
     part3: str
     part2b: str | None
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/iso639-2025.11.16/tests/test_language.py 
new/iso639-2026.1.31/tests/test_language.py
--- old/iso639-2025.11.16/tests/test_language.py        2025-11-16 
22:45:07.000000000 +0100
+++ new/iso639-2026.1.31/tests/test_language.py 2026-01-31 16:01:44.000000000 
+0100
@@ -132,7 +132,7 @@
 
 
 def test_data_last_updated():
-    assert DATA_LAST_UPDATED == datetime.date(2025, 10, 15), "Need to update 
README.md"
+    assert DATA_LAST_UPDATED == datetime.date(2026, 1, 15), "Need to update 
README.md"
 
 
 def test_all_languages():
@@ -140,7 +140,7 @@
     # Defining `len_all_languages` so that when the assertion fails,
     # the error message is more informative.
     len_all_languages = len(ALL_LANGUAGES)
-    assert len_all_languages == 8311, "Need to update README.md"
+    assert len_all_languages == 8313, "Need to update README.md"
     lang = list(ALL_LANGUAGES)[0]
     assert type(lang) is Language
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/iso639-2025.11.16/tests/test_version_number.py 
new/iso639-2026.1.31/tests/test_version_number.py
--- old/iso639-2025.11.16/tests/test_version_number.py  2025-11-16 
22:45:07.000000000 +0100
+++ new/iso639-2026.1.31/tests/test_version_number.py   2026-01-31 
16:01:44.000000000 +0100
@@ -3,7 +3,6 @@
 
 import iso639
 
-
 _REPO_DIR = os.path.dirname(os.path.dirname(__file__))
 
 

Reply via email to