Skip to main content

ukvocab

The published Ukrainian vocabulary data from jakelawrence.xyz/research/ukrainian-frequency, installable and offline: the top-12,000 lemma frequency list over UberText 2.0, the validated PULS CEFR overlay (A1 to C1), the Borodin A1 and A2 lexical minimums, the crosswalk between the minimums and the profile, and the B1 enrichment tables (aspect relations, case government, collocations).

import ukvocab
ukvocab.lookup("п'ять")["level"]                       # 'A1', with rank, source and enrichment beside it
ukvocab.coverage(["в", "школа", "йти"], "A2")["coverage"]  # share of tokens a validated-A2 learner knows

What you get

function returns
lookup(lemma, pos=None) one lemma: level, level_source, rank, the frequency figures, every other reading of the spelling, minimum membership, the crosswalk class, and the B1 enrichment (aspect partners, government, collocations); None when no table knows the string
levels(lemmas) batch: input string to {level, level_source, rank, pos, source}
coverage(lemmas, known_set) token coverage of a lemmatized text against a known set: a level ("A2" means every validated lemma at or below A2), "borodin-a1" / "borodin-a2", an int N (top N of the list), or your own set of lemmas; reports the unknowns by frequency
sources() version, snapshot date, license, attribution, citation and SHA-256 per dataset, the combined license and why, and what is deliberately not shipped

Every return value carries the dataset, version and snapshot it came from. Data is Parquet, loaded lazily on first use, never on import. The only dependency is pyarrow.

Two things the package does not do, on purpose. It does not lemmatize: pass lemmas in the UberText / VESUM convention (infinitive for verbs, nominative singular for nouns); the site's POST /api/lemmatize is the hosted lemmatizer matched to this list. And it ships no predicted CEFR levels: only the profile's validated levels are here, and a lemma the profile does not cover gets level: None rather than a guess.

Provenance and honesty

The data tier is generated from the site's published download files by scripts/ukrainian-frequency/build-package.py in the source repository and is never edited by hand; the tests assert that every table's row count and hash match the published file exactly. sources() is the manifest that build wrote. The PULS overlay is a dated snapshot (2026-07-23) of a profile that is still being extended, redistributed with its authors' permission. The join onto the frequency list is part-of-speech aware; ten declared cross-tag rules recover the words the two tag conventions merely label differently, and each row's join field says how it matched, so the strict join is one filter away.

License

The combined package is CC-BY-NC-SA 4.0, because the PULS levels are NonCommercial and share-alike at the authors' decision (2026-09-24) and they run through most tables. The frequency list and the two Borodin minimums are CC-BY 4.0 on their own, and the government and collocation tables CC-BY-SA 4.0; drop the PULS level columns and NonCommercial does not apply. LICENSES.md has the per-dataset terms and every attribution.

Citation

Lawrence, J. (2026). ukvocab: the Ukrainian Frequency datasets (top-12,000 lemma
list, validated PULS CEFR overlay, Borodin A1/A2 minimums, crosswalk, B1
enrichment tables), version 0.2.0. jakelawrence.xyz/research/ukrainian-frequency.

Upstream: Chaplynskyi, D. (2023). Introducing UberText 2.0: A Corpus of Modern
Ukrainian at Scale. Proc. 2nd UNLP, ACL. | Synchak, O., Starko, V., Burak, M.,
Svystun, M. (2025). Corpus-Based Vocabulary Profiling for Ukrainian: From
Lexical Analysis to CEFR. eLex 2025; PULS, puls.peremova.org. | Borodin, K. and
Turkevych, O. 1000 i 1 slovo, A1. https://doi.org/10.18452/28236 | Borodin, K.
and Lazarenko, O. (2026). 1000 i 1 slovo, A2. https://doi.org/10.11584/opus4-1448

Archived, DOI-minted copies of each dataset are listed in sources() under conceptDoi once they exist; cite the concept DOI for the dataset you used.

Release files for ukvocab 0.3.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ukvocab 0.3.0
File Size Uploaded
ukvocab-0.3.0.tar.gz 646.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for ukvocab 0.3.0
File Interpreter ABI Platform
ukvocab-0.3.0-py3-none-any.whl Python 3 none any Details

Total release size: 1.3 MB

Release files / ukvocab-0.3.0.tar.gz

Download URL ukvocab-0.3.0.tar.gz
Size 646.5 kB
Tags Source
SHA-256 checksum
How to use checksums
c4d1d3485e9509f3d06a32206c8c6e6b154b9b53b3fa48a6a68b8378746b2e97
BLAKE2b-256 checksum
How to use checksums
6a86d4aefc0b61f1dbc97e0a647c25ce87d0db804551357b6a19633e7d81e10a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 24, 2026.

Transparency log

Release files / ukvocab-0.3.0-py3-none-any.whl

Download URL ukvocab-0.3.0-py3-none-any.whl
Size 642.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
f0ccf1c02e96393b5ac5b5ff8fb5a5a02e1f43e0f72cbc4bcae0bcf3b4e8e399
BLAKE2b-256 checksum
How to use checksums
c5df21fc76e9339297e7bf1c5403914ea39c56d63fa46b3595864cc2d33ff74a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 24, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.3.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page