# VW2PX - Конвертер VW в PX
Конвертер размеров из VW в PX для проектов Vue, React, Next.js и других веб-проектов.
## Возможности
- 🔍 Автоматический поиск всех VW значений в проекте
- 🖥️ Конвертация с настраиваемым viewport (1920, 1440, 720, 440 и другие)
- 📁 Поддержка множества форматов файлов (JS, TS, Vue, CSS, SCSS и др.)
- 🔒 Безопасный режим предварительного просмотра
- 📊 Подробная статистика обработки
- 🎨 Цветной вывод в терминале
## Установка
### Через pip (рекомендуется)
```bash
pip install vw2px
```
### Из исходного кода
1. Клонируйте репозиторий или скачайте файлы
2. Установите зависимости:
```bash
pip install -r requirements.txt
```
## Использование
### Базовое использование
```bash
vw2px --path /путь/к/вашему/проекту
```
### С настройкой viewport
```bash
vw2px --path /путь/к/проекту --viewport 1440
```
### Предварительный просмотр (без внесения изменений)
```bash
vw2px --path /путь/к/проекту --dry-run
```
### Полный пример
```bash
vw2px \
--path ./my-react-project \
--viewport 1920 \
--type vw-to-px \
--dry-run
```
## Параметры
| Параметр | Сокращение | Описание | По умолчанию |
|----------|------------|----------|--------------|
| `--path` | `-p` | Путь к проекту | Обязательный |
| `--viewport` | `-v` | Ширина viewport для конвертации | 1920 |
| `--dry-run` | `-d` | Только предварительный просмотр | False |
| `--type` | `-t` | Тип конвертации (vw-to-px/px-to-vw) | vw-to-px |
## Поддерживаемые форматы файлов
- JavaScript: `.js`, `.jsx`
- TypeScript: `.ts`, `.tsx`
- Vue: `.vue`
- HTML: `.html`
- CSS: `.css`, `.scss`, `.sass`, `.less`, `.styl`
- JSON: `.json`
- Markdown: `.md`
- Текстовые файлы: `.txt`
## Исключаемые директории
Автоматически исключаются следующие директории:
- `node_modules`
- `.git`
- `.next`
- `dist`
- `build`
- `.nuxt`
- `.cache`
- `coverage`
- `.vscode`
- `.idea`
## Примеры конвертации
### VW в PX (viewport 1920px)
| VW | PX |
|----|----|
| 1vw | 19.2px |
| 10vw | 192px |
| 50vw | 960px |
| 100vw | 1920px |
### VW в PX (viewport 1440px)
| VW | PX |
|----|----|
| 1vw | 14.4px |
| 10vw | 144px |
| 50vw | 720px |
| 100vw | 1440px |
## Пример вывода
```
🚀 VW to PX Converter
==================================================
📁 Проект: ./my-project
🖥️ Viewport: 1920px
🔄 Тип конвертации: vw-to-px
🔍 Режим: Предварительный просмотр
==================================================
🔍 Поиск VW значений в проекте: ./my-project
✅ Найдено 15 VW значений
[ПРЕДПРОСМОТР] ./src/components/Header.vue:25 | 10vw → 192px
[ПРЕДПРОСМОТР] ./src/styles/main.css:12 | 5.5vw → 105.6px
[ПРЕДПРОСМОТР] ./src/components/Button.jsx:8 | 2vw → 38.4px
📋 Предварительный просмотр завершен. Найдено 15 замен в 3 файлах.
📊 Статистика:
📁 Файлов обработано: 0
🔄 Замен выполнено: 0
❌ Ошибок: 0
💡 Для выполнения замен запустите команду без флага --dry-run
```
## Безопасность
- Всегда используйте `--dry-run` для предварительного просмотра
- Создайте резервную копию проекта перед выполнением конвертации
- Программа автоматически исключает системные директории
## Поддерживаемые паттерны
Программа ищет VW значения в следующих форматах:
- `10vw`
- `5.5vw`
- `100vw`
- `0.5vw`
## Ограничения
- Пока поддерживается только конвертация VW в PX
- Конвертация PX в VW будет добавлена в будущих версиях
- Программа не обрабатывает сложные CSS-выражения
## Лицензия
MIT License
Raw data
{
"_id": null,
"home_page": "https://github.com/Bluesuma/vw2px",
"name": "vw2px",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.7",
"maintainer_email": "Bluesuma <v1tuze@yandex.ru>",
"keywords": "vw, px, converter, css, vue, react, nextjs, web, development, frontend",
"author": "Bluesuma",
"author_email": "Bluesuma <v1tuze@yandex.ru>",
"download_url": "https://files.pythonhosted.org/packages/ef/c4/dd3bcf81616d323981f0e5765fe75ce86203bab8443dd7270de78474389e/vw2px-1.0.0.tar.gz",
"platform": "any",
"description": "# VW2PX - \u041a\u043e\u043d\u0432\u0435\u0440\u0442\u0435\u0440 VW \u0432 PX\n\n\u041a\u043e\u043d\u0432\u0435\u0440\u0442\u0435\u0440 \u0440\u0430\u0437\u043c\u0435\u0440\u043e\u0432 \u0438\u0437 VW \u0432 PX \u0434\u043b\u044f \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432 Vue, React, Next.js \u0438 \u0434\u0440\u0443\u0433\u0438\u0445 \u0432\u0435\u0431-\u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432.\n\n## \u0412\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438\n\n- \ud83d\udd0d \u0410\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u043f\u043e\u0438\u0441\u043a \u0432\u0441\u0435\u0445 VW \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 \u0432 \u043f\u0440\u043e\u0435\u043a\u0442\u0435\n- \ud83d\udda5\ufe0f \u041a\u043e\u043d\u0432\u0435\u0440\u0442\u0430\u0446\u0438\u044f \u0441 \u043d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043c\u044b\u043c viewport (1920, 1440, 720, 440 \u0438 \u0434\u0440\u0443\u0433\u0438\u0435)\n- \ud83d\udcc1 \u041f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u0430 \u0444\u043e\u0440\u043c\u0430\u0442\u043e\u0432 \u0444\u0430\u0439\u043b\u043e\u0432 (JS, TS, Vue, CSS, SCSS \u0438 \u0434\u0440.)\n- \ud83d\udd12 \u0411\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u044b\u0439 \u0440\u0435\u0436\u0438\u043c \u043f\u0440\u0435\u0434\u0432\u0430\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u0441\u043c\u043e\u0442\u0440\u0430\n- \ud83d\udcca \u041f\u043e\u0434\u0440\u043e\u0431\u043d\u0430\u044f \u0441\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u043a\u0430 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438\n- \ud83c\udfa8 \u0426\u0432\u0435\u0442\u043d\u043e\u0439 \u0432\u044b\u0432\u043e\u0434 \u0432 \u0442\u0435\u0440\u043c\u0438\u043d\u0430\u043b\u0435\n\n## \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430\n\n### \u0427\u0435\u0440\u0435\u0437 pip (\u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u0435\u0442\u0441\u044f)\n\n```bash\npip install vw2px\n```\n\n### \u0418\u0437 \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0433\u043e \u043a\u043e\u0434\u0430\n\n1. \u041a\u043b\u043e\u043d\u0438\u0440\u0443\u0439\u0442\u0435 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439 \u0438\u043b\u0438 \u0441\u043a\u0430\u0447\u0430\u0439\u0442\u0435 \u0444\u0430\u0439\u043b\u044b\n2. \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0435 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438:\n\n```bash\npip install -r requirements.txt\n```\n\n## \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\n\n### \u0411\u0430\u0437\u043e\u0432\u043e\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\n\n```bash\nvw2px --path /\u043f\u0443\u0442\u044c/\u043a/\u0432\u0430\u0448\u0435\u043c\u0443/\u043f\u0440\u043e\u0435\u043a\u0442\u0443\n```\n\n### \u0421 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u043e\u0439 viewport\n\n```bash\nvw2px --path /\u043f\u0443\u0442\u044c/\u043a/\u043f\u0440\u043e\u0435\u043a\u0442\u0443 --viewport 1440\n```\n\n### \u041f\u0440\u0435\u0434\u0432\u0430\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u043f\u0440\u043e\u0441\u043c\u043e\u0442\u0440 (\u0431\u0435\u0437 \u0432\u043d\u0435\u0441\u0435\u043d\u0438\u044f \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439)\n\n```bash\nvw2px --path /\u043f\u0443\u0442\u044c/\u043a/\u043f\u0440\u043e\u0435\u043a\u0442\u0443 --dry-run\n```\n\n### \u041f\u043e\u043b\u043d\u044b\u0439 \u043f\u0440\u0438\u043c\u0435\u0440\n\n```bash\nvw2px \\\n --path ./my-react-project \\\n --viewport 1920 \\\n --type vw-to-px \\\n --dry-run\n```\n\n## \u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b\n\n| \u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 | \u0421\u043e\u043a\u0440\u0430\u0449\u0435\u043d\u0438\u0435 | \u041e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 | \u041f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e |\n|----------|------------|----------|--------------|\n| `--path` | `-p` | \u041f\u0443\u0442\u044c \u043a \u043f\u0440\u043e\u0435\u043a\u0442\u0443 | \u041e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0439 |\n| `--viewport` | `-v` | \u0428\u0438\u0440\u0438\u043d\u0430 viewport \u0434\u043b\u044f \u043a\u043e\u043d\u0432\u0435\u0440\u0442\u0430\u0446\u0438\u0438 | 1920 |\n| `--dry-run` | `-d` | \u0422\u043e\u043b\u044c\u043a\u043e \u043f\u0440\u0435\u0434\u0432\u0430\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u043f\u0440\u043e\u0441\u043c\u043e\u0442\u0440 | False |\n| `--type` | `-t` | \u0422\u0438\u043f \u043a\u043e\u043d\u0432\u0435\u0440\u0442\u0430\u0446\u0438\u0438 (vw-to-px/px-to-vw) | vw-to-px |\n\n## \u041f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u043c\u044b\u0435 \u0444\u043e\u0440\u043c\u0430\u0442\u044b \u0444\u0430\u0439\u043b\u043e\u0432\n\n- JavaScript: `.js`, `.jsx`\n- TypeScript: `.ts`, `.tsx`\n- Vue: `.vue`\n- HTML: `.html`\n- CSS: `.css`, `.scss`, `.sass`, `.less`, `.styl`\n- JSON: `.json`\n- Markdown: `.md`\n- \u0422\u0435\u043a\u0441\u0442\u043e\u0432\u044b\u0435 \u0444\u0430\u0439\u043b\u044b: `.txt`\n\n## \u0418\u0441\u043a\u043b\u044e\u0447\u0430\u0435\u043c\u044b\u0435 \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u0438\n\n\u0410\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0438\u0441\u043a\u043b\u044e\u0447\u0430\u044e\u0442\u0441\u044f \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u0438:\n- `node_modules`\n- `.git`\n- `.next`\n- `dist`\n- `build`\n- `.nuxt`\n- `.cache`\n- `coverage`\n- `.vscode`\n- `.idea`\n\n## \u041f\u0440\u0438\u043c\u0435\u0440\u044b \u043a\u043e\u043d\u0432\u0435\u0440\u0442\u0430\u0446\u0438\u0438\n\n### VW \u0432 PX (viewport 1920px)\n\n| VW | PX |\n|----|----|\n| 1vw | 19.2px |\n| 10vw | 192px |\n| 50vw | 960px |\n| 100vw | 1920px |\n\n### VW \u0432 PX (viewport 1440px)\n\n| VW | PX |\n|----|----|\n| 1vw | 14.4px |\n| 10vw | 144px |\n| 50vw | 720px |\n| 100vw | 1440px |\n\n## \u041f\u0440\u0438\u043c\u0435\u0440 \u0432\u044b\u0432\u043e\u0434\u0430\n\n```\n\ud83d\ude80 VW to PX Converter\n==================================================\n\ud83d\udcc1 \u041f\u0440\u043e\u0435\u043a\u0442: ./my-project\n\ud83d\udda5\ufe0f Viewport: 1920px\n\ud83d\udd04 \u0422\u0438\u043f \u043a\u043e\u043d\u0432\u0435\u0440\u0442\u0430\u0446\u0438\u0438: vw-to-px\n\ud83d\udd0d \u0420\u0435\u0436\u0438\u043c: \u041f\u0440\u0435\u0434\u0432\u0430\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u043f\u0440\u043e\u0441\u043c\u043e\u0442\u0440\n==================================================\n\ud83d\udd0d \u041f\u043e\u0438\u0441\u043a VW \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 \u0432 \u043f\u0440\u043e\u0435\u043a\u0442\u0435: ./my-project\n\u2705 \u041d\u0430\u0439\u0434\u0435\u043d\u043e 15 VW \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439\n[\u041f\u0420\u0415\u0414\u041f\u0420\u041e\u0421\u041c\u041e\u0422\u0420] ./src/components/Header.vue:25 | 10vw \u2192 192px\n[\u041f\u0420\u0415\u0414\u041f\u0420\u041e\u0421\u041c\u041e\u0422\u0420] ./src/styles/main.css:12 | 5.5vw \u2192 105.6px\n[\u041f\u0420\u0415\u0414\u041f\u0420\u041e\u0421\u041c\u041e\u0422\u0420] ./src/components/Button.jsx:8 | 2vw \u2192 38.4px\n\n\ud83d\udccb \u041f\u0440\u0435\u0434\u0432\u0430\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u043f\u0440\u043e\u0441\u043c\u043e\u0442\u0440 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d. \u041d\u0430\u0439\u0434\u0435\u043d\u043e 15 \u0437\u0430\u043c\u0435\u043d \u0432 3 \u0444\u0430\u0439\u043b\u0430\u0445.\n\n\ud83d\udcca \u0421\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u043a\u0430:\n \ud83d\udcc1 \u0424\u0430\u0439\u043b\u043e\u0432 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0430\u043d\u043e: 0\n \ud83d\udd04 \u0417\u0430\u043c\u0435\u043d \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u043e: 0\n \u274c \u041e\u0448\u0438\u0431\u043e\u043a: 0\n\n\ud83d\udca1 \u0414\u043b\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0437\u0430\u043c\u0435\u043d \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u0443 \u0431\u0435\u0437 \u0444\u043b\u0430\u0433\u0430 --dry-run\n```\n\n## \u0411\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u044c\n\n- \u0412\u0441\u0435\u0433\u0434\u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 `--dry-run` \u0434\u043b\u044f \u043f\u0440\u0435\u0434\u0432\u0430\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u0441\u043c\u043e\u0442\u0440\u0430\n- \u0421\u043e\u0437\u0434\u0430\u0439\u0442\u0435 \u0440\u0435\u0437\u0435\u0440\u0432\u043d\u0443\u044e \u043a\u043e\u043f\u0438\u044e \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u043f\u0435\u0440\u0435\u0434 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435\u043c \u043a\u043e\u043d\u0432\u0435\u0440\u0442\u0430\u0446\u0438\u0438\n- \u041f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0438\u0441\u043a\u043b\u044e\u0447\u0430\u0435\u0442 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0435 \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u0438\n\n## \u041f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u043c\u044b\u0435 \u043f\u0430\u0442\u0442\u0435\u0440\u043d\u044b\n\n\u041f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u0438\u0449\u0435\u0442 VW \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0432 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0445 \u0444\u043e\u0440\u043c\u0430\u0442\u0430\u0445:\n- `10vw`\n- `5.5vw`\n- `100vw`\n- `0.5vw`\n\n## \u041e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u044f\n\n- \u041f\u043e\u043a\u0430 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u043a\u043e\u043d\u0432\u0435\u0440\u0442\u0430\u0446\u0438\u044f VW \u0432 PX\n- \u041a\u043e\u043d\u0432\u0435\u0440\u0442\u0430\u0446\u0438\u044f PX \u0432 VW \u0431\u0443\u0434\u0435\u0442 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0430 \u0432 \u0431\u0443\u0434\u0443\u0449\u0438\u0445 \u0432\u0435\u0440\u0441\u0438\u044f\u0445\n- \u041f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u043d\u0435 \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u0442 \u0441\u043b\u043e\u0436\u043d\u044b\u0435 CSS-\u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u044f\n\n## \u041b\u0438\u0446\u0435\u043d\u0437\u0438\u044f\n\nMIT License\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "\u041a\u043e\u043d\u0432\u0435\u0440\u0442\u0435\u0440 \u0440\u0430\u0437\u043c\u0435\u0440\u043e\u0432 \u0438\u0437 VW \u0432 PX \u0434\u043b\u044f \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432 Vue, React, Next.js \u0438 \u0434\u0440\u0443\u0433\u0438\u0445 \u0432\u0435\u0431-\u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432",
"version": "1.0.0",
"project_urls": {
"Bug Tracker": "https://github.com/Bluesuma/vw2px/issues",
"Documentation": "https://github.com/Bluesuma/vw2px#readme",
"Homepage": "https://github.com/Bluesuma/vw2px",
"Repository": "https://github.com/Bluesuma/vw2px"
},
"split_keywords": [
"vw",
" px",
" converter",
" css",
" vue",
" react",
" nextjs",
" web",
" development",
" frontend"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "d3135640da6a1d8f29ec1edc08d656ff821f668af4f7bf57bbf5de40a8068d97",
"md5": "20ca6ae35540b69338ce2854c2b7f779",
"sha256": "e24819ed207c0934b8167e64f70b07d9c087b36fd1c772d7dee26d2cc512149d"
},
"downloads": -1,
"filename": "vw2px-1.0.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "20ca6ae35540b69338ce2854c2b7f779",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.7",
"size": 10332,
"upload_time": "2025-09-01T02:33:02",
"upload_time_iso_8601": "2025-09-01T02:33:02.897201Z",
"url": "https://files.pythonhosted.org/packages/d3/13/5640da6a1d8f29ec1edc08d656ff821f668af4f7bf57bbf5de40a8068d97/vw2px-1.0.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "efc4dd3bcf81616d323981f0e5765fe75ce86203bab8443dd7270de78474389e",
"md5": "c8f548b970bfa6ee159b5ad4420605d7",
"sha256": "10d417aae0f08e89d27afed19261ab50a2e57e9e881e4177e1e398c0da8aec95"
},
"downloads": -1,
"filename": "vw2px-1.0.0.tar.gz",
"has_sig": false,
"md5_digest": "c8f548b970bfa6ee159b5ad4420605d7",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.7",
"size": 13171,
"upload_time": "2025-09-01T02:33:04",
"upload_time_iso_8601": "2025-09-01T02:33:04.108659Z",
"url": "https://files.pythonhosted.org/packages/ef/c4/dd3bcf81616d323981f0e5765fe75ce86203bab8443dd7270de78474389e/vw2px-1.0.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-09-01 02:33:04",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "Bluesuma",
"github_project": "vw2px",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"requirements": [
{
"name": "click",
"specs": [
[
"==",
"8.1.7"
]
]
},
{
"name": "colorama",
"specs": [
[
"==",
"0.4.6"
]
]
}
],
"lcname": "vw2px"
}