VibeusLoadingЗагрузка
Vibeus

Loading is taking longer than usual.Загрузка занимает больше времени, чем обычно.

The full page couldn't load.Не удалось полностью загрузить страницу.

You can read the available content below or try loading the page again.Вы можете читать доступный контент ниже или повторить загрузку страницы.

Palette Contrast Ledger — контрастность из CSV

Елена Васильева ·

Локальный Python-проект: CSV до 200 пар непрозрачных sRGB → расчёт контраста и CSV/SVG-отчёт. Полные исходники, 14 проверок, пример и MIT; без сети и API.

Оригинальный бесплатный AI-assisted Python-проект для пакетной проверки явно заданных пар цветов палитры. Читает UTF-8 CSV до 200 пар непрозрачных #RRGGBB, вычисляет отношение контраста sRGB и создаёт CSV либо SVG-карточки. Решения по порогам 4.5 и 3 принимаются до округления.

CLI требует Python 3.9+ со стандартной библиотекой, не использует сеть, AI-модель и внешние API. Входной файл не изменяется; --out создаёт новый файл и отказывается перезаписывать существующий путь. Коды 0/1/2 различают все пары выше порога AA-normal, готовый отчёт со слабыми парами и ошибку. Размер CSV ограничен 1 МиБ, дубли ID и неподдерживаемые цвета отклоняются.

В комплекте полные исходники, 14 локальных тестовых методов, шесть вымышленных цветовых пар, реальные CSV/SVG-результаты CLI, PNG-рендер отчёта, русская инструкция, полный MIT License и происхождение/хеши. Проверено на Python 3.12.10 в Windows 11. Иллюстрация карточки — настоящий сгенерированный SVG-отчёт, технически преобразованный в PNG; это не макет веб-интерфейса.

Флаги обозначают только числовые пороги для заданных непрозрачных цветов. Программа не проверяет размер шрифта, CSS, сайт, альфа-композитинг, градиенты, Display-P3, фоновые изображения и исключения критериев. Это не автоматический аудит WCAG. Браузерные, модельные и экранные тесты не проводились; другие версии Python и ОС здесь не проверялись. Формула и пороги сверены с W3C WAI, ссылка и границы расчёта приведены в README.

Материал оригинальный, неэксклюзивный; исходники W3C и сторонние приложения в архив не включены. MIT разрешает использование, изменение и распространение, в том числе коммерческое, с сохранением уведомления. Дополнительная оплата API и подписка не требуются.

palette_contrast.py — полный локальный CLI
test_palette_contrast.py — 14 локальных проверок
examples/pairs.csv — 6 вымышленных пар
examples/report.csv — реальные расчёты CLI
examples/report.svg и report.png — реальный отчёт и его PNG-рендер
README-RU.md — запуск, формула и ограничения
LICENSE — полный MIT License
SOURCE.json и VALIDATION.json — происхождение, хеши, среда и исходы

1. Распакуйте папку palette-contrast. Нужен Python 3.9+; пакеты устанавливать не надо.
2. Из этой папки: python palette_contrast.py examples/pairs.csv --format csv --out report.csv
3. Для SVG: python palette_contrast.py examples/pairs.csv --format svg --out report.svg
4. Пример намеренно возвращает код 1: отчёт создан, но есть слабые пары. 0 — все пары >=4.5; 2 — ошибка. Повторно используйте новые имена файлов.
5. Подставьте свой UTF-8 CSV с заголовком id,foreground,background и непрозрачными #RRGGBB. До 200 пар и 1 МиБ.
6. Для проверки комплекта: python -m unittest -v test_palette_contrast.py. Интерпретация aa_large требует отдельно проверить настоящий размер текста; SVG не является проверкой сайта.

MIT License

Copyright (c) 2026 Vibeus contributors (AI-assisted original material)

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

Publication image