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.

Content in all repositories owned by your account will be closed.
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

GitHub engineering stats

GitHub engineering stats: 6 public repos, 12 stars earned, 72 followers, 5 188 contributions · 365d, 12 day streak, 25 longest streak Technology footprint: Python in 6 of 6 repos, HTML in 3 of 6 repos, Shell in 2 of 6 repos, Batchfile in 1 of 6 repos, CSS in 1 of 6 repos; roles: CLI, web UI, GUI, pytest plugin, OS sandbox, docs, RU/EN, Python, JSONL over git, content, tooling, GitHub Actions, gates, Python



A year of contributions day by day, peak 266 in a day, weekly trend below; a snake crossing the contribution grid

Measured from the GitHub API by the same workflow that rebuilds every other number here — no third-party stat services, no external cards. Languages are counted by how many repositories use them, not by bytes of code.

What I maintain

Open Stepik-Python-Grader on GitHub Open Engineering-Pipeline-Mechanisms on GitHub Open Engineering-Incidents-Playbook on GitHub Open Claude-Code_Usage-Token on GitHub Open Glossary-Python on GitHub

data as of 2026-09-18

Engineering approach

Four things I do the same way in every repository, and the artefacts you can check them against.

  • Mechanism over memory — anything that matters is a script or a gate, not a habit. A convention nobody enforces is a convention that will be skipped on the day it matters most.
  • Public rules over private habit — the workflows, the conventions and the trade-offs are written down and versioned, so they can be read without taking my word for it. Every rule in the shared catalogue gets an answer from this repository — adopted and by what mechanism, rejected and why, or no subject here — in .rules/bindings.json.
  • Incidents over folklore — a rule exists because something broke. Each one carries the failure it grew from, and they live together in a public catalogue rather than in my head.
  • Measured over hand-written — every number on this page is rebuilt from its source by a daily job. A number nobody measures is a number that rots, and it rots quietly.
  • Agent work, signed and traceable — the work here is done in agent sessions, and the history says so: every commit carries who did it and a link to the session that produced it. Over the last 30 days that is 77 of 78 work commits — machine rebuilds excluded, because a scheduled job takes no decisions to sign for. A gate refuses the ones that don't, before the merge rather than after.

One worked example, not the whole argument. On the flagship repository the branch protection is public and machine-readable: 15 required checks on main, run across 3 operating systems × 3 Python versions with 3.15 experimental, over 12 releases — read the ruleset yourself instead of believing this line. The other repositories hold the same shape at their own maturity; this one simply has the most to show.

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

🇷🇺 По-русски

Мейнтейнер open-source на Python. Я не рассчитываю на то, что вспомню: всё существенное здесь держат проверки. Перед коммитом бежит один набор, перед слиянием другой, и уговорить их нельзя — сломанное просто не уезжает дальше. Это не строгость к себе, а экономия: помнить два десятка договорённостей дороже, чем один раз их записать так, чтобы за ними следила машина.

Правила у меня не берутся из головы. Каждое выросло из конкретной поломки, и рядом с ним записано, из какой именно — 207 записей в общем каталоге, одном на все репозитории. Каждый отвечает по каждому правилу: принял и чем держит, отклонил и почему, предмета нет — и ответ сверяется гейтом, а не совестью. Правило, за которым не бежит ничего, на витрине видно отдельной долей: если его прятать, картинка всегда выглядит хорошо.

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

Popular repositories Loading

  1. Engineering-Incidents-Playbook Engineering-Incidents-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 4

  2. Stepik-Python-Grader Stepik-Python-Grader Public

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

    Python 3 6

  3. Glossary-Python Glossary-Python Public

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

    Python 2

  4. ArtVsMark ArtVsMark Public

    Python 1

  5. Claude-Code_Usage-Token Claude-Code_Usage-Token Public

    Сколько на самом деле осталось от лимитов Claude Code — в цифрах, а не в светофоре

    Python 1

  6. Engineering-Pipeline-Mechanisms Engineering-Pipeline-Mechanisms Public

    «Механизмы конвейера: скелет один для всех проектов, наполнение своё. Правила — в ArtVsMark/Engineering-Incidents-Playbook»

    Python 1