OnroerendErfgoed/language-tags
Last release: 3 weeks ago
A Python API for validating and looking up IANA language tags, based on BCP 47 (RFC 5646) and the IANA language subtag registry. Useful in applications that need to check or resolve language tags according to changing language standards.
Project status
- Actively maintained, with a recent upstream push on 2026-05-08 and successive updates to project metadata and CI (1.3.1) and tooling and datasets (1.3.0).
- Apparent cadence is active in 2026, with at least two updates within about a day (1.3.0 on 2026-05-07, 1.3.1 on 2026-05-08), followed by a long gap since 1.2.0 (2023-01-23).
AI summary generated Today
Recent updates
1.3.1
3 weeks agoRelease 1.3.1 updates the project metadata and CI to support Python 3.13 and 3.14. It extends the declared Python compatibility range and adds the new versions to the GitHub Actions test matrix.
Features1.3.0
3 weeks agoRelease 1.3.0 primarily updates the embedded language tag datasets to a newer upstream revision, and modernizes the project tooling and CI. It adds GitHub Actions-based test execution with coverage reporting, and includes a Read the Docs configuration, while removing the older Travis setup.
Features1.2.0
1/23/2023Release 1.2.0 primarily updates the included IANA language tag dataset to version 2022-06-28. It also updates CI and project support expectations by dropping Python 3.6 and 3.7, adding Python 3.10, and removing legacy build/test tooling mentioned in the release notes (universal wheels, tox).
Breaking1.1.0
4/19/2021Release 1.1.0 updates the embedded IANA language subtag registry data to 2020-09-29, along with general dependency and documentation packaging updates. It also updates the supported Python versions (dropping Python 3.5) and removes pyup automation configuration.
Breaking1.0.0
11/12/2019Release 1.0.0 primarily removes Python 2 support and modernizes the code accordingly. The diff simplifies several compatibility branches by removing the use of the six library and hard-coding behavior that was previously conditional on Python 2 versus Python 3.
Breaking0.5.0
10/25/2019Release 0.5.0 primarily updates the project to drop Python 3.3 and 3.4 support and add Python 3.6 and 3.7. The diff, however, shows additional packaging, CI/test, and dependency changes beyond what the release notes describe. It also includes a large update to the embedded language tag registry data, which can change runtime outputs.
Breaking0.4.6
11/6/2018Release 0.4.6 updates how tag descriptions are assembled to avoid mutating the underlying Tag object's cached descriptions. The only functional change appears to be within the description() logic in language_tags/tags.py, with a corresponding test to ensure consistent results.
0.4.5
10/5/2018Release 0.4.5 is documented as a fix to close files after opening (issue #38). The code diff shows a broader internal refactor: JSON data loading was centralized into a new module (language_tags.data) with caching, and multiple modules were updated to use it.
0.4.4
1/30/2018Release 0.4.4 is a small bug fix intended to address issue #27, where the language tag "aa" was detected as invalid. The changelog only mentions that specific tag, but the code change in Tag parsing is slightly broader than just special-casing "aa".
0.4.3
7/6/2017Release 0.4.3 updates the bundled IANA language tag data by upgrading the underlying `language-subtag-registry` dependency to v0.3.18. The release notes only mention this dependency upgrade, but the diff shows substantial regeneration of the JSON datasets, including numeric code mappings and registry metadata.
Breaking