Skip to content
View ArtVsMark's full-sized avatar

Block or report ArtVsMark

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
ArtVsMark/README.md
Artem Markitanov — Python grading, benchmarking, testing and CI automation
Open-source Python maintainer; Grading · benchmarking · CI automation; Quality held by mechanism, not memory
Stepik-Python-Grader: 4000+ tests, 218 test modules, 17 checks per PR



What I maintain

Open Stepik-Python-Grader on GitHub Open claude-code-playbook on GitHub Open claude-code-usage on GitHub Open Glossary-Python on GitHub

Quick start

pipx install stepik-python-grader && stepik-grader

Beyond running tests: an offline RU/EN glossary of 1349 ready cards, reachable straight from the error you just hit · a step-by-step tracer with a memory graph · timeit microbenchmarks with time and memory ranking · an optional OS-level sandbox, kernel-enforced on Linux and macOS and partial on Windows, where the missing network isolation is a named gap, not an oversight · opt-in AI failure explanations, bring-your-own-key.

What holds the quality

11 required checks on `main` · 3 OS × 2 Python versions, 3.14 experimental · 12 releases shipped
  • Gates instead of memorypreflight.py before a commit, check_pr_ready.py before a merge. Things you cannot forget, because they are enforced rather than remembered.
  • The gate is a ruleset, not an agreement — what protects main is public, and you can read it without taking my word: every required check green, on a branch already up to date with main, force-push and deletion refused. See for yourself.
  • Every rule cites its incident — each convention carries the issue number it grew from, and the incidents themselves live in a public catalogue. This page answers for every rule in it — adopted and by what, rejected and why, no subject here — in .rules/bindings.json.
  • A changelog assembled from fragments, not written after the fact — entries land with the change that caused them.
  • The numbers above are measured, not typed — a daily job reads them from the repositories that produce them and rewrites this page. A number nobody measures is a number that rots.

Current focus

CI & merge automation stronger gates, less manual shepherding
Regression coverage every fixed bug leaves a test behind
English documentation full parity with the Russian docs tree
Local web UX making --serve the primary workflow, not the fallback

Stack

Python · pytest · Hypothesis · Ruff · mypy · GitHub Actions · PyPI · Playwright

CLI tooling · local web UI · benchmarking · OS sandboxing · docs architecture · release automation · typed boundaries · property-based testing

Contributions welcome

The grader has a "First contribution in 15 minutes" onramp, and every good first issue is written in both Russian and English — a bilingual body is enforced by a dedicated check, not by good intentions. Open right now: 3 — the count is rebuilt from the tracker daily, and an empty pool means none are waiting this minute, not that the door is closed.

Good first issues Discussions Report a bug

🇷🇺 По-русски

Мейнтейнер open-source на Python. Флагман — Stepik-Python-Grader: локальный грейдер, который не просто прогоняет тесты, а сравнивает решения честно — сначала по корректности, потом по benchmark-метрикам. Рядом — claude-code-playbook, каталог из 143 правил, каждое с историей поломки, из которой выросло, и claude-code-usage — остаток лимитов Claude Code в цифрах вместо трёхступенчатого светофора; пока спецификация.

Качество держится механикой, а не памятью: гейты перед коммитом и мержем, зелёный CI на актуальной ветке как условие мержа, числа на этой странице пересобирает отдельный workflow, а не автор.

Подробности — в самих проектах: README грейдера (на русском) · история · как включиться

Contribution graph consumed by a snake

Pinned Loading

  1. Stepik-Python-Grader Stepik-Python-Grader Public

    Локальный грейдер для курсов «Поколение Python» на Stepik. Скачивает тесты к задаче с сайта и позволяет не только проверить решение локально, но и сравнить несколько решений более честно: сначала п…

    Python 2 5

  2. claude-code-playbook claude-code-playbook Public

    Правила работы с Claude Code и конвейером GitHub — каждое с историей поломки, из которой выросло · Incident-based rules for Claude Code and GitHub: every rule grew out of a real failure, with the i…

    Python 1

  3. Glossary-Python Glossary-Python Public

    Глоссарий для людей изучающих Python

    HTML 2