Repository navigation
Добавить ноутбук со сквозным разбором текста - #61
Merged
Merged
Conversation
examples/01_text_walkthrough.ipynb: рассказ Чехова «Смерть чиновника» через все инструменты библиотеки - экстракторы, классы статистик, подсветка, закон Ципфа и длины предложений, компоненты spaCy с nlp.pipe по набору TextsByGrade в таблицу по классам. Выводы сохранены, в Colab ноутбук ставит библиотеку и модель сам. Группа зависимостей examples (jupyterlab, nbmake), цель make notebooks, ruff по ноутбукам в lint и CI, workflow examples.yml по расписанию и вручную, страница «Примеры» в документации, ссылки и бейдж Colab в README. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
SergeyShk
commented
Sep 19, 2026
SergeyShk
left a comment
Owner
Author
There was a problem hiding this comment.
Прогнал ноутбук локально (make notebooks) и установочную ячейку в чистом виде. Три замечания ниже, первое блокирует запуск в Colab.
…ноутбуков воспроизводимым spacy download принимает флаги только после имени модели, nltk импортируется после установки ruts. Группа examples не входит в dev, CI и make deps ставят --no-group examples, make notebooks сам ставит группу. После выполнения nbstripout убирает метаданные выполнения и версию Python (тот же хук в pre-commit), у HighlightedText появился __repr__ без адреса объекта. Версия 0.14.0.dev1. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Что сделано
Первый ноутбук с примерами -
examples/01_text_walkthrough.ipynb: рассказ Чехова «Смерть чиновника» (677 слов, из RusLit) проходит через все инструменты библиотеки по порядку - экстракторы предложений, слов и символьных N-грамм;BasicStatsс распределением по слогам и профилем пунктуации;ReadabilityStatsс тремя пресетами коэффициентов в одной таблице;DiversityStatsс оконным расчетом;MorphStatsс разбором предложения;StyleStatsна рассказе против канцелярита;PhonStatsиsyllabify;SyntaxStatsиCohesionStatsпоDocspaCy;LexicalStatsпо частотному словарю; подсветка, закон Ципфа с подгонкой и кривая длин предложений на одной фигуре. В конце все статистики подключаются компонентами spaCy, один проходnlp.pipeпоTextsByGradeсобирает таблицу по классам текста и корреляции Спирмена с классом (сводный класс 0.81, глубина дерева 0.75, MTLD 0). Каждый раздел ссылается на страницу документации.Установочная ячейка ставит
rutsиru_core_news_sm(spacy download ru_core_news_sm -q, флаги только после имени модели) только если их нет, поэтому ноутбук одинаково работает в Colab и в окружении разработки. Выводы всех ячеек сохранены в файле (230 КБ, две картинки и HTML подсветки), ноутбук читается на GitHub без запуска.Инфраструктура:
examples(jupyterlab, nbmake, nbstripout), вdevне входит:make depsи CI ставят--all-groups --no-group examples;make notebooksставит группу, выполняет ноутбуки и записывает выводы (pytest --nbmake --overwrite), затемnbstripoutубирает метаданные выполнения и версию Python - повторный прогон даёт побайтно тот же файл; тот же хук в pre-commit;extend-include = ["*.ipynb"],examplesвmake ruffи в joblint);examples.ymlпрогоняет ноутбуки по понедельникам и вручную - в основную CI не включен, так как тянет модель spaCy, словарь и наборы данных;docs/index.md, бейдж «Open in Colab» в README,examples/README.mdс таблицей ноутбуков,examples/в структуре проекта и CONTRIBUTING.В пакете одно изменение:
HighlightedText.__repr__-HighlightedText(counts={...})вместо адреса объекта, чтобы вывод ячейки с подсветкой не менялся от запуска к запуску. Версия0.14.0.dev1.Проверка
make notebooks- ноутбук выполняется за 17 с, ошибок и предупреждений в выводах нет, локальных путей и адресов объектов в файле нет; два запуска подряд дают одинаковый файл.uv sync --all-groups --no-group examples --dry-run- без группыexamplesв окружение не попадают 74 пакета Jupyter.make lint,pre-commit run --all-files(ноутбук проходитcheck-added-large-files),tests/test_docs.pyна паритет ru/en,mkdocs build --strict.🤖 Generated with Claude Code