`pip install prlps_speller`
асинхронный спеллер с использованием API Yandex Speller.
ограничения для одного IP-адреса:
* на количество обращений к API - 10 000 обращений в сутки;
* на объем проверяемого текста - 10 000 000 символов в сутки.
параметры при создании экземпляра класса `YandexSpeller`:
- `format_text`: формат текста ('auto', 'html', 'text')
- `lang`: языки проверки ('en', 'ru', 'uk')
- `check_yo`: учитывать букву ё
- `ignore_urls`: игнорировать ссылки
- `ignore_tags`: игнорировать HTML-теги
- `ignore_capitalization`: игнорировать регистр
- `ignore_digits`: игнорировать цифры
- `find_repeat_words`: искать повторяющиеся слова
```python
from asyncio import run as async_run
from prlps_speller import YandexSpeller
async def test():
speller = YandexSpeller(
format_text='html',
lang=['ru', 'en'],
check_yo=True,
ignore_urls=True,
ignore_tags=True,
ignore_capitalization=True,
ignore_digits=True,
)
text = 'елка била бальшая и високоя, мольчешечки радывались и плисали вакруг, напивая песинькю "Jinkl Belz".'
# получить готовый исправленный текст:
fixed = await speller.spelled(text)
print(fixed) # елка была большая и высокая, мальчишечки радовались и плясали вокруг, напевая песенку "Jingle Bells".
# вывод позиций ошибок и вариантов исправлений:
changes = await speller.spell_text(text)
print(changes)
# запуск теста:
async_run(test())
```
Raw data
{
"_id": null,
"home_page": "https://github.com/gniloyprolaps/prlps_speller",
"name": "prlps-speller",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.10",
"maintainer_email": null,
"keywords": null,
"author": "prolapser",
"author_email": null,
"download_url": "https://files.pythonhosted.org/packages/e0/e1/24d9bb5c67de536577a367312512950d829391ca03d73f8d16584b5e681a/prlps_speller-0.0.1.tar.gz",
"platform": null,
"description": "`pip install prlps_speller`\n\n\n\u0430\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u044b\u0439 \u0441\u043f\u0435\u043b\u043b\u0435\u0440 \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c API Yandex Speller.\n\n\u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u044f \u0434\u043b\u044f \u043e\u0434\u043d\u043e\u0433\u043e IP-\u0430\u0434\u0440\u0435\u0441\u0430:\n\n* \u043d\u0430 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043e\u0431\u0440\u0430\u0449\u0435\u043d\u0438\u0439 \u043a API - 10 000 \u043e\u0431\u0440\u0430\u0449\u0435\u043d\u0438\u0439 \u0432 \u0441\u0443\u0442\u043a\u0438;\n* \u043d\u0430 \u043e\u0431\u044a\u0435\u043c \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c\u043e\u0433\u043e \u0442\u0435\u043a\u0441\u0442\u0430 - 10 000 000 \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u0432 \u0432 \u0441\u0443\u0442\u043a\u0438.\n\n\u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u043f\u0440\u0438 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0438 \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440\u0430 \u043a\u043b\u0430\u0441\u0441\u0430 `YandexSpeller`:\n- `format_text`: \u0444\u043e\u0440\u043c\u0430\u0442 \u0442\u0435\u043a\u0441\u0442\u0430 ('auto', 'html', 'text')\n- `lang`: \u044f\u0437\u044b\u043a\u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 ('en', 'ru', 'uk')\n- `check_yo`: \u0443\u0447\u0438\u0442\u044b\u0432\u0430\u0442\u044c \u0431\u0443\u043a\u0432\u0443 \u0451\n- `ignore_urls`: \u0438\u0433\u043d\u043e\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441\u0441\u044b\u043b\u043a\u0438\n- `ignore_tags`: \u0438\u0433\u043d\u043e\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c HTML-\u0442\u0435\u0433\u0438\n- `ignore_capitalization`: \u0438\u0433\u043d\u043e\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0440\u0435\u0433\u0438\u0441\u0442\u0440\n- `ignore_digits`: \u0438\u0433\u043d\u043e\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0446\u0438\u0444\u0440\u044b\n- `find_repeat_words`: \u0438\u0441\u043a\u0430\u0442\u044c \u043f\u043e\u0432\u0442\u043e\u0440\u044f\u044e\u0449\u0438\u0435\u0441\u044f \u0441\u043b\u043e\u0432\u0430\n\n\n```python\nfrom asyncio import run as async_run\nfrom prlps_speller import YandexSpeller\n\nasync def test():\n speller = YandexSpeller(\n format_text='html',\n lang=['ru', 'en'],\n check_yo=True,\n ignore_urls=True,\n ignore_tags=True,\n ignore_capitalization=True,\n ignore_digits=True,\n )\n text = '\u0435\u043b\u043a\u0430 \u0431\u0438\u043b\u0430 \u0431\u0430\u043b\u044c\u0448\u0430\u044f \u0438 \u0432\u0438\u0441\u043e\u043a\u043e\u044f, \u043c\u043e\u043b\u044c\u0447\u0435\u0448\u0435\u0447\u043a\u0438 \u0440\u0430\u0434\u044b\u0432\u0430\u043b\u0438\u0441\u044c \u0438 \u043f\u043b\u0438\u0441\u0430\u043b\u0438 \u0432\u0430\u043a\u0440\u0443\u0433, \u043d\u0430\u043f\u0438\u0432\u0430\u044f \u043f\u0435\u0441\u0438\u043d\u044c\u043a\u044e \"Jinkl Belz\".'\n # \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0433\u043e\u0442\u043e\u0432\u044b\u0439 \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043d\u044b\u0439 \u0442\u0435\u043a\u0441\u0442:\n fixed = await speller.spelled(text)\n print(fixed) # \u0435\u043b\u043a\u0430 \u0431\u044b\u043b\u0430 \u0431\u043e\u043b\u044c\u0448\u0430\u044f \u0438 \u0432\u044b\u0441\u043e\u043a\u0430\u044f, \u043c\u0430\u043b\u044c\u0447\u0438\u0448\u0435\u0447\u043a\u0438 \u0440\u0430\u0434\u043e\u0432\u0430\u043b\u0438\u0441\u044c \u0438 \u043f\u043b\u044f\u0441\u0430\u043b\u0438 \u0432\u043e\u043a\u0440\u0443\u0433, \u043d\u0430\u043f\u0435\u0432\u0430\u044f \u043f\u0435\u0441\u0435\u043d\u043a\u0443 \"Jingle Bells\".\n\n # \u0432\u044b\u0432\u043e\u0434 \u043f\u043e\u0437\u0438\u0446\u0438\u0439 \u043e\u0448\u0438\u0431\u043e\u043a \u0438 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u043e\u0432 \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0439:\n changes = await speller.spell_text(text)\n print(changes)\n\n\n# \u0437\u0430\u043f\u0443\u0441\u043a \u0442\u0435\u0441\u0442\u0430:\nasync_run(test())\n\n```\n",
"bugtrack_url": null,
"license": "LICENSE.txt",
"summary": "\u0430\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u044b\u0439 \u0441\u043f\u0435\u043b\u043b\u0435\u0440 \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c API Yandex Speller",
"version": "0.0.1",
"project_urls": {
"Homepage": "https://github.com/gniloyprolaps/prlps_speller"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "d08468d6d676d24bad5e5ce22ce8fe57f85bcad2454faa513c19d5d61176e2af",
"md5": "d945eeab8ec489f0d1aa537b339ddfd0",
"sha256": "22ebe1c823a697417ac632b6c3609a5ec9cefc3fb85ce902e514a618a4a8a751"
},
"downloads": -1,
"filename": "prlps_speller-0.0.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "d945eeab8ec489f0d1aa537b339ddfd0",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.10",
"size": 5081,
"upload_time": "2025-01-08T23:24:25",
"upload_time_iso_8601": "2025-01-08T23:24:25.304953Z",
"url": "https://files.pythonhosted.org/packages/d0/84/68d6d676d24bad5e5ce22ce8fe57f85bcad2454faa513c19d5d61176e2af/prlps_speller-0.0.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "e0e124d9bb5c67de536577a367312512950d829391ca03d73f8d16584b5e681a",
"md5": "2bd10d8d3cc451ceef36bb3694b01926",
"sha256": "481f6744e85b01fa4d64877eef623eee6644383fbb4fa5966dbc809176442fa8"
},
"downloads": -1,
"filename": "prlps_speller-0.0.1.tar.gz",
"has_sig": false,
"md5_digest": "2bd10d8d3cc451ceef36bb3694b01926",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10",
"size": 4445,
"upload_time": "2025-01-08T23:24:27",
"upload_time_iso_8601": "2025-01-08T23:24:27.398907Z",
"url": "https://files.pythonhosted.org/packages/e0/e1/24d9bb5c67de536577a367312512950d829391ca03d73f8d16584b5e681a/prlps_speller-0.0.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-01-08 23:24:27",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "gniloyprolaps",
"github_project": "prlps_speller",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [
{
"name": "httpx",
"specs": []
}
],
"lcname": "prlps-speller"
}