ndVpi
Фоновая оптимизация сети, сканер Wi-Fi и диагностика для Python.
Версия: 1.100.0. Автор: CharmLxt (PyPI: CharmLxt, email: reception.mailspypi@gmail.com).
Библиотека не имеет официального репозитория на GitHub, все обновления и баги обсуждаются напрямую с автором.
ndVpi — это легковесная библиотека, которая работает в фоне и снижает задержку сети. Она умеет сканировать Wi-Fi, показывать подробную информацию о текущем подключении, измерять пинг, джиттер, потери пакетов и скорость в реальном времени, а также проводить быструю диагностику сети с рекомендациями по устранению проблем. Всё это дополняется управлением параметрами сети (DNS, пароль Wi-Fi, адаптеры, MTU). Главная особенность — полная совместимость с CharmPkk: команды ndVpi автоматически регистрируются в терминале Collquan, а интерфейс становится красочным (баннеры, таблицы, Live-дашборд). Если CharmPkk не установлен, ndVpi работает автономно на чистом print, весь функционал сохраняется, только без красок.
Установка
Для базового функционала: pip install ndVpi
Для интеграции с CharmPkk: pip install "ndVpi[charm]"
Быстрый старт
Сканировать Wi-Fi: from ndvpi import WiFiScanner; print(WiFiScanner().current_network())
Информация о сети: from ndvpi import NetworkInfo; print(NetworkInfo().local_ip())
Запустить оптимизатор: from ndvpi import NetworkOptimizer; NetworkOptimizer().start()
Мониторинг в реальном времени: from ndvpi import NetworkMonitor; NetworkMonitor().run(duration=30)
Диагностика: from ndvpi import NetworkDiagnostics; print(NetworkDiagnostics().get_report())
Возможности
Сканирование Wi-Fi. Подробная информация о текущей сети (SSID, BSSID, сигнал, канал, безопасность) и базовый список ближайших сетей. На русской Windows вывод netsh автоматически декодируется из CP866, все поля поддерживаются как на английском, так и на русском языках. Если Windows кэшировал только одну сеть, сканер автоматически повторяет запрос с задержкой 2 секунды.
Информация о подключении. Локальный IP, шлюз по умолчанию, DNS-серверы, задержка до любого хоста. Также есть метод ping_series() для серии пингов с расчётом min/max/avg/jitter/loss.
Оптимизация сети. Оптимизатор работает в фоновом потоке с минимальной нагрузкой на CPU. Устанавливает TCP_NODELAY на сокеты (отключает алгоритм Нейгла, снижая задержку на 20–40 мс) и кэширует DNS-запросы с настраиваемым TTL (по умолчанию 60 секунд). Фоновый поток раз в 30 секунд очищает устаревшие записи кэша.
Управление параметрами сети. Установка и сброс DNS, смена пароля Wi-Fi, включение и выключение сетевых адаптеров, настройка MTU. Все операции поддерживают dry_run (предварительный просмотр команд ОС), требуют подтверждения и корректно работают с русской Windows.
Мониторинг в реальном времени. Показывает пинг (min/avg/max), джиттер, потери пакетов и скорость download/upload в цикле, пока пользователь не остановит. С CharmPkk используется Live-дашборд без мерцания, без CharmPkk — перерисовка через ANSI-escape. Замер скорости выполняется в фоновом потоке, поэтому остальные метрики не блокируются, даже если сеть медленная.
Диагностика сети. Проверяет наличие адаптеров, подключение Wi-Fi, доступность шлюза, разрешение DNS, доступность интернета, потери пакетов и уровень пинга. По результатам формирует отчёт с вероятной причиной проблемы и конкретной рекомендацией (например, «смените DNS на 1.1.1.1»). С CharmPkk отчёт отрисовывается в виде красивой таблицы, без CharmPkk — читаемым текстом.
История и экспорт. Все замеры пинга и скорости за сессию сохраняются в памяти. По команде можно экспортировать их в JSON или CSV в папку ~/.ndvpi/reports/.
Интерактивное меню
После установки доступна команда ndvpi. Она открывает меню, где можно сканировать сети, смотреть информацию о подключении, запускать мониторинг и диагностику, управлять оптимизатором и параметрами сети. Если CharmPkk установлен, меню становится цветным с навигацией стрелками; если нет — обычное нумерованное меню с вводом цифрой.
Интеграция с CharmPkk
Если CharmPkk установлен, при импорте ndvpi в Collquan автоматически появляются команды:
ndscan — показать текущую Wi-Fi сеть.
ndinfo — IP, шлюз, DNS, пинг.
ndopt start / ndopt stop — управление оптимизатором.
ndstatus — статус оптимизатора.
nddns show / nddns set ... / nddns reset — управление DNS.
ndpass — смена пароля Wi-Fi (с подтверждением).
ndadapters list / ndadapters enable / ndadapters disable — управление адаптерами.
ndmtu [new_mtu] — настройка MTU.
ndadmin — проверка прав администратора.
ndlive — мониторинг в реальном времени.
nddiag — диагностика сети с отчётом и рекомендациями.
ndexport — экспорт истории сессии в JSON и CSV.
Пример в Collquan: ndscan
Права администратора
Все операции, изменяющие параметры сети (DNS, пароль Wi-Fi, состояние адаптеров, MTU), требуют прав администратора. Без них ndVpi не падает, а возвращает понятное сообщение «Требуются права администратора». Запускайте терминал от имени администратора, если хотите использовать эти функции. Диагностика и мониторинг работают без прав.
Требования
Python 3.8+.
Windows, Linux или macOS.
Опционально: CharmPkk 1.26.0+ для красочного интерфейса и интеграции с Collquan.
Связь с автором
По вопросам и предложениям: reception.mailspypi@gmail.com
Metadata
Release files for ndVpi 1.100.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| ndvpi-1.100.0.tar.gz | 21.1 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| ndvpi-1.100.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 47.6 kB
Release files / ndvpi-1.100.0.tar.gz
| Download URL | ndvpi-1.100.0.tar.gz |
|---|---|
| Size | 21.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
396f6ca1ac75293b004856a0bc54cab24f311bbc9707d952eb5e0202869f91a6
|
|
BLAKE2b-256 checksum How to use checksums |
7b67a76c9c64d31e3f9b5505aa10bd567fc48b759d3653872683ce45fd4b4777
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.3
|
Release files / ndvpi-1.100.0-py3-none-any.whl
| Download URL | ndvpi-1.100.0-py3-none-any.whl |
|---|---|
| Size | 26.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
438be92ef229f66dd9ba718dc26ca85ec777e50c58eac3077f53640e2c2e2270
|
|
BLAKE2b-256 checksum How to use checksums |
eaf3ccf8b72644715149a28236d097b5a576658e41b235794182cb15e1006750
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.3
|
Security for ndVpi 1.100.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.