{"id":24469,"library":"pytils","title":"pytils","description":"Python library for Russian-specific string utilities, including numeral, date, and transliteration helpers. Current version 0.4.4 (released June 2021), with infrequent updates; considered in maintenance mode.","status":"maintenance","version":"0.4.4","language":"python","source_language":"en","source_url":"https://github.com/last-partizan/pytils","tags":["russian","string","numeral","transliteration","date"],"install":[{"cmd":"pip install pytils","lang":"bash","label":"PyPI install"}],"dependencies":[],"imports":[{"note":"Correct import uses the module name directly, not as a subpackage of pytils.","wrong":"import pytils.numeral","symbol":"numeral","correct":"from pytils import numeral"},{"note":"dt is a module, not a subpackage; import directly.","wrong":"import pytils.dt","symbol":"dt","correct":"from pytils import dt"},{"note":"to_latin, to_cyrillic etc. are functions inside the module; import module then call.","wrong":"from pytils.translit import to_latin","symbol":"translit","correct":"from pytils import translit"}],"quickstart":{"code":"from pytils import numeral, dt, translit\n\n# Numeral: sum in words (Russian)\nprint(numeral.get_plural(21, \"копейка\", \"копейки\", \"копеек\"))  # 21 копейка\n\n# Date: distance of time in Russian\nprint(dt.distance_of_time_in_words(3600))  # около 1 часа\n\n# Transliteration: Russian to Latin\nprint(translit.to_latin(\"Привет, мир!\"))  # Privet, mir!\n\n# Transliteration: Latin to Russian\nprint(translit.to_cyrillic(\"Privet, mir!\"))  # Привет, мир!","lang":"python","description":"Basic usage of numeral, dt, and translit modules."},"warnings":[{"fix":"Replace numeral.choose_plural(...) with numeral.get_plural(...).","message":"pytils.numeral.choose_plural is deprecated; use get_plural instead.","severity":"deprecated","affected_versions":">=0.4.0"},{"fix":"Use 'from pytils import numeral' instead of 'import pytils.numeral'.","message":"Import paths are confusing: do NOT use pytils.numeral, pytils.dt, etc. as dotted subpackages. Import directly as 'from pytils import numeral'.","severity":"gotcha","affected_versions":"all"}],"env_vars":null,"last_verified":"2026-05-01T00:00:00.000Z","next_check":"2026-07-30T00:00:00.000Z","problems":[{"fix":"Use 'from pytils import numeral'.","cause":"Trying to import pytils.numeral as a subpackage instead of module.","error":"ModuleNotFoundError: No module named 'pytils.numeral'"},{"fix":"Use 'from pytils import numeral' explicitly.","cause":"Using 'import pytils' then accessing 'pytils.numeral' but the module is not imported.","error":"AttributeError: module 'pytils' has no attribute 'numeral'"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}