This release is a pre-release and may not be stable for production use.
o2i-lexicons
Default residual lexicons for orthography2ipa.
A lexicon in this package holds only the words that the orthography2ipa rules get wrong and that no rule can fix. Each entry names the gold it came from, the tier and licence of that gold, and a reason class.
The package is enabled in code, never by installing it. An installed package changes no output until the caller enables it.
Data layout
Each language has one directory, o2i_lexicons/data/<code>/. It holds two files:
| File | Content |
|---|---|
<source>.tsv |
One word<TAB>ipa pair per line. UTF-8, NFC, lowercase words, sorted, no duplicate word. |
<source>.meta.json |
The source dataset, its URL, tier and licence, the build command, the orthography2ipa version whose rules got each entry wrong, where the stress of the entries comes from, and the reason class of each word. |
o2i_lexicons/schema.py states the contract, and the tests apply it to every packaged file.
A reason class is one of loanword, proper_noun, lexical_stress, irregular, acronym or homograph_default. Each of these claims a linguistic fact, so the sidecar states the evidence for each class in use. A word that has no evidence other than the data is unclassified.
Only a gold that can gate a quality decision in orthography2ipa can supply entries. A silver set (LLM-generated or engine-pinned) never does, and neither does the output of a system that orthography2ipa benchmarks against.
stress is source when the entries carry the stress marks of their source. It is rules when the source has no stress marks: the file then holds none, and the orthography2ipa stress rules place the stress on output.
How orthography2ipa uses a lexicon
The package declares one entry point per language code in the group orthography2ipa.lexicons. Each entry point loads o2i_lexicons.tsv_path, and orthography2ipa calls it with the code. The entry point only makes the lexicon discoverable. The transcription is a function of the spec and the input, never of the environment, so the caller enables the lexicon in code:
import orthography2ipa as o2i
o2i.use_packaged_lexicons() # every installed packaged lexicon
o2i.use_packaged_lexicons(["en-GB"]) # only these
o2i.clear_lexicons() # disable them again
A lexicon that the caller registers with register_lexicon or set_lexicon_dir wins over a packaged one. The word_exceptions of a spec win over both. The package's own API:
import o2i_lexicons
o2i_lexicons.available_codes() # the packaged codes
o2i_lexicons.tsv_path("en-GB") # the TSV file for a code
o2i_lexicons.load_meta("en-GB") # its sidecar
Licence
The code is Apache-2.0. Each data file keeps the licence of its source, which its .meta.json sidecar states.
Metadata
Release files for o2i-lexicons 0.0.1a1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| o2i_lexicons-0.0.1a1.tar.gz | 12.3 kB | Without provenance | Details for o2i_lexicons-0.0.1a1.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| o2i_lexicons-0.0.1a1-py3-none-any.whl | Python 3 | none | any | Details for o2i_lexicons-0.0.1a1-py3-none-any.whl |
Total release size: 22.9 kB
Release files / o2i_lexicons-0.0.1a1.tar.gz
| Download URL | o2i_lexicons-0.0.1a1.tar.gz |
|---|---|
| Size | 12.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b523ce731c419f095c9520e93f11de94336729d1cff100a5ad3280b5e944459a
|
|
BLAKE2b-256 checksum How to use checksums |
c65834f3e305807388d31de99ebc329edd1d1e4d17f614e9e7e8e9e5765dbf56
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Release files / o2i_lexicons-0.0.1a1-py3-none-any.whl
| Download URL | o2i_lexicons-0.0.1a1-py3-none-any.whl |
|---|---|
| Size | 10.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
700d03f9d91dc93b4c108c833a3e20669ad82d628d94176b10abe9a124f381de
|
|
BLAKE2b-256 checksum How to use checksums |
f22fc07bc92d63b975c55f669f804b77d02897fb5f8cd61d5ab6788a85fad828
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Security for o2i-lexicons 0.0.1a1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.