Skip to content

feat(glossary): stdlib inventory scanner for official Python coverage #196

Description

@ArtVsMark

Проблема

В проекте нет source-driven инвентаризации официального Python/stdlib. Текущий MissingConceptDetector находит только то, что встретилось в решениях или ошибках, но не отвечает на вопрос: каких официальных функций, классов и исключений Python ещё нет в локальном глоссарии.

Задача

Добавить leaf-модуль инвентаризации, например src/stepik_grader/glossary/stdlib_inventory.py, который офлайн и без сети собирает официальный Python/stdlib inventory через introspection running-интерпретатора:

  • builtins: функции/классы из builtins;
  • исключения: рекурсивный обход иерархии BaseException;
  • notable stdlib: курируемый список модулей (functools, itertools, collections, math и т.п.);
  • данные о версии Python через sys.version_info, где применимо.

Non-goals

  • Не парсить Glossary-Python как эталон полноты.
  • Не ходить в сеть.
  • Не импортировать core/*.
  • Не исполнять пользовательский код.

Acceptance criteria

  • Модуль является leaf/domain-модулем и использует только stdlib.
  • Inventory детерминирован и отсортирован.
  • Inventory включает ValueError, map, functools.reduce.
  • Есть типы, docstrings, __all__, from __future__ import annotations.
  • Добавлены тесты на непустой inventory и ключевые объекты.
  • pytest, ruff, mypy зелёные.

Part of #123. Depends on model direction from glossary docs/source-of-truth issue.

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions